Options

ElemCo.ECInfos.OptionsType

Options for ElemCo.jl.

  • wf::ElemCo.ECInfos.WfOptions: Wavefunction options (WfOptions).

  • scf::ElemCo.ECInfos.ScfOptions: SCF options (ScfOptions).

  • int::ElemCo.ECInfos.IntOptions: Integral options (IntOptions).

  • cc::ElemCo.ECInfos.CcOptions: Coupled-Cluster options (CcOptions).

  • dmrg::ElemCo.ECInfos.DmrgOptions: DMRG options (DmrgOptions).

  • cholesky::ElemCo.ECInfos.CholeskyOptions: Cholesky options (CholeskyOptions).

  • diis::ElemCo.ECInfos.DiisOptions: DIIS options (DiisOptions).

ElemCo.ECInfos.CcOptionsType

Options for Coupled-Cluster calculation.

  • thr::Float64: ⟨1.e-10⟩ convergence threshold.

  • maxit::Int64: ⟨50⟩ maximum number of iterations.

  • shifts::Float64: ⟨0.15⟩ level shift for singles.

  • shiftp::Float64: ⟨0.2⟩ level shift for doubles.

  • shiftt::Float64: ⟨0.2⟩ level shift for triples.

  • properties::Bool: ⟨false⟩ calculate properties.

  • ampsvdtol::Float64: ⟨1.e-3⟩ amplitude decomposition threshold.

  • ampsvdfac::Float64: ⟨1.e-2⟩ tightening amplitude decomposition factor (for the two-step decomposition).

  • use_kext::Bool: ⟨true⟩ use kext for doubles residual.

  • calc_d_vvvv::Bool: ⟨false⟩ calculate dressed <vv|vv>.

  • calc_d_vvvo::Bool: ⟨false⟩ calculate dressed <vv|vo>.

  • calc_d_vovv::Bool: ⟨false⟩ calculate dressed <vo|vv>.

  • calc_d_vvoo::Bool: ⟨false⟩ calculate dressed <vv|oo>.

  • calc_t3_for_decomposition::Bool: ⟨false⟩ calculate (T) for decomposition.

  • deco_ishiftp::Float64: ⟨0.0⟩ imaginary shift for denominator in doubles decomposition.

  • deco_ishiftt::Float64: ⟨0.0⟩ imaginary shift for denominator in triples decomposition.

  • use_projx::Bool: ⟨false⟩ use a projected exchange for contravariant doubles amplitudes in SVD-DCSD, $\tilde T_{XY} = U^{†a}_{iX} U^{†b}_{jY} \tilde T^{ij}_{ab}$.

  • use_full_t2::Bool: ⟨false⟩ use full doubles amplitudes in SVD-DCSD. The decomposition is used only for $N^6$ scaling terms.

  • project_vovo_t2::Int64: ⟨2⟩ what to project in $v_{ak}^{ci} T^{kj}_{cb}$ in SVD-DCSD: 0: both, 1: amplitudes, 2: residual, 3: robust fit.

  • decompose_full_doubles::Bool: ⟨false⟩ decompose full doubles amplitudes in SVD-DCSD (slow).

  • start::String: ⟨"cc_amplitudes"⟩ main part of filename for start amplitudes. For example, the singles amplitudes are read from start*"_1".

  • save::String: ⟨"cc_amplitudes"⟩ main part of filename to save amplitudes. For example, the singles amplitudes are saved to save*"_1".

  • start_lm::String: ⟨"cc_multipliers"⟩ main part of filename for start Lagrange multipliers. For example, the singles Lagrange multipliers are read from start_lm*"_1".

  • save_lm::String: ⟨"cc_multipliers"⟩ main part of filename to save Lagrange multipliers. For example, the singles Lagrange multipliers are saved to save_lm*"_1".

  • nomp2::Int64: ⟨0⟩ Don't use MP2 amplitudes as starting guess for the CC amplitudes.

  • mp2_ssfac::Float64: ⟨0.33⟩ Factor for same-spin component in SCS-MP2.

  • mp2_osfac::Float64: ⟨1.2⟩ Factor for opposite-spin component in SCS-MP2.

  • mp2_ofac::Float64: ⟨0.0⟩ Factor for open-shell component in SCS-MP2.

  • ccsd_ssfac::Float64: ⟨1.13⟩ Factor for same-spin component in SCS-CCSD.

  • ccsd_osfac::Float64: ⟨1.27⟩ Factor for opposite-spin component in SCS-CCSD.

  • ccsd_ofac::Float64: ⟨0.0⟩ Factor for open-shell component in SCS-CCSD.

  • dcsd_ssfac::Float64: ⟨1.15⟩ Factor for same-spin component in SCS-DCSD.

  • dcsd_osfac::Float64: ⟨1.05⟩ Factor for opposite-spin component in SCS-DCSD.

  • dcsd_ofac::Float64: ⟨0.15⟩ Factor for open-shell component in SCS-DCSD.

ElemCo.ECInfos.CholeskyOptionsType

Options for Cholesky decomposition.

  • thred::Float64: ⟨1.e-6⟩ threshold for elimination of redundancies in the auxiliary basis.

  • thr::Float64: ⟨1.e-4⟩ threshold for integral decomposition.

ElemCo.ECInfos.DiisOptionsType

Options for DIIS.

  • maxdiis::Int64: ⟨6⟩ maximum number of DIIS vectors.

  • resthr::Float64: ⟨10.0⟩ DIIS residual threshold.

  • crop::Bool: ⟨false⟩ CROP-DIIS (see JCTC 11, 1518 (2015)). Usually the DIIS dimension maxcrop=3 is sufficient.

  • maxcrop::Int64: ⟨3⟩ DIIS dimension for CROP-DIIS.

ElemCo.ECInfos.DmrgOptionsType

Options for DMRG calculation.

  • nsweeps::Int64: ⟨10⟩ number of sweeps.

  • maxdim::Vector{Int64}: ⟨[100, 200]⟩ maximum size for the bond dimension.

  • cutoff::Float64: ⟨1e-6⟩ cutoff for the singular value decomposition.

  • noise::Vector{Float64}: ⟨[1e-6, 1e-7, 1e-8, 0.0]⟩ strength of the noise term used to aid convergence.

ElemCo.ECInfos.IntOptionsType

Options for integral calculation.

  • df::Bool: ⟨true⟩ use density-fitted integrals.

  • fcidump::String: ⟨""⟩ store integrals in FCIDump format.

  • cartesian::Bool: ⟨false⟩ use Cartesian subshells instead of Spherical.

ElemCo.ECInfos.ScfOptionsType

Options for SCF calculation.

  • thr::Float64: ⟨1.e-10⟩ convergence threshold.

  • thren::Float64: ⟨sqrt(thr)*0.1⟩ energy convergence threshold (used additionally to thr).

  • maxit::Int64: ⟨50⟩ maximum number of iterations.

  • imagtol::Float64: ⟨1.e-8⟩ tolerance for imaginary part of MO coefs (for biorthogonal).

  • direct::Bool: ⟨false⟩ direct calculation without storing integrals.

  • guess::Symbol: ⟨:SAD⟩ orbital guess:

    • :HCORE from core Hamiltonian
    • :SAD from atomic densities
    • :GWH not implemented yet
    • :ORB from previous orbitals stored in file WfOptions.orb
  • bisecdamp::Float64: ⟨0.5⟩ damping factor for bisection search in augmented Hessian tuning.

  • maxit4lambda::Int64: ⟨3⟩ maximum number of iterations for searching for lambda value to get a reasonalbe guess within trust radius for MCSCF.

  • HessianType::Symbol: ⟨:SO_SCI⟩ Hessian Type for MCSCF:

    • :SO Second Order Approximation
    • :SCI Super CI
    • :SO_SCI Second Order Approximation combing Super CI
  • initVecType::Symbol: ⟨:GRADIENT_SETPLUS⟩ Initial Vectors Type for MCSCF:
    • :RANDOM one random vector
    • :INHERIT from last macro/micro iterations
    • :GRADIENT_SET b0 as [1,0,0,...], b1 as gradient
    • :GRADIENT_SETPLUS b0, b1 as GRADIENT_SET, b2 as zeros but 1 at the first closed-virtual rotation parameter
  • temperature_guess::Float64: ⟨0.0⟩ Fermi-Dirac temperature for starting guess (at the moment works only for BO-HF).

  • gamaDavScale::Float64: ⟨0.1⟩ the threshold of davidson convergence residure norm scaled to norm of g the gradient, for MCSCF.

  • SO_SCI_origin::Any: ⟨true⟩ if true then use the original SO_SCI Hessian

  • trustScale::Any: ⟨0.8⟩ the trust region of sqrt(sum(x.^2)) should be [trustScale,1] * trust

  • lambdaMax::Any: ⟨1000.0⟩ the maximum number of lambda when adjusting the level shift

  • davErrorMin::Any: ⟨1e-6⟩ the minmum convergence threshold for davidson algorithm

  • iniDavMatSize::Any: ⟨200⟩ the size of initial Davidson projected matrix

  • trustShrinkScale::Any: ⟨0.7⟩ the shrink scale of trust region

  • trustExpandScale::Any: ⟨1.2⟩ the expand scale of trust region

  • enerQuotientLowerBound::Any: ⟨0.25⟩ when energy quotient is lower than this value, the trust value should be smaller

  • enerQuotientUpperBound::Any: ⟨0.75⟩ when energy quotient is higher than this value, the trust value should be larger

  • pseudo::Bool: ⟨false⟩ Generate pseudo-canonical basis instead of solving the SCF problem, i.e., build and block-diagonalize the Fock matrix without changing the Fermi level. At the moment, it works only for BO-HF.

ElemCo.ECInfos.WfOptionsType

Options for wavefunction/orbitals.

  • ms2::Int64: ⟨-1⟩ spin magnetic quantum number times two (2×mₛ) of the system.

  • nelec::Int64: ⟨-1⟩ number of electrons. If < 0, the number of electrons is read from the FCIDump file or guessed for the neutral system.

  • charge::Int64: ⟨0⟩ charge of the system (relative to nelec/FCIDump/neutral system!).

  • orb::String: ⟨"C_Am"⟩ filename of MO coefficients. Used by all programs to read and write orbitals from/to file.

  • left::String: ⟨"-left"⟩ addition to the filename for left orbitals (for biorthogonal calculations).

  • core::Symbol: ⟨:large⟩ core type for frozen-core approximation:

    • :none no frozen-core approximation,
    • :small semi-core orbitals correlated,
    • :large semi-core orbitals frozen.
  • freeze_nocc::Int64: ⟨-1⟩ number of occupied (core) orbitals to freeze (overwrites core).

  • freeze_nvirt::Int64: ⟨0⟩ number of virtual (highest) orbitals to freeze.

  • occa::String: ⟨"-"⟩ occupied α (or closed-shell) orbitals. 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".

  • occb::String: ⟨"-"⟩ occupied β orbitals. If occb::String is empty, the occupied β orbitals are the same as the occupied α orbitals (closed-shell case).

  • ignore_error::Bool: ⟨false⟩ ignore various errors in sanity checks.

  • print_nlargest::Int64: ⟨5⟩ number of largest orbitals to print.

  • print_thr::Float64: ⟨0.1⟩ threshold for orbital coefficients to print.