QCEngine
Quantum chemistry program executor and IO standardizer (QCSchema) for quantum chemistry.
Program Execution
A simple example of QCEngine’s capabilities is as follows:
>>> 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
>>> """)
>>> model = qcel.models.AtomicInput(
>>> molecule=mol,
>>> driver="energy",
>>> model={"method": "SCF", "basis": "sto-3g"},
>>> keywords={"scf_type": "df"}
>>> )
These input specifications can be executed with the compute
syntax along with a program specifier:
>>> ret = qcng.compute(model, "psi4")
The results contain a complete record of the computation:
>>> ret.return_result
-74.45994963230625
>>> ret.properties.scf_dipole_moment
[0.0, 0.0, 0.6635967188869244]
>>> ret.provenance.cpu
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Backends
Currently available compute backends for single results are as follow:
Quantum Chemistry:
Semi-Emperical:
AI Potential:
Molecular Mechanics:
Analytical Corrections:
In addition, several procedures are available:
Configuration Determination
In addition, QCEngine can automatically determine the following quantites:
The number of physical cores on the system and to use.
The amount of physical memory on the system and the amount to use.
The provenance of a computation (hardware, software versions, and compute resources).
Location of scratch disk space.
Location of quantum chemistry programs binaries or Python modules.
Each of these options can be specified by the user as well.
>>> qcng.get_config()
<JobConfig ncores=2 memory=2.506 scratch_directory=None>
>>> qcng.get_config(task_config={"scratch_directory": "/tmp"})
<JobConfig ncores=2 memory=2.506 scratch_directory='/tmp'>
>>> os.environ["SCRATCH"] = "/my_scratch"
>>> qcng.get_config(task_config={"scratch_directory": "$SCRATCH"})
<JobConfig ncores=2 memory=2.506 scratch_directory='/my_scratch'>
Program and Procedure Information
Available programs and procedures may be printed using the CLI:
>>> qcengine info
>> Version information
QCEngine version: v0.11.0
QCElemental version: v0.11.0
>> Program information
Available programs:
mopac v2016
psi4 v1.3.2
rdkit v2019.03.4
Other supported programs:
cfour dftd3 entos gamess molpro mp2d nwchem terachem torchani
...
Index
Getting Started
User Interface
Programs
Developer Documentation