11.2.1.4.5. qmmm¶
Executes qmmm calculations for individual molecules and clusters The following table contains the defaults input options for the calculator, The default OPTIONAL means this option is switched off, if no input is given. REQUIRED arguments have to be specified, otherwise an error is thrown.
Property Name |
Default Value |
Description |
Valid Input |
|---|---|---|---|
print_regions_pdb |
true |
print the geometry of the regions to a pdb file |
bool |
max_iterations |
100 |
max iterations for qmmm scf loop |
int+ |
map_file |
votca_map.xml |
xml file with segment definition |
|
job_file |
qmmm_jobs.xml |
name of jobfile to which jobs are written |
|
io_jobfile.states |
n e h |
states to write jobs for and which to parse from jobfile |
|
io_jobfile.segments |
all |
segments to write jobs for and which to parse from jobfile |
|
io_jobfile.use_gs_for_ex |
false |
If true uses the ground state geometry for excited states |
|
regions.qmregion.state |
n |
initial state to track or ground state for dftcalculations |
|
regions.qmregion.gwbse.tasks |
all |
tasks to do |
[gw
singlets
triplets
excitons
exciton_uks
all]
|
regions.qmregion.gwbse.ranges |
default |
default: all levels in RPA, 1:2*HOMO in QP and all in
BSE; other options: factor,explicit
|
default
factor
explicit
full
|
regions.qmregion.gwbse.rpamax |
only needed, if ranges is factor or explicit, number of
levels in rpa
|
||
regions.qmregion.gwbse.qpmin |
only needed, if ranges is factor or explicit, lowest MO
to be used in GW
|
||
regions.qmregion.gwbse.qpmax |
only needed, if ranges is factor or explicit, highest
MO to be used in GW
|
||
regions.qmregion.gwbse.bsemin |
only needed, if ranges is factor or explicit, lowest MO
to be used in BSE
|
||
regions.qmregion.gwbse.bsemax |
only needed, if ranges is factor or explicit, highest
MO to be used in BSE
|
||
regions.qmregion.gwbse.qp_emax |
0 |
cap on the GW window: highest QP level at most this many
eV above the DFT LUMO (a degenerate set is kept whole);
applied on top of ranges, 0 = off
|
float+ |
regions.qmregion.gwbse.qp_emin |
0 |
cap on the GW window: lowest QP level at most this many
eV below the DFT HOMO; 0 = off
|
float+ |
regions.qmregion.gwbse.bse_emax |
0 |
cap on the BSE window: highest virtual level at most this
many eV above the DFT LUMO; 0 = off
|
float+ |
regions.qmregion.gwbse.bse_emin |
0 |
cap on the BSE window: lowest occupied level at most this
many eV below the DFT HOMO; 0 = off
|
float+ |
regions.qmregion.gwbse.ignore_corelevels |
none |
exclude core MO level from calculation on RPA,GW or BSE
level
|
RPA
GW
BSE
none
|
regions.qmregion.gwbse.auxbasisset |
OPTIONAL |
Auxiliary basis set for RI, only used if DFT has no auxiliary
set
|
|
regions.qmregion.gwbse.gw.mode |
evGW |
use single short (G0W0) or self-consistent GW (evGW) |
evGW
G0W0
|
regions.qmregion.gwbse.gw.scissor_shift |
0.0 |
preshift unoccupied MOs by a constant for GW calculation |
float |
regions.qmregion.gwbse.gw.sigma_integrator |
ppm |
self-energy correlation integration method |
ppm
exact
cda
|
regions.qmregion.gwbse.gw.eta |
1e-3 |
small parameter eta of the Green’s function |
float+ |
regions.qmregion.gwbse.gw.alpha |
1e-3 |
parameter to smooth residue and integral calculation for
the contour deformation technique
|
float |
regions.qmregion.gwbse.gw.quadrature_scheme |
legendre |
If CDA is used for sigma integration this set the quadrature
scheme to use
|
hermite
laguerre
legendre
|
regions.qmregion.gwbse.gw.quadrature_order |
12 |
Quadrature order if CDA is used for sigma integration |
8
10
12
14
16
18
20
40
100
|
regions.qmregion.gwbse.gw.qp_solver |
grid |
QP equation solve method |
fixedpoint
grid
|
regions.qmregion.gwbse.gw.qp_grid_search_mode |
adaptive_with_dense_fallback |
grid-search backend for QP root detection |
adaptive
dense
adaptive_with_dense_fallback
|
regions.qmregion.gwbse.gw.qp_root_finder |
brent |
method to refine a sign-change interval of the QP equation
to a root: brent (inverse quadratic interpolation with
bisection safeguard, fewer Sigma evaluations) or bisection;
both stop when the QP residual is below qp_sc_limit
|
bisection
brent
|
regions.qmregion.gwbse.gw.qp_full_window_half_width |
OPTIONAL |
half-width of the full QP search window around the reference
energy
|
float+ |
regions.qmregion.gwbse.gw.qp_dense_spacing |
OPTIONAL |
spacing of the dense QP scan used for robust sign-change
detection
|
float+ |
regions.qmregion.gwbse.gw.qp_adaptive_shell_width |
OPTIONAL |
radial shell width of the adaptive QP scan |
float+ |
regions.qmregion.gwbse.gw.qp_adaptive_shell_count |
OPTIONAL |
number of adaptive shell layers per side; if > 0 it overrides
qp_adaptive_shell_width
|
int+ |
regions.qmregion.gwbse.gw.qp_grid_steps |
OPTIONAL |
DEPRECATED: legacy number of QP grid points; maps to qp_full_window_half_width
and qp_adaptive_shell_width together with qp_grid_spacing
|
int+ |
regions.qmregion.gwbse.gw.qp_grid_spacing |
OPTIONAL |
DEPRECATED: legacy QP grid spacing; maps to qp_dense_spacing
and contributes to qp_full_window_half_width together
with qp_grid_steps
|
float+ |
regions.qmregion.gwbse.gw.qp_restrict_search |
true |
restrict occupied and virtual QP scans away from the zero-energy
crossing region before retrying the full window
|
bool |
regions.qmregion.gwbse.gw.qp_root_continuity |
true |
evGW: from the second iteration on keep each QP level
on the root closest to its previous solution instead of
choosing the root with the largest weight again (stabilises
levels with two roots of comparable weight)
|
bool |
regions.qmregion.gwbse.gw.core_exchange |
true |
with ignore_corelevels=RPA (frozen core): include the
exchange with the core levels in Sigma_x, which Vxc also
contains through the core density. Without it the occupied
QP energies are shifted up by the missing core exchange
(0.6 eV on average for a QM9 molecule)
|
bool |
regions.qmregion.gwbse.gw.qp_root_tracking |
false |
evGW: from the second iteration on search each QP level
only near its root of the previous iteration (window of
a few times its last change, 0.01 to 0.1 Ha) and keep
the closest accepted root unless its weight drops below
half; otherwise, and for levels without such a root, the
full search is used. After convergence one QP solve with
the full search checks the roots, so the result is a fixed
point of the full search. If a level has several such
fixed points (strong satellites), tracking may end on
another one than iterating with the full search does
|
bool |
regions.qmregion.gwbse.gw.screening_update |
adaptive |
evGW: when the screening W is rebuilt. every: in every
iteration. adaptive: the energies in G are iterated with
W fixed and W is rebuilt once their last change is below
screening_update_ratio times their change since W was
built (or after screening_update_max_inner iterations);
converged when the energies change by less than gw_sc_limit
and differ from those of the last W by less than gw_sc_limit,
the same evGW solution
|
every
adaptive
|
regions.qmregion.gwbse.gw.screening_update_ratio |
0.1 |
adaptive screening_update: rebuild W once the last change
of the energies is below this fraction of their change
since W was built
|
float+ |
regions.qmregion.gwbse.gw.screening_update_max_inner |
10 |
adaptive screening_update: rebuild W at the latest after
this many iterations with the same W
|
int+ |
regions.qmregion.gwbse.gw.qp_zero_margin |
1e-6 |
margin below zero used as upper bound for occupied restricted
scans
|
float+ |
regions.qmregion.gwbse.gw.qp_virtual_min_energy |
-0.1 |
lower bound for virtual restricted scans |
float |
regions.qmregion.gwbse.gw.qp_sc_max_iter |
100 |
maximum number of iterations for quasiparticle equation
solution
|
int+ |
regions.qmregion.gwbse.gw.qp_sc_limit |
1e-6 |
quasiparticle equation solver convergence |
float+ |
regions.qmregion.gwbse.gw.sc_max_iter |
50 |
Maximum number of iterations in eVGW |
int+ |
regions.qmregion.gwbse.gw.mixing_order |
3 |
Mixing of QP energies in evGW - 0: plain, 1: linear, >1:
Anderson
|
int+ |
regions.qmregion.gwbse.gw.sc_limit |
1e-5 |
evGW convergence criteria |
float+ |
regions.qmregion.gwbse.gw.mixing_alpha |
0.7 |
mixing alpha, also linear mixing |
float+ |
regions.qmregion.gwbse.gw.do_qsgw |
false |
Run Quasiparticle self-consistent GW after evGW or G0W0 |
bool |
regions.qmregion.gwbse.gw.qsgw_max_iterations |
50 |
maximum number of iterations is QSGW |
int+ |
regions.qmregion.gwbse.gw.qsgw_sc_limit |
1e-5 |
QSGW convergence threshold on QP energies |
float+ |
regions.qmregion.gwbse.gw.qsgw_max_virt_correction |
0.5 |
QSGW: pertGW energy threshold for inclusion of virtual
states
|
float+ |
regions.qmregion.gwbse.gw.qsgw_hartree_update |
true |
QSGW: update the Hartree potential with the QP density
of the active occupied levels (false: keep J of the DFT
density, the behaviour before)
|
bool |
regions.qmregion.gwbse.gw.qsgw_regularization |
eta |
QSGW static self-energy: eta = symmetrised 1/2 Re[Sigma(e_p)
+ Sigma(e_q)] with the broadening eta; srg = similarity-renormalization-group
form (Marie and Loos), Hermitian by construction, terms
damped by 1 - exp(-s (D_p^2 + D_q^2)) with D the distance
from their pole (exact and ppm Sigma)
|
eta
srg
|
regions.qmregion.gwbse.gw.qsgw_srg_s |
500 |
QSGW with qsgw_regularization=srg: flow parameter s; s
= 1/(2 eta^2) matches the eta form to first order (s =
200 for eta = 0.05 Ha); Marie and Loos recommend 500 to
1000
|
float+ |
regions.qmregion.gwbse.gw.qsgw_hartree_screened |
true |
QSGW with environment screening: the Hartree update uses
u = v + v_reac, so the dipoles induced in the environment
follow the QP density (false: bare v, the environment
keeps the response to the DFT density). No effect without
environment screening or with qsgw_hartree_update=false
|
bool |
regions.qmregion.gwbse.gw.out_of_window_shift |
max |
Shift of the RPA energies of levels outside the GW window
(evGW, QSGW): max - largest correction of the occupied/virtual
window levels; nearest - correction of the window boundary
level; linear - linear fit of the corrections near the
boundary, extrapolated at most over the fitted energy
span
|
max
nearest
linear
|
regions.qmregion.gwbse.gw.out_of_window_fit_fraction |
0.3 |
linear out_of_window_shift: fraction of the occupied/virtual
window levels next to the boundary used in the fit (at
least 2 levels)
|
float+ |
regions.qmregion.gwbse.gw.rebuild_3c_freq |
0 |
rebuild the 3c integrals from scratch every this many
evGW iterations; 0 (default) never. The integrals are
only rotated by orthogonal matrices between iterations,
so a rebuild resets rounding at the 1e-12 Ha level
|
int+ |
regions.qmregion.gwbse.gw.sigma_plot.states |
plot sigma(omega) for the following states, e.g 1 3 5 |
||
regions.qmregion.gwbse.gw.sigma_plot.steps |
201 |
points to plot, centred on the DFT energy of each state |
int+ |
regions.qmregion.gwbse.gw.sigma_plot.spacing |
1e-2 |
spacing of points units |
float+ |
regions.qmregion.gwbse.gw.sigma_plot.filename |
QPenergies_sigma.dat |
File with the sigma plot data |
|
regions.qmregion.gwbse.gw.sigma_dump.filename |
sigma_dump.h5 |
HDF5 output file |
|
regions.qmregion.gwbse.gw.sigma_dump.levels_emax |
20 |
pole spectra and imaginary-axis Sigma_c only for levels
up to this energy above the DFT LUMO; 0 = all QP levels
|
float+ |
regions.qmregion.gwbse.gw.sigma_dump.imag_points |
24 |
number of Gauss-Legendre points on the imaginary axis |
int+ |
regions.qmregion.gwbse.gw.sigma_dump.imag_scale |
0.5 |
scale s of the imaginary grid nu = s(1+x)/(1-x) |
float+ |
regions.qmregion.gwbse.gw.sigma_dump.spectral_min |
-3.0 |
lower edge of the pole histogram (absolute energy) |
float |
regions.qmregion.gwbse.gw.sigma_dump.spectral_max |
3.0 |
upper edge of the pole histogram (absolute energy) |
float |
regions.qmregion.gwbse.gw.sigma_dump.spectral_binwidth |
0.02 |
bin width of the pole histogram |
float+ |
regions.qmregion.gwbse.gw.sigma_dump.plot_steps |
201 |
Sigma_c(omega) of all QP levels on this many points around
their DFT energies (as sigma_plot, stored as float32);
0 = off
|
int+ |
regions.qmregion.gwbse.gw.sigma_dump.plot_spacing |
0.01 |
spacing of the Sigma_c(omega) grid |
float+ |
regions.qmregion.gwbse.bse.exctotal |
10 |
maximum number of BSE states to calculate |
int+ |
regions.qmregion.gwbse.bse.useTDA |
false |
use TDA for BSE |
bool |
regions.qmregion.gwbse.bse.dyn_screen_max_iter |
0 |
maximum number of iterations for perturbative dynamical
screening in BSE
|
int+ |
regions.qmregion.gwbse.bse.dyn_screen_tol |
1e-5 |
convergence tolerance for perturbative dynamical screening
in BSE
|
float+ |
regions.qmregion.gwbse.bse.davidson.correction |
DPR |
Davidson correction method |
DPR
OLSEN
|
regions.qmregion.gwbse.bse.davidson.tolerance |
normal |
Numerical tolerance |
loose
normal
strict
lapack
|
regions.qmregion.gwbse.bse.davidson.update |
safe |
how large the search space |
min
safe
max
|
regions.qmregion.gwbse.bse.davidson.maxiter |
50 |
max iterations |
int+ |
regions.qmregion.gwbse.bse.use_Hqp_offdiag |
false |
Using symmetrized off-diagonal elements of QP Hamiltonian
in BSE
|
bool |
regions.qmregion.gwbse.bse.print_weight |
0.5 |
print exciton WF composition weight larger than minimum |
float+ |
regions.qmregion.gwbse.bse.fragments.fragment.indices |
REQUIRED |
indices of atoms in this fragment, e.g. 1 3 13:17 |
|
regions.qmregion.dftpackage.name |
xtp |
Name of the DFT package |
xtp
orca
|
regions.qmregion.dftpackage.charge |
0 |
Molecular charge |
int |
regions.qmregion.dftpackage.spin |
1 |
Molecular multiplicity |
int+ |
regions.qmregion.dftpackage.basisset |
def2-tzvp |
Basis set for MOs |
|
regions.qmregion.dftpackage.auxbasisset |
OPTIONAL |
Auxiliary basis set for RI |
|
regions.qmregion.dftpackage.externalfield |
OPTIONAL |
Field given in x y z components |
|
regions.qmregion.dftpackage.executable |
OPTIONAL |
Path to executable for dftpackage |
|
regions.qmregion.dftpackage.ecp |
OPTIONAL |
Effective Core Potentials for DFT Calculations |
|
regions.qmregion.dftpackage.optimize |
false |
Perform a molecular geometry optimization |
bool |
regions.qmregion.dftpackage.functional |
XC_HYB_GGA_XC_PBEH |
Exchange correlation functional used. You can also specify
an exchange and a correlation functional
|
|
regions.qmregion.dftpackage.scratch |
/tmp/qmpackage |
path to the scratch folder |
|
regions.qmregion.dftpackage.polarization |
false |
Calculate polarisation |
bool |
regions.qmregion.dftpackage.dipole_spacing |
0.1 |
Spacing for splitting multipoles into charges |
float+ |
regions.qmregion.dftpackage.temporary_file |
temp |
Filename for temporary files without extension |
|
regions.qmregion.dftpackage.convergence_tightness |
tight |
How accurate the dft self-consistency has to be |
low
normal
tight
verytight
|
regions.qmregion.dftpackage.cleanup |
files to remove after the calculation. Specify the fileextensions
|
||
regions.qmregion.dftpackage.initial_guess |
atom |
Method to use to make initial guess, independent(electrons)
or atom(densities) or previous calculation keyword orbfile
or dimer_guess (combine two monomer .orb files, see dimer_guess_orbA/orbB
below; closed-shell monomers work for restricted and unrestricted
runs, open-shell monomers need the unrestricted path)
|
independent
atom
orbfile
huckel
huckel_dft
dimer_guess
|
regions.qmregion.dftpackage.dimer_guess_orbA |
Path to monomer A’s own, already-converged .orb file –
only read when initial_guess=dimer_guess. Monomer A’s
atoms must be an exact internal-geometry match (bond lengths/angles,
NOT absolute position – translation/rotation between
the standalone monomer and its placement in the dimer
is expected and fine) for the first N_A atoms of this
calculation’s own molecule.
|
||
regions.qmregion.dftpackage.dimer_guess_orbB |
Same as dimer_guess_orbA, for monomer B – expected to
match this calculation’s own remaining atoms (after monomer
A’s own N_A atoms).
|
||
regions.qmregion.dftpackage.orca |
orca specific keywords can be added here, where the xml
tag corresponds to the option and the value to the option’s
value
|
||
regions.qmregion.dftpackage.xtpdft.dft_in_dft.activeatoms |
Indices of atoms in active region |
||
regions.qmregion.dftpackage.xtpdft.dft_in_dft.threshold |
0.4 |
Mulliken population above which orbital is considered
in the active region
|
|
regions.qmregion.dftpackage.xtpdft.dft_in_dft.levelshift |
10000.0 |
Levelshift energy for the projection operator |
|
regions.qmregion.dftpackage.xtpdft.dft_in_dft.truncate_basis |
false |
Truncate the basis-set to active atoms only |
bool |
regions.qmregion.dftpackage.xtpdft.dft_in_dft.truncation_threshold |
1e-4 |
Threshold to convert an inactive atom to a border atom |
float+ |
regions.qmregion.dftpackage.xtpdft.screening_eps |
1e-9 |
screening eps |
float+ |
regions.qmregion.dftpackage.xtpdft.overlap_tolerance |
1e-8 |
Eigenvalues of the AO overlap matrix below this value
are removed from the orthogonalization (near linear dependencies;
the removed directions become zero orbitals at the top
of the spectrum). Raise to 1e-7 to 1e-6 if the log reports
a nearly singular overlap and the SCF is unstable.
|
float+ |
regions.qmregion.dftpackage.xtpdft.ri_pair_threshold |
1e-10 |
RI only: basis-function shell pairs whose three-centre
integrals (P|ab) are bounded by less than this (Schwarz
bound) are not stored. Reduces the memory of the stored
RI tensor substantially for large molecules; energies
change at the level of the threshold. 0 stores all pairs.
|
float+ |
regions.qmregion.dftpackage.xtpdft.fock_matrix_reset |
5 |
how often the fock matrix is reset |
int+ |
regions.qmregion.dftpackage.xtpdft.integration_grid |
medium |
vxc grid quality |
xcoarse
coarse
medium
fine
xfine
|
regions.qmregion.dftpackage.xtpdft.force_uks_path |
false |
forcing UKS path |
bool |
regions.qmregion.dftpackage.xtpdft.polarizability |
false |
After the SCF, compute the static dipole polarizability
tensor analytically (coupled-perturbed Kohn-Sham with
the three dipole operators; closed-shell states, LDA/GGA/global
hybrids) and store it in the orb (HDF5) file, e.g. as
the target for molpol (qmpackage xtp).
|
bool |
regions.qmregion.dftpackage.xtpdft.compute_forces |
false |
Compute analytic ground-state DFT nuclear forces (RI,
and hybrid-exchange for UKS) and store them in the orb
(HDF5) file. Adds real cost to every converged SCF, so
this is opt-in.
|
bool |
regions.qmregion.dftpackage.xtpdft.cdft.enabled |
false |
Enable a CDFT charge constraint on this calculation |
bool |
regions.qmregion.dftpackage.xtpdft.cdft.indices |
Indices of atoms in the constrained fragment (0-based),
using the same range syntax already used for diabatization.xml’s
own fragment indices, e.g. ‘1 3 13:17’
|
||
regions.qmregion.dftpackage.xtpdft.cdft.charge |
0.0 |
Target charge on the fragment, RELATIVE to its neutral
reference state (the sum of the fragment atoms’ own nuclear
charges) – e.g. +1.0 means one electron REMOVED from
the fragment (a cation), -1.0 means one electron ADDED
(an anion). Converted internally to an absolute target
electron count once, at setup time.
|
float |
regions.qmregion.dftpackage.xtpdft.cdft.initial_lambda |
0.0 |
Initial guess for the Lagrange multiplier lambda, used
as the center of the outer loop’s own bisection bracket
|
float |
regions.qmregion.dftpackage.xtpdft.cdft.population_tolerance |
1e-4 |
Outer-loop convergence criterion: the CDFT calculation
is considered converged once the achieved fragment population
is within this many electrons of the target
|
float+ |
regions.qmregion.dftpackage.xtpdft.cdft.max_iterations |
50 |
Maximum number of outer (Lagrange-multiplier, bisection)
iterations – each one is a full, warm-started inner SCF
|
int+ |
regions.qmregion.dftpackage.xtpdft.cdft.guess_strategy |
warmstart |
How each outer bisection trial’s own inner SCF is started,
after the very first trial. ‘warmstart’ (default) reuses
the immediately PRECEDING trial’s own converged MOs (initial_guess
is forced to ‘orbfile’ internally) for every subsequent
trial – usually helps, since consecutive lambda values
are often close. ‘fresh’ instead re-uses the calculation’s
own original, top-level initial_guess setting for every
trial, never warm-starting from a previous lambda’s own
MOs at all – worth trying if warm-starting itself seems
to be part of a convergence difficulty (e.g. if consecutive
lambda trials correspond to substantially different electronic
structures, a previous trial’s own converged density could
be a worse starting point than a fresh guess, not a better
one).
|
warmstart
fresh
|
regions.qmregion.dftpackage.xtpdft.convergence.energy |
1E-7 |
DeltaE at which calculation is converged |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.method |
DIIS |
Main method to use for convergence accelertation |
DIIS
mixing
|
regions.qmregion.dftpackage.xtpdft.convergence.DIIS_start |
0.002 |
DIIS error at which DIIS takes over |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.ADIIS_start |
0.8 |
DIIS error at which ADIIS takes over |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.DIIS_length |
20 |
old hamiltonians to keep in history |
int+ |
regions.qmregion.dftpackage.xtpdft.convergence.DIIS_maxout |
false |
if true remove the maximum element in the history if DIIS_length
is exceeded.Otherwise, the oldest element is removed.
|
bool |
regions.qmregion.dftpackage.xtpdft.convergence.levelshift |
0.0 |
levelshift to apply to hamiltonian |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.levelshift_end |
0.2 |
DIIS error at levelshifting is disabled |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.max_iterations |
100 |
max iterations to use |
int+ |
regions.qmregion.dftpackage.xtpdft.convergence.error |
1e-7 |
convergence error |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.mixing |
0.7 |
mixing parameter for linear mixing of density matrices |
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.mixing_end |
0.8 |
DIIS error below which mixing is disabled – independent
of ADIIS_start (see ORCA’s own DampErr, kept independent
of DIISStart for the same reason: difficult systems benefit
from keeping mixing active well past the point where ADIIS/DIIS
themselves start being tried, not exactly until that same
point). Defaults to match ADIIS_start’s own default (0.8)
for backward compatibility – existing configurations
see identical behavior unless this is set explicitly.
|
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.mixing_max |
0.98 |
Ceiling mixing can adaptively ramp up toward as the SCF
struggles (see consecutive ADIIS failures), rather than
staying fixed at the base mixing value for an entire run.
Matches ORCA’s own DampMax (default 0.98, confirmed directly
from a real ORCA log’s own resolved SCF settings) – ORCA
ramps its own damping factor from a base (DampFac, 0.7
by default) up to this ceiling only when actually needed,
rather than paying the cost of heavy damping throughout.
|
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.energy_reset |
1.0 |
If the energy rises by more than this above the lowest
energy reached so far, the (A)DIIS history is discarded
and the SCF restarts, damped, from the lowest-energy density.
0 disables.
|
float+ |
regions.qmregion.dftpackage.xtpdft.convergence.second_order |
auto |
Second-order (trust-region augmented Hessian, TRAH) SCF
steps. auto: switch to them when (A)DIIS fails repeatedly
or the DIIS error stalls, then use them until convergence;
always: use them from the first iteration; off: never.
Exact analytic orbital Hessian for RKS and UKS (LDA/GGA
and global hybrids; spin-polarized f_xc for UKS); for
UKS with a functional without second derivatives in libxc,
finite differences of the Fock matrix (two Fock builds
per Hessian product).
|
auto
always
off
|
regions.qmregion.dftpackage.xtpdft.convergence.davidson_max_iter |
50 |
Maximum number of micro-iterations (Hessian products)
per second-order (TRAH) step.
|
int+ |
regions.qmregion.localize.max_iterations |
10000 |
Maximum number of iterations for PM Localization |
int+ |
regions.qmregion.localize.convergence_limit |
1e-5 |
Convergence criteria for PM localization |
|
regions.qmregion.localize.method |
unitary-optimizer |
Method for the localization optimization |
[jacobi-sweeps
unitary-optimizer]
|
regions.qmregion.statetracker.oscillatorstrength |
OPTIONAL |
picks first state above a threshold |
float+ |
regions.qmregion.statetracker.localisation.fragment |
REQUIRED |
Fragment definiton using atomids, can be a combination
of ids and ranges of ids e.g. 1:5
|
|
regions.qmregion.statetracker.localisation.threshold |
0.1 |
Threshold above which a state is considered localized |
|
regions.qmregion.statetracker.chargetransfer.fragment |
REQUIRED |
Fragment definiton using atomids, can be a combination
of ids and ranges of ids e.g. 1:5
|
|
regions.qmregion.statetracker.chargetransfer.threshold |
0.8 |
Threshold above which a state is considered a CT state |
|
regions.qmregion.statetracker.density |
OPTIONAL |
Tracks state by comparing the density to an earlier state,
you have to specify a minimum threshold, which can be
zero
|
float+ |
regions.qmregion.statetracker.overlap |
OPTIONAL |
Tracks state by calculating the overlap with an earlier
state, you have to specify a minimum threshold, which
can be zero
|
float+ |
regions.qmregion.environment_screening.include_kreac |
true |
include the reaction field of the transition density in
the BSE (linear-response part, moves bright singlets)
|
bool |
regions.qmregion.environment_screening.shell_regions |
ids of polar regions that respond as an uncoupled shell
with polarizability alpha/shell_dielectric (legacy radial_dielectric)
instead of as a coupled Thole system; empty for none
|
||
regions.qmregion.environment_screening.shell_dielectric |
4.0 |
dielectric constant that stands in for the mutual induction
the shell leaves out
|
float+ |
regions.qmregion.environment_screening.site_width |
0.5 |
width of the polar sites seen by the QM density, in units
of alpha^(1/3): each site responds to the QM field averaged
over a Gaussian of that width, which keeps point dipoles
inside the tails of diffuse auxiliary functions from over-screening;
0 for point sites
|
float+ |
regions.qmregion.grid_for_potential |
medium |
Grid to integrate influence of qm density om other regions |
xcoarse
coarse
medium
fine
xfine
|
regions.qmregion.extgrid |
medium |
grid on which the interaction with classical regions is
compute
|
xcoarse
coarse
medium
fine
xfine
|
regions.qmregion.tolerance_energy |
5e-5 |
if energy difference for this region is below this value
it is considered converged
|
float+ |
regions.qmregion.tolerance_density |
5e-5 |
if the RMS change of the density matrix is below this
value it is considered converged; measured in the Loewdin-orthonormalised
basis (S^1/2 dD S^1/2), where near-linear dependencies
of the AO basis do not inflate it
|
float+ |
regions.qmregion.tolerance_density_max |
1e-3 |
if the largest change of a density-matrix element is below
this value it is considered converged; measured in the
Loewdin-orthonormalised basis. The largest element change
is typically tens of times the RMS change, so this is
looser than tolerance_density
|
float+ |
regions.qmregion.id |
REQUIRED |
id of the region, first region has to have id 0, ids must
be consecutive
|
int |
regions.qmregion.segments |
OPTIONAL |
List of segments to include in the region separated by
a whitespace. Each segment is defined by an index and
a qmstate or a filename for the coordinates. e.g 1:s3
or 0:ORFILES/methane.xyz
|
|
regions.qmregion.cutoff.radius |
REQUIRED |
radius |
float+ |
regions.qmregion.cutoff.geometry |
n |
geometry that should be used for mapping all the segments
in the radius
|
|
regions.qmregion.cutoff.region |
REQUIRED |
Id of the region the cutoff should refer to, can be the
same as this region’s id, if segments are specified
|
int+ |
regions.qmregion.cutoff.explicit_segs |
false |
specifies if cutoff with respect to other region should
be only towards segments specified explicitly using the
segments tag
|
bool |
regions.polarregion.id |
REQUIRED |
id of the region, first region has to have id 0, ids must
be consecutive
|
int |
regions.polarregion.segments |
OPTIONAL |
List of segments to include in the region separated by
a whitespace. Each segment is defined by an index and
a qmstate or a filename for the coordinates. e.g 1:s3
or 0:ORFILES/methane.xyz
|
|
regions.polarregion.cutoff.radius |
REQUIRED |
radius |
float+ |
regions.polarregion.cutoff.geometry |
n |
geometry that should be used for mapping all the segments
in the radius
|
|
regions.polarregion.cutoff.region |
REQUIRED |
Id of the region the cutoff should refer to, can be the
same as this region’s id, if segments are specified
|
int+ |
regions.polarregion.cutoff.explicit_segs |
false |
specifies if cutoff with respect to other region should
be only towards segments specified explicitly using the
segments tag
|
bool |
regions.polarregion.tolerance_energy |
5e-5 |
if energy difference for this region is below this value
it is considered converged
|
float+ |
regions.polarregion.tolerance_dipole |
5e-5 |
convergence for interior iterations to converge polarisation
response, solving linear syste,
|
float+ |
regions.polarregion.max_iter |
500 |
Maximum number of iterations for interior iteration |
|
regions.polarregion.exp_damp |
0.39 |
Thole sharpness parameter |
|
regions.polarregion.cr_width |
0.7 |
Charge-response segments (chargeresponse_ files in the
map file): width s of their Gaussian induced charges and
dipoles, density ~ exp(-r^2/s^2), for the couplings between
molecules and with the QM region. Not used by Thole segments
|
float+ |
regions.polarregion.cr_dipole_damping |
gaussian |
Charge-response segments: dipole-dipole coupling between
molecules when one site is a charge-response site; gaussian:
Gaussian dipoles of width cr_width; thole: Thole damping
with exp_damp
|
gaussian
thole
|
regions.staticregion.id |
REQUIRED |
id of the region, first region has to have id 0, ids must
be consecutive
|
int |
regions.staticregion.segments |
OPTIONAL |
List of segments to include in the region separated by
a whitespace. Each segment is defined by an index and
a qmstate or a filename for the coordinates. e.g 1:s3
or 0:ORFILES/methane.xyz
|
|
regions.staticregion.cutoff.radius |
REQUIRED |
radius |
float+ |
regions.staticregion.cutoff.geometry |
n |
geometry that should be used for mapping all the segments
in the radius
|
|
regions.staticregion.cutoff.region |
REQUIRED |
Id of the region the cutoff should refer to, can be the
same as this region’s id, if segments are specified
|
int+ |
regions.staticregion.cutoff.explicit_segs |
false |
specifies if cutoff with respect to other region should
be only towards segments specified explicitly using the
segments tag
|
bool |
regions.ewaldregion.id |
REQUIRED |
id of the region, first region has to have id 0, ids must
be consecutive
|
int |
regions.ewaldregion.checkpoint |
ewaldbackground.hdf5 |
checkpoint file written by the ewaldbackground calculator |
Note
An xml file containing the defaults for the qmmm calculator can be created via -p qmmm -o FILENAME command line options `