MPQC
2.3.1
|
Common Component Architecture (CCA) component wrappers, conforming to interfaces developed for the CCA Chemistry Component Toolkit, have been created to encapsulate some MPQC functionality. The following components are provided by MPQC:
This is an implementation of the Chemistry.QC.ModelFactory interface. This factory produces model objects (implementing the Chemistry.QC.Model interface) based on the MPQC package. The MPQC model allows calculation of molecular energies and energy derivatives using a variety of methods.
The theory and basis parameters allow very basic calculations to be performed. More complex calculations will require the use of a keyval input file. The keyval file format is the same as that used to run MPQC stand-alone, and any valid MPQC options may be used. The molecular energy object must be named model
. The user-supplied keyval cannot contain a molecule section; the molecule section will be automatically inserted by the ModelFactory using the required molecule_filename. This molecule section should be referred to as $:molecule
.
Example keyval input:
model<CLHF>:( molecule=$:molecule basis<GaussianBasisSet>:( name = "6-31G" molecule = $:molecule ) )
This is an implementation of the ChemistryOpt.CoordinateModel interface based on the MPQC package. It supports molecular structure optimization in cartesian, symmetrized internal, and redundant internal coordinates. Hessian approximation is supported.
A backup model factory may be supplied. If an error is detected in the primary model, then a model obtained from the backup factory will be used. The molecule viewer is currently only used to communicate with the python viewer, in which case component instantiation and connection is handled automatically.
This is an implementation of the Chemistry.QC.GaussianBasis.IntegralEvaluatorFactory interface. This factory produces molecular integral evaluator objects based on the MPQC package. This code is experimental and does not currently support derivative integrals.
intv3
or cints
. Defaults to intv3
. opaque
or array
. The opaque
option uses pointers and is therefore higher performance. The array
option may be used by components implemented in languages which are not pointer-aware.