Interface to MRCC by M. Kállay¶
Code author: Justin M. Turney and Andrew C. Simmonett
Section author: Justin M. Turney
Module: Keywords, PSI Variables, MRCC, Samples
PSI4 contains code to interface to the MRCC program of M. Kállay and J. Gauss. The license and source code of the MRCC program must be obtained from Mihály Kállay (https://www.mrcc.hu/).
Installation¶
Follow the instructions provided with the source to build the MRCC programs.
To be used by PSI4, ensure that the program binary (dmrcc
) can be
found in your PATH
. If PSI4 is unable to execute the binary, an
error will be reported.
Running MRCC¶
MRCC can be invoked in similar fashion as other theories provided in PSI4.
To indicate MRCC as the target software, set QC_MODULE=MRCC
.
This is a change as of October 2022; previously, one prefixed the method by “mr”
to indicate MRCC (e.g., energy('mrccsdt')
).
For example, if you want to obtain the CCSDT energy for water with cc-pVDZ using
MRCC simply provide the following:
molecule h2o {
O
H 1 1.0
H 1 1.0 2 104.5
}
set {
basis cc-pVDZ
qc_module mrcc
}
energy('ccsdt')
'ccsdt'
in the call to energy()
plus qc_module=mrcc
instructs PSI4 to first
perform an RHF calculation and then call MRCC to compute the CCSDT energy.
Here the qc_module=mrcc
is optional since PSI4 has no builtin module
that can perform CCSDT. For a method like CCSD, no specification of QC_MODULE
will default to the CCENERGY module, and specification with value mrcc
is
required to route the computation to the MRCC program.
For a CCSDT(Q) energy, simply use 'ccsdt(q)'
in the call to
energy()
. MRCC can be used to perform geometry optimization and
frequency calculations for electronic ground states only.
At this time, PSI4 is only able to automatically generate the proper
input file for MRCC for the methods listed in table below.
To utilize any method described in the table, you can call it directly
For other methods, you will be required to
use the MRCC keywords described in Appendix MRCC.
Perturbative methods (ccsd(t)
, ccsdtqp(h)_l
, etc.)
are available with REFERENCE ROHF in versions of MRCC published
at least after July 1, 2014.
When using ROHF-CCSDT(Q), MRCC will compute and report two variants: CCSDT(Q)/A and CCSDT(Q)/B. [Kallay:2008:144101] PSI4 will save both energies but will use the CCSDT(Q)/B as the CCSDT(Q) energy. CCSDT(Q)/B has been found to be more robust by Martin. [Martin:2014:785]
QC_MODULE=MRCC
name
calls method in Kallay’s MRCC program [manual]
ccsd
CC through doubles [details]
ccsdt
CC through triples
ccsdtq
CC through quadruples
ccsdtqp
CC through quintuples
ccsdtqph
CC through sextuples
ccsd(t)
CC through doubles with perturbative triples [details]
ccsdt(q)
CC through triples with perturbative quadruples
ccsdtq(p)
CC through quadruples with pertubative quintuples
ccsdtqp(h)
CC through quintuples with pertubative sextuples
ccsd(t)_l
CC through doubles with asymmetric perturbative triples [details]
ccsdt(q)_l
CC through triples with asymmetric perturbative quadruples
ccsdtq(p)_l
CC through quadruples with asymmetric perturbative quintuples
ccsdtqp(h)_l
CC through quintuples with asymmetric perturbative sextuples
ccsdt-1a
CC through doubles with iterative triples (cheapest terms)
ccsdtq-1a
CC through triples with iterative quadruples (cheapest terms)
ccsdtqp-1a
CC through quadruples with iterative quintuples (cheapest terms)
ccsdtqph-1a
CC through quintuples with iterative sextuples (cheapest terms)
ccsdt-1b
CC through doubles with iterative triples (cheaper terms)
ccsdtq-1b
CC through triples with iterative quadruples (cheaper terms)
ccsdtqp-1b
CC through quadruples with iterative quintuples (cheaper terms)
ccsdtqph-1b
CC through quintuples with iterative sextuples (cheaper terms)
cc2
approximate CC through doubles [details]
cc3
approximate CC through triples [details]
cc4
approximate CC through quadruples
cc5
approximate CC through quintuples
cc6
approximate CC through sextuples
ccsdt-3
CC through doubles with iterative triples (all but the most expensive terms)
ccsdtq-3
CC through triples with iterative quadruples (all but the most expensive terms)
ccsdtqp-3
CC through quadruples with iterative quintuples (all but the most expensive terms)
ccsdtqph-3
CC through quintuples with iterative sextuples (all but the most expensive terms)
Frozen-core approximation is also supported in the MRCC interface. To optimize CH4 with CCSDT freezing the 1s on carbon, run:
molecule H2O {
O
H 1 r
H 1 r 2 104.5
r = 1.0
}
set {
basis cc-pVDZ
freeze_core true
}
optimize('ccsdt')
Interface Details¶
Method |
Description |
|
---|---|---|
1 |
CC |
|
2 |
CC(n-1)[n] |
|
3 |
CC(n-1)(n) |
(CC(n-1)[n] energy is also calculated) |
4 |
CC(n-1)(n)_L |
(CC(n-1)[n] and CC(n-1)(n) energies are also calculated) |
5 |
CC(n)-1a |
|
6 |
CC(n)-1b |
|
7 |
CCn |
|
8 |
CC(n)-3 |