QCEngine#
Usage#
To use QCEngine as an MDI engine, follow these steps:
Install QCEngine, following the QCEngine installation guide. Prepare a QCEngine input file that specifies the initial molecular geometry of the system and any other desired settings. At the end of the input file, create an “MDIServer” object and call the “start()” method on it. For example:
import qcengine as qcng
import qcelemental as qcel
mol = qcel.models.Molecule.from_data("""
O 0.0 0.000 -0.129
H 0.0 -1.494 1.027
H 0.0 1.494 1.027
""")
o = qcng.MDIServer(mdi_options = "-role ENGINE -name QM -method TCP -port 8021 -hostname localhost",
program = "psi4",
molecule = mol,
model = {"method": "SCF", "basis": "sto-3g"},
keywords = {"scf_type": "df"})
o.start()
Run the input script as normal. Note that there is NOT a “–mdi” runtime option.
MDI Mechanic QCEngine report#
This repo presents test results for the MDI interface implementation in the QCEngine code.
To view the README.md offline, it is suggested that you use grip (i.e., pip install grip
).
Basic Functionality Tests#
This section provides the results of several tests performed by MDI Mechanic that are intended to verify that this engine meets the most basic requirements of MDI. Any functioning MDI engine must successfully pass all of these tests. The tests are performed in the listed order, and a failure for one test causes all subsequent tests to be skipped and marked as failed.
Developers seeking to implement or maintain MDI support in an engine should resolve the first failed test (if any) and then generate a new report in order to confirm that the test is passed successfully. Additional information about each test, as well as advice on how to resolve a test if it fails, can be obtained by clicking the test’s status badge. If all of these tests are succussfull, developers are encouraged to begin implementing support for any additional MDI nodes and MDI commands that are appropriate for the engine.
Nodes#
The graph indicates which nodes have been implemented in this engine and the connections between them.
Commands#
The following table indicates which MDI Standard commands are supported by this engine at each node. Supported commands are indicated in green, while unsupported commands are indicated in gray.
Supported Commands#
@DEFAULT |
|
---|---|
<@ |
|
<CELL |
|
<CELL_DISPL |
|
<CHARGES |
|
<COORDS |
|
<DIMENSIONS |
|
<ELEC_MULT |
|
<ELEMENTS |
|
<ENERGY |
|
<FORCES |
|
<KE |
|
<KE_ELEC |
|
<KE_NUC |
|
<MASSES |
|
<NAME |
|
<NATOMS |
|
<PE |
|
<PE_ELEC |
|
<PE_NUC |
|
<STRESS |
|
<TOTCHARGE |
|
<VELOCITIES |
|
>+FORCES |
|
>CELL |
|
>CELL_DISPL |
|
>CHARGES |
|
>COORDS |
|
>ELEC_MULT |
|
>ENERGY |
|
>FORCES |
|
>MASSES |
|
>STRESS |
|
>TOTCHARGE |
|
>VELOCITIES |
|
@ |
|
@INIT_MC |
|
@INIT_MD |
|
@INIT_OPTG |
|
EXIT |
Acknowledgements#
Badges are obtained from the project.