Driver for conventional coupled-cluster methods
ElemCo.CCDriver — ModuleCCDriverModule for coupled-cluster drivers.
The CCDriver module contains the main driver routines for running coupled-cluster calculations.
Exported functions
ElemCo.CCDriver.ccdriver — Methodccdriver(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.dfccdriver — Methoddfccdriver(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_fcidump — Methodcheck_fcidump(EC::ECInfo, fcidump)Read the integrals from fcidump if it is not empty.
ElemCo.CCDriver.check_occs — Methodcheck_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.checkset_unrestricted_closedshell! — Methodcheckset_unrestricted_closedshell!(ecmethod::ECMethod, closed_shell, unrestricted)Check if the method is unrestricted/closed-shell and if necessary set the corresponding options in ECMethod. Return closed_shell_method::Bool.
ElemCo.CCDriver.eval_cc_groundstate — Methodeval_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_integrals — Methodeval_df_mo_integrals(EC::ECInfo, energies::OutDict; save3idx=true)Evaluate the density-fitted integrals in MO basis and store in the correct file. If save3idx is true, save the 3-index integrals, otherwise only the 2-index integrals.
Return the reference energy as HF key in OutDict and true if the integrals are calculated using unrestricted orbitals.
ElemCo.CCDriver.eval_dmrg_groundstate — Methodeval_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_energy — Methodeval_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_energy — Methodeval_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_ccsdt — Methodeval_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_energy — Methodoutput_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_energy — Methodoutput_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).