Driver for conventional coupled-cluster methods

The CCDriver module contains the main driver routines for running coupled-cluster calculations.

Exported functions

ElemCo.CCDriver.ccdriverMethod
ccdriver(EC::ECInfo, method; fcidump="", occa="-", occb="-")

Run electronic structure calculation for EC::ECInfo using method::String.

The integrals are read from fcidump::String. If fcidump::String is empty, the integrals from EC.fd are used. The occupied α orbitals are given by occa::String (default: "-"). The occupied β orbitals are given by occb::String (default: "-"). If occb::String is empty, the occupied β orbitals are the same as the occupied α orbitals (closed-shell case). The occupation strings can be given as a + separated list, e.g. occa = 1+2+3 or equivalently 1-3. Additionally, the spatial symmetry of the orbitals can be specified with the syntax orb.sym, e.g. occa = "-5.1+-2.2+-4.3".

ElemCo.CCDriver.dfccdriverMethod
dfccdriver(EC::ECInfo, method)

Run electronic structure calculation for EC::ECInfo using method::String.

The integrals are calculated using density fitting.

Internal functions

ElemCo.CCDriver.check_occsMethod
check_occs(EC::ECInfo, occa, occb)

Check the occupation strings occa and occb and set the corresponding options in WfOptions. Return the previous values of occa and occb.

ElemCo.CCDriver.eval_cc_groundstateMethod
eval_cc_groundstate(EC::ECInfo, ecmethod::ECMethod, energies_in::OutDict; save_pert_t3=false)

Evaluate the coupled-cluster ground-state energy for the integrals in EC.fd. Fock matrix and HF energy must be calculated before. Return the updated energies::OutDict with the correlation energy (method*"c") and the total energy (key method).

ElemCo.CCDriver.eval_df_mo_integralsMethod
eval_df_mo_integrals(EC::ECInfo, energies::OutDict)

Evaluate the density-fitted integrals in MO basis and store in the correct file.

Return the reference energy as HF key in OutDict and true if the integrals are calculated using unresctricted orbitals.

ElemCo.CCDriver.eval_dfcc_groundstateMethod
eval_dfcc_groundstate(EC::ECInfo, ecmethod::ECMethod, energies_in::OutDict)

Evaluate the coupled-cluster ground-state energy for the DF integrals, which have to be calculated before. Return the updated energies::OutDict with the correlation energy (method*"c") and the total energy (key method).

ElemCo.CCDriver.eval_dmrg_groundstateMethod
eval_dmrg_groundstate(EC::ECInfo, energies::OutDict)

Evaluate the DMRG ground-state energy for the integrals in EC.fd. HF energy must be calculated before. Return the updated energies::OutDict with the correlation energy ("DMRGc") and the total energy (key "DMRG").

ElemCo.CCDriver.eval_hf_energyMethod
eval_hf_energy(EC::ECInfo, energies::OutDict, closed_shell)

Evaluate the Hartree-Fock energy for the integrals in EC.fd. Return the updated energies::OutDict with the Hartree-Fock energy (field HF).

ElemCo.CCDriver.eval_mp2_energyMethod
eval_mp2_energy(EC::ECInfo, energies::OutDict, closed_shell, restricted)

Evaluate the MP2 energy for the integrals in EC.fd. Fock matrix and HF energy must be calculated before. Return the updated energies::OutDict with same-spin(MP2-SS), opposite-spin(MP2-OS), open-shell(MP2-O) components, SCS-MP2 energy (SCS-MP2), correlation energy (MP2c) and the MP2 energy (field MP2).

ElemCo.CCDriver.eval_svd_dc_ccsdtMethod
eval_svd_dc_ccsdt(EC::ECInfo, ecmethod::ECMethod, energies::OutDict)

Evaluate the coupled-cluster ground-state energy for the integrals in EC.fd using SVD-Triples. Fock matrix and HF energy must be calculated before. Return the updated energies::OutDict with the correlation energy (method*"c") and the total energy (key method).

ElemCo.CCDriver.output_2d_energyMethod
output_2d_energy(EC::ECInfo, En::OutDict, energies::OutDict, method; print=true)

Print the energy components for 2D methods and return the updated energies::OutDict with singlet("SING"*method), triplet("TRIP"*method), singlet correlation("SING"*method*"c") and triplet correlation("TRIP"*method*"c") components.

ElemCo.CCDriver.output_energyMethod
output_energy(EC::ECInfo, En::OutDict, energies::OutDict, mname; print=true)

Print the energy components and return the updated energies::OutDict with correction to the correlation energy (mname*"-correction", e.g., ΔMP2, if available), same-spin(mname*"-SS"), opposite-spin(mname*"-OS"), open-shell(mname*"-O") components, SCS energy ("SCS-"*mname), correlation energy (mname*"c") and the total energy (field mname).