[0b990d] | 1 |
|
---|
| 2 | /** \page mpqccomponents CCA Components
|
---|
| 3 |
|
---|
| 4 | Common Component Architecture (CCA) component wrappers, conforming to interfaces
|
---|
| 5 | developed for the
|
---|
| 6 | <a href="http://www.cca-forum.org/~cca-chem">CCA Chemistry Component Toolkit</a>,
|
---|
| 7 | have been created to encapsulate some MPQC functionality.
|
---|
| 8 | The following components are provided by MPQC:
|
---|
| 9 |
|
---|
| 10 |
|
---|
| 11 | <ul>
|
---|
| 12 | <li> \ref modelfac
|
---|
| 13 | <li> \ref coormodel
|
---|
| 14 | <li> \ref evalfac
|
---|
| 15 | </ul>
|
---|
| 16 |
|
---|
| 17 | \section modelfac MPQC.Chemistry_QC_ModelFactory
|
---|
| 18 |
|
---|
| 19 | This is an implementation of the Chemistry.QC.ModelFactory interface.
|
---|
| 20 | This factory produces model objects (implementing the Chemistry.QC.Model
|
---|
| 21 | interface) based on the MPQC package. The MPQC model allows calculation
|
---|
| 22 | of molecular energies and energy derivatives using a variety of methods.
|
---|
| 23 |
|
---|
| 24 | \subsection modelfacpp Provides Ports
|
---|
| 25 | <ul>
|
---|
| 26 | <li>Chemistry.QC.ModelFactory <em>ModelFactory</em>
|
---|
| 27 | </ul>
|
---|
| 28 |
|
---|
| 29 | \subsection modelfacup Uses Ports
|
---|
| 30 | <ul>
|
---|
| 31 | <li>Chemistry.QC.MoleculeFactory <em>MoleculeFactory</em> (required)
|
---|
| 32 | </ul>
|
---|
| 33 |
|
---|
| 34 | \subsection modelfacparam Parameters
|
---|
| 35 | <ul>
|
---|
| 36 | <li><b>theory</b> The method for determining the electronic structure.
|
---|
| 37 | Defaults to HF.
|
---|
| 38 | <ul>
|
---|
| 39 | <li> <em>HF</em> Hartree-Fock method.
|
---|
| 40 | <li> <em>B3LYP</em> Density Functional Theory (DFT) with
|
---|
| 41 | B3LYP functional.
|
---|
| 42 | <li> Use keyval input for other options.
|
---|
| 43 | </ul>
|
---|
| 44 | <li><b>basis</b> The atomic orbital basis set. Defaults to <em>STO-3G</em>.
|
---|
| 45 | <ul>
|
---|
| 46 | <li> Any basis set defined in the MPQC package.
|
---|
| 47 | <li> Use keyval input for mixed basis sets.
|
---|
| 48 | </ul>
|
---|
| 49 | <li><b>molecule_filename</b> Path to the molecule file (see cca-chem-generic
|
---|
| 50 | documentation for format). No default -- required.
|
---|
| 51 | <li><b>keyval_filename</b> Path to the keyval input file (see below).
|
---|
| 52 | No default -- optional.
|
---|
| 53 | </ul>
|
---|
| 54 |
|
---|
| 55 | \subsection modelfackeyval Keyval Input
|
---|
| 56 | The <b>theory</b> and <b>basis</b> parameters allow very basic calculations
|
---|
| 57 | to be performed. More complex calculations will require the use of a
|
---|
| 58 | keyval input file. The keyval file format is the same as that used to run
|
---|
| 59 | MPQC stand-alone, and any valid MPQC options may be used. The molecular
|
---|
| 60 | energy object must be named <tt>model</tt>. The user-supplied keyval
|
---|
| 61 | cannot contain a molecule section; the molecule section will
|
---|
| 62 | be automatically inserted by the ModelFactory using the required
|
---|
| 63 | <b>molecule_filename</b>. This molecule section should be referred to as
|
---|
| 64 | <tt>$:molecule</tt>.
|
---|
| 65 |
|
---|
| 66 | Example keyval input:
|
---|
| 67 | <pre>
|
---|
| 68 | model<CLHF>:(
|
---|
| 69 | molecule=$:molecule
|
---|
| 70 | basis<GaussianBasisSet>:(
|
---|
| 71 | name = "6-31G"
|
---|
| 72 | molecule = $:molecule
|
---|
| 73 | )
|
---|
| 74 | )
|
---|
| 75 | </pre>
|
---|
| 76 |
|
---|
| 77 | \section coormodel MPQC.ChemistryOpt_CoordinateModel
|
---|
| 78 |
|
---|
| 79 | This is an implementation of the ChemistryOpt.CoordinateModel interface based
|
---|
| 80 | on the MPQC package. It supports molecular structure optimization in
|
---|
| 81 | cartesian, symmetrized internal, and redundant internal coordinates.
|
---|
| 82 | Hessian approximation is supported.
|
---|
| 83 |
|
---|
| 84 | \subsection coormodelpp Provides Ports
|
---|
| 85 | <ul>
|
---|
| 86 | <li> ChemistryOpt.CoordinateModel <em>CoordinateModel</em>
|
---|
| 87 | </ul>
|
---|
| 88 |
|
---|
| 89 | \subsection coormodelup Uses Ports
|
---|
| 90 | <ul>
|
---|
| 91 | <li> Chemistry.QC.ModelFactory <em>ModelFactory</em> (required)
|
---|
| 92 | <li> Chemistry.QC.ModelFactory <em>BackupModelFactory</em> (optional)
|
---|
| 93 | <li> Chemistry.MoleculeViewer <em>MoleculeViewer</em> (optional)
|
---|
| 94 | </ul>
|
---|
| 95 |
|
---|
| 96 | A backup model factory may be supplied. If an error is detected in the
|
---|
| 97 | primary model, then a model obtained from the backup factory will be used.
|
---|
| 98 | The molecule viewer is currently only used to communicate with the
|
---|
| 99 | python viewer, in which case component instantiation and connection
|
---|
| 100 | is handled automatically.
|
---|
| 101 |
|
---|
| 102 | \subsection coormodelparam Parameters
|
---|
| 103 | <ul>
|
---|
| 104 | <li><b>grad_rms</b> RMS gradient convergence criteria. Defaults to 0.00030.
|
---|
| 105 | <li><b>grad_max</b> Max gradient convergence criteria. Defaults to 0.00045.
|
---|
| 106 | <li><b>disp_rms</b> RMS displacement convergence criteria. Defaults to
|
---|
| 107 | 0.00120.
|
---|
| 108 | <li><b>disp_max</b> Max displacement convergence criteria. Defaults to
|
---|
| 109 | 0.00180.
|
---|
| 110 | <li><b>coordinate_type</b> Optimization coordinate type. Defaults to
|
---|
| 111 | <em>symmetrized</em>.
|
---|
| 112 | <ul>
|
---|
| 113 | <li> <em>cartesian</em> Cartesian coordinates.
|
---|
| 114 | <li> <em>symmetrized</em> Symmetrized internal coordinates.
|
---|
| 115 | <li> <em>redundant</em> Redundant internal coordinates.
|
---|
| 116 | </ul>
|
---|
| 117 | <li><b>multiple_guess_h</b> Compute new guess Hessian at each call to
|
---|
| 118 | guess_hessian_solve() (<em>true</em>) or use guess from first iteration
|
---|
| 119 | only (<em>false</em>). Only meaningful
|
---|
| 120 | in conjunction with solvers supporting use of dense guess Hessians
|
---|
| 121 | with limited-memory methods. Defaults to <em>true</em>.
|
---|
| 122 | <li><b>use_current_geom</b> If <b>multiple_guess_h</b> is <em>true</em>,
|
---|
| 123 | either use the current geometry (<em>true</em>) or the geometry at
|
---|
| 124 | which the earliest correction pair used by the solver was determined
|
---|
| 125 | (<em>false</em>) when computing the guess Hessian. Defaults to
|
---|
| 126 | <em>false</em>.
|
---|
| 127 | </ul>
|
---|
| 128 |
|
---|
| 129 | \section evalfac MPQC.IntegralEvaluatorFactory
|
---|
| 130 |
|
---|
| 131 | This is an implementation of the
|
---|
| 132 | Chemistry.QC.GaussianBasis.IntegralEvaluatorFactory interface.
|
---|
| 133 | This factory produces molecular integral evaluator objects
|
---|
| 134 | based on the MPQC package.
|
---|
| 135 | This code is experimental and does not currently support derivative integrals.
|
---|
| 136 |
|
---|
| 137 | \subsection evalfacpp Provides Ports
|
---|
| 138 | <ul>
|
---|
| 139 | <li> Chemistry.QC.GaussianBasis.IntegralEvaluatorFactory
|
---|
| 140 | <em>IntegralEvaluatorFactory</em>
|
---|
| 141 | </ul>
|
---|
| 142 |
|
---|
| 143 | \subsection evalfacparam Parameters
|
---|
| 144 | <ul>
|
---|
| 145 | <li><b>package</b> Integral package, either <tt>intv3</tt> or <tt>cints</tt>.
|
---|
| 146 | Defaults to <tt>intv3</tt>.
|
---|
| 147 | <li><b>integral_buffer</b> Integral buffer type, either <tt>opaque</tt> or <tt>array</tt>.
|
---|
| 148 | The <tt>opaque</tt> option uses pointers and is therefore higher performance.
|
---|
| 149 | The <tt>array</tt> option may be used by components implemented in languages which are
|
---|
| 150 | not pointer-aware.
|
---|
| 151 | </ul>
|
---|
| 152 |
|
---|
| 153 | */
|
---|