User input reference¶
Keywords without a default value are required.
Default values are either explicit or computed from the value of other keywords in the input.
Sections where all keywords have a default value can be omitted.
Predicates, if present, are the functions run to validate user input.
- Keywords
- world_prec:
Overall relative precision in the calculation.
Type
float- Predicates
1.0e-10 < value < 1.0
- world_size:
Total size of computational domain given as 2**(
world_size). Always cubic and symmetric around the origin. Negative value means it will be computed from the molecular geometry.Type
intDefault
-1- Predicates
value <= 10
- world_unit:
Length unit for all coordinates given in user input. Everything will be converted to atomic units (bohr) before the main executable is launched, so the JSON input is always given in bohrs.
Type
strDefault
bohr- Predicates
value.lower() in ["bohr", "angstrom"]
- world_origin:
Global gauge origin of the calculation.
Type
List[float]Default
[0.0, 0.0, 0.0]- Predicates
len(value) == 3
- Sections
- Precisions:
Define specific precision parameters.
- Keywords
- exchange_prec:
Precision parameter used in construction of Exchange operators. Negative value means it will follow the dynamic precision in SCF.
Type
floatDefault
-1.0- helmholtz_prec:
Precision parameter used in construction of Helmholtz operators. Negative value means it will follow the dynamic precision in SCF.
Type
floatDefault
-1.0- poisson_prec:
Precision parameter used in construction of Poisson operators.
Type
floatDefault
user['world_prec']- Predicates
1.0e-10 < value < 1.0
- nuclear_prec:
Precision parameter used in smoothing and projection of nuclear potential.
Type
floatDefault
user['world_prec']- Predicates
1.0e-10 < value < 1.0
- Printer:
Define variables for printed output.
- Keywords
- print_level:
Level of detail in the written output. Level 0 for production calculations, negative level for complete silence.
Type
intDefault
0- print_mpi:
Write separate output from each MPI to file called
<file_name>-<mpi-rank>.out.Type
boolDefault
False- print_prec:
Number of digits in property output (energies will get twice this number of digits).
Type
intDefault
6- Predicates
0 < value < 10
- print_width:
Line width of printed output (in number of characters).
Type
intDefault
75- Predicates
50 < value < 100
- print_constants:
Print table of physical constants used by MRChem.
Type
boolDefault
False
- Plotter:
Give details regarding the density and orbital plots. Three types of plots are available, line, surface and cube, and the plotting ranges are defined by three vectors (A, B and C) and an origin (O):
line: plots on line spanned by A, starting from O.surf: plots on surface spanned by A and B, starting from O.cube: plots on volume spanned by A, B and C, starting from O.- Keywords
- path:
File path to plot directory.
Type
strDefault
plots- Predicates
value[-1] != '/'
- type:
Type of plot: line (1D), surface (2D) or cube (3D).
Type
strDefault
cube- Predicates
value.lower() in ['line', 'surf', 'cube']
- points:
Number of points in each direction on the cube grid.
Type
List[int]Default
[20, 20, 20]- Predicates
all(p > 0 for p in value)not (user['Plotter']['type'] == 'line' and len(value) < 1)not (user['Plotter']['type'] == 'surf' and len(value) < 2)not (user['Plotter']['type'] == 'cube' and len(value) < 3)
- O:
Origin of plotting ranges.
Type
List[float]Default
[0.0, 0.0, 0.0]- Predicates
len(value) == 3
- A:
First boundary vector for plot.
Type
List[float]Default
[1.0, 0.0, 0.0]- Predicates
len(value) == 3
- B:
Second boundary vector for plot.
Type
List[float]Default
[0.0, 1.0, 0.0]- Predicates
len(value) == 3
- C:
Third boundary vector for plot.
Type
List[float]Default
[0.0, 0.0, 1.0]- Predicates
len(value) == 3
- MPI:
Define MPI related parameters.
- Keywords
- numerically_exact:
This will use MPI algorithms that guarantees that the output is invariant wrt the number of MPI processes.
Type
boolDefault
False- shared_memory_size:
Size (MB) of the MPI shared memory blocks of each shared function.
Type
intDefault
10000- share_nuclear_potential:
This will use MPI shared memory for the nuclear potential.
Type
boolDefault
False- share_coulomb_potential:
This will use MPI shared memory for the Coulomb potential.
Type
boolDefault
False- share_xc_potential:
This will use MPI shared memory for the exchange-correlation potential.
Type
boolDefault
False- bank_size:
Number of MPI processes exclusively dedicated to manage orbital bank.
Type
intDefault
-1
- Basis:
Define polynomial basis.
- Keywords
- order:
Polynomial order of multiwavelet basis. Negative value means it will be set automatically based on the world precision.
Type
intDefault
-1- type:
Polynomial type of multiwavelet basis.
Type
strDefault
interpolating- Predicates
value.lower() in ['interpolating', 'legendre']
- Derivatives:
Define various derivative operators used in the code.
- Keywords
- kinetic:
Derivative used in kinetic operator.
Type
strDefault
abgv_55- h_b_dip:
Derivative used in magnetic dipole operator.
Type
strDefault
abgv_00- h_m_pso:
Derivative used in paramagnetic spin-orbit operator.
Type
strDefault
abgv_00
- Molecule:
Define molecule.
- Keywords
- charge:
Total charge of molecule.
Type
intDefault
0- multiplicity:
Spin multiplicity of molecule.
Type
intDefault
1- Predicates
value > 0
- translate:
Translate coordinates such that center of mass coincides with the global gauge origin.
Type
boolDefault
False- coords:
Coordinates in xyz format. Atoms can be given either using atom symbol or atom number
Type
str
- WaveFunction:
Define the wavefunction method.
- Keywords
- method:
Wavefunction method. See predicates for valid methods.
hf,hartreefockandhartree-fockall mean the same thing, whileldais an alias forsvwn5. You can set a non-standard DFT functional (e.g. varying the amount of exact exchange) by choosingdftand specifing the functional(s) in theDFTsection below.Type
str- Predicates
value.lower() in ['core', 'hartree', 'hf', 'hartreefock', 'hartree-fock', 'dft', 'lda', 'svwn3', 'svwn5', 'pbe', 'pbe0', 'bpw91', 'bp86', 'b3p86', 'b3p86-g', 'blyp', 'b3lyp', 'b3lyp-g', 'olyp', 'kt1', 'kt2', 'kt3']
- restricted:
Use spin restricted wavefunction.
Type
boolDefault
True- environment:
Set method for treatment of environment.
nonefor vacuum calculation.PCMfor Polarizable Continuum Model, which will activate thePCMinput section for further parametrization options.Type
strDefault
none- Predicates
value.lower() in ['none', 'pcm']
- DFT:
Define the exchange-correlation functional in case of DFT.
- Keywords
- density_cutoff:
Hard cutoff for passing density values to XCFun.
Type
floatDefault
0.0- functionals:
List of density functionals with numerical coefficient. E.g. for PBE0
EXX 0.25,PBEX 0.75,PBEC 1.0, see XCFun documentation <https://xcfun.readthedocs.io/>_.Type
strDefault `` ``
- spin:
Use spin separated density functionals.
Type
boolDefault
not(user['WaveFunction']['restricted'])
- Properties:
Provide a list of properties to compute (total SCF energy and orbital energies are always computed).
- Keywords
- dipole_moment:
Compute dipole moment.
Type
boolDefault
True- quadrupole_moment:
Compute quadrupole moment. Note: Gauge origin dependent, should be used with
translate = truein Molecule.Type
boolDefault
False- polarizability:
Compute polarizability tensor.
Type
boolDefault
False- magnetizability:
Compute magnetizability tensor.
Type
boolDefault
False- nmr_shielding:
Compute NMR shielding tensor.
Type
boolDefault
False- geometric_derivative:
Compute geometric derivative.
Type
boolDefault
False- plot_density:
Plot converged electron density.
Type
boolDefault
False- plot_orbitals:
Plot converged molecular orbitals from list of indices, negative index plots all orbitals.
Type
List[int]Default
[]
- ExternalFields:
Define external electromagnetic fields.
- Keywords
- electric_field:
Strength of external electric field.
Type
List[float]Default
[]- Predicates
len(value) == 0 or len(value) == 3
- Polarizability:
Give details regarding the polarizability calculation.
- Keywords
- frequency:
List of external field frequencies.
Type
List[float]Default
[0.0]
- NMRShielding:
Give details regarding the NMR shileding calculation.
- Keywords
- nuclear_specific:
Use nuclear specific perturbation operator (h_m_pso).
Type
boolDefault
False- nucleus_k:
List of nuclei to compute. Negative value computes all nuclei.
Type
List[int]Default
[-1]
- Files:
Defines file paths used for program input/output. Note: all paths must be given in quotes if they contain slashes “path/to/file”.
- Keywords
- guess_basis:
File name for GTO basis set, used with
gtoguess.Type
strDefault
initial_guess/mrchem.bas- guess_gto_p:
File name for paired orbitals, used with
gtoguess.Type
strDefault
initial_guess/mrchem.mop- guess_gto_a:
File name for alpha orbitals, used with
gtoguess.Type
strDefault
initial_guess/mrchem.moa- guess_gto_b:
File name for beta orbitals, used with
gtoguess.Type
strDefault
initial_guess/mrchem.mob- guess_phi_p:
File name for paired orbitals, used with
mwguess. Expected path is ``<path_orbitals>/phi_p_scf_idx_<0…Np>_<re/im>.mwType
strDefault
initial_guess/phi_p- guess_phi_a:
File name for alpha orbitals, used with
mwguess. Expected path is ``<path_orbitals>/phi_a_scf_idx_<0…Na>_<re/im>.mwType
strDefault
initial_guess/phi_a- guess_phi_b:
File name for beta orbitals, used with
mwguess. Expected path is ``<path_orbitals>/phi_b_scf_idx_<0…Nb>_<re/im>.mwType
strDefault
initial_guess/phi_b- guess_x_p:
File name for paired response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/x_p_rsp_idx_<0…Np>_<re/im>.mwType
strDefault
initial_guess/X_p- guess_x_a:
File name for alpha response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/x_a_rsp_idx_<0…Na>_<re/im>.mwType
strDefault
initial_guess/X_a- guess_x_b:
File name for beta response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/x_b_rsp_idx_<0…Nb>_<re/im>.mwType
strDefault
initial_guess/X_b- guess_y_p:
File name for paired response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/y_p_rsp_idx_<0…Np>_<re/im>.mwType
strDefault
initial_guess/Y_p- guess_y_a:
File name for alpha response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/y_a_rsp_idx_<0…Na>_<re/im>.mwType
strDefault
initial_guess/Y_a- guess_y_b:
File name for beta response orbitals, used with
mwguess. Expected path is ``<path_orbitals>/y_b_rsp_idx_<0…Nb>_<re/im>.mwType
strDefault
initial_guess/Y_b- guess_cube_p:
File name for paired orbitals, used with
cubeguess. Expected path is ``<path_orbitals>/phi_p_scf_idx_<0…Np>_<re/im>.cubeType
strDefault
initial_guess/phi_p- guess_cube_a:
File name for alpha orbitals, used with
cubeguess. Expected path is ``<path_orbitals>/phi_a>_scf_idx_<0…Na>_<re/im>.cubeType
strDefault
initial_guess/phi_a- guess_cube_b:
File name for beta orbitals, used with
cubeguess. Expected path is ``<path_orbitals>/phi_b_scf_idx_<0…Nb>_<re/im>.cubeType
strDefault
initial_guess/phi_b- cube_vectors:
Directory where cube vectors are stored for mrchem calculation.
Type
strDefault
cube_vectors/
- SCF:
Includes parameters related to the ground state SCF orbital optimization.
- Keywords
- run:
Run SCF solver. Otherwise properties are computed on the initial orbitals.
Type
boolDefault
True- max_iter:
Maximum number of SCF iterations.
Type
intDefault
100- kain:
Length of KAIN iterative history.
Type
intDefault
5- rotation:
Number of iterations between each diagonalization/localization.
Type
intDefault
0- localize:
Use canonical or localized orbitals.
Type
boolDefault
False- energy_thrs:
Convergence threshold for SCF energy.
Type
floatDefault
-1.0- guess_prec:
Precision parameter used in construction of initial guess.
Type
floatDefault
0.001- Predicates
1.0e-10 < value < 1.0
- guess_screen:
Screening parameter used in GTO evaluations, in number of standard deviations. Every coordinate beyond N StdDev from the Gaussian center is evaluated to zero. Note that too aggressive screening is counter productive, because it leads to a sharp cutoff in the resulting function which requires higher grid refinement. Negative value means no screening.
Type
floatDefault
12.0- start_prec:
Incremental precision in SCF iterations, initial value.
Type
floatDefault
-1.0- final_prec:
Incremental precision in SCF iterations, final value.
Type
floatDefault
-1.0- guess_type:
Type of initial guess for ground state orbitals.
chkrestarts a previous calculation which was dumped using thewrite_checkpointkeyword. This will load MRA and electron spin configuration directly from the checkpoint files, which are thus required to be identical in the two calculations.mwwill start from final orbitals in a previous calculation written using thewrite_orbitalskeyword. The orbitals will be re-projected into the new computational setup, which means that the electron spin configuration and MRA can be different in the two calculations.gtoreads precomputed GTO orbitals (requires extra non-standard input files for basis set and MO coefficients).coreandsadwill diagonalize the Fock matrix in the given AO basis (SZ, DZ, TZ or QZ) using a Core or Superposition of Atomic Densities Hamiltonian, respectively.Type
strDefault
sad_dz- Predicates
value.lower() in ['mw', 'chk', 'gto', 'core_sz', 'core_dz', 'core_tz', 'core_qz', 'sad_sz', 'sad_dz', 'sad_tz', 'sad_qz', 'sad_gto', 'cube']
- write_checkpoint:
Write orbitals to disk in each iteration, file name
<path_checkpoint>/phi_scf_idx_<0..N>. Can be used aschkinitial guess in subsequent calculations. Note: must be given in quotes if there are slashes in the path “path/to/checkpoint”.Type
boolDefault
False- path_checkpoint:
Path to checkpoint files during SCF, used with
write_checkpointandchkguess.Type
strDefault
checkpoint- Predicates
value[-1] != '/'
- write_orbitals:
Write final orbitals to disk, file name
<path_orbitals>/phi_<p/a/b>_scf_idx_<0..Np/Na/Nb>. Can be used asmwinitial guess in subsequent calculations.Type
boolDefault
False- path_orbitals:
Path to where converged orbitals will be written in connection with the
write_orbitalskeyword. Note: must be given in quotes if there are slashes in the path “path/to/orbitals”.Type
strDefault
orbitals- Predicates
value[-1] != '/'
- orbital_thrs:
Convergence threshold for orbital residuals.
Type
floatDefault
10 * user['world_prec']
- Response:
Includes parameters related to the response SCF optimization.
- Keywords
- run:
In which Cartesian directions to run response solver.
Type
List[bool]Default
[True, True, True]- max_iter:
Maximum number of response iterations.
Type
intDefault
100- kain:
Length of KAIN iterative history.
Type
intDefault
5- property_thrs:
Convergence threshold for symmetric property. Symmetric meaning the property computed from the same operator as the response purturbation, e.g. for external magnetic field the symmetric property corresponds to the magnetizability (NMR shielding in non-symmetric, since one of the operators is external magnetic field, while the other is nuclear magnetic moment).
Type
floatDefault
-1.0- start_prec:
Incremental precision in SCF iterations, initial value.
Type
floatDefault
-1.0- final_prec:
Incremental precision in SCF iterations, final value.
Type
floatDefault
-1.0- guess_prec:
Precision parameter used in construction of initial guess.
Type
floatDefault
0.001- Predicates
1.0e-10 < value < 1.0
- guess_type:
Type of initial guess for response.
nonewill start from a zero guess for the response functions.chkrestarts a previous calculation which was dumped using thewrite_checkpointkeyword.mwwill start from final orbitals in a previous calculation written using thewrite_orbitalskeyword. The orbitals will be re-projected into the new computational setup.Type
strDefault
none- Predicates
value.lower() in ['none', 'chk', 'mw']
- write_checkpoint:
Write perturbed orbitals to disk in each iteration, file name
<path_checkpoint>/<X/Y>_rsp_<direction>_idx_<0..N>. Can be used aschkinitial guess in subsequent calculations.Type
boolDefault
False- path_checkpoint:
Path to checkpoint files during SCF, used with
write_checkpointandchkguess.Type
strDefault
checkpoint- Predicates
value[-1] != '/'
- write_orbitals:
Write final perturbed orbitals to disk, file name
<path_orbitals>/<X/Y>_<p/a/b>_rsp_<direction>_idx_<0..Np/Na/Nb>. Can be used asmwinitial guess in subsequent calculations.Type
boolDefault
False- path_orbitals:
Path to where converged orbitals will be written in connection with the
write_orbitalskeyword.Type
strDefault
orbitals- Predicates
value[-1] != '/'
- orbital_thrs:
Convergence threshold for orbital residuals.
Type
floatDefault
10 * user['world_prec']- localize:
Use canonical or localized unperturbed orbitals.
Type
boolDefault
user['SCF']['localize']
- PCM:
Includes parameters related to the computation of the reaction field energy of a system in an environment within the Polarizable Continuum Model.
- Sections
- SCRF:
Parameters for the Self-Consistent Reaction Field optimization.
- Keywords
- max_iter:
Max number of iterations allowed in the nested procedure.
Type
intDefault
100- dynamic_thrs:
Set the convergence threshold for the nested procedure.
truewill dynamically tighten the convergence threshold based on the absolute value of the latest orbital update as. When the orbitals are close to convergence (mo_residual < world_prec*10) the convergence threshold will be set equal toworld_prec.falseusesworld_precas convergence threshold throughout.Type
boolDefault
True- optimizer:
Choose which function to use in the KAIN solver, the surface charge
density(gamma) or the reactionpotential(V_R).Type
strDefault
potential- Predicates
value.lower() in ['density', 'potential']
- density_type:
What part of the total molecular charge density to use in the algorithm.
totaluses the total charge density.nuclearuses only the nuclear part of the total charge density.electronicuses only the electronic part of the total charge density.Type
strDefault
total- Predicates
value.lower() in ['total', 'nuclear', 'electronic']
- kain:
Number of previous reaction field iterates kept for convergence acceleration during the nested precedure.
Type
intDefault
user['SCF']['kain']
- Cavity:
Define the interlocking spheres cavity.
- Keywords
- mode:
Determines how to set up the interlocking spheres cavity.
atoms: centers are taken from the molecular geometry, radii taken from tabulated data (van der Waals radius), and rescaled using the parametersalpha,betaandsigma(R_i <- alpha*R_i + beta*sigma). Default spheres can be modified and/or extra spheres added, using the $spheres section, see documentation.explicit: centers and radii given explicitly in thespheresblock.Type
strDefault
atoms- Predicates
value.lower() in ['atoms', 'explicit']
- spheres:
This input parameter affects the list of spheres used to generate the cavity. In all cases, values for the radius, the radius scaling factor (
alpha), the width (sigma), and the width scaling factor (beta) can be modified. If they are not specified their global default values are used. Inatomsmode, we modify the default list of spheres, built with centers from the molecular geometry and radii from internal tabulated van der Waals values. To substitute a sphere, include a line like: $spheres i R [alpha] [beta] [sigma] $end to specify that theiatom in the molecule (0-based indexing) should use radiusRinstead of the pre-tabulated vdW radius. To add a sphere, include a line like: $spheres x y z R [alpha] [beta] [sigma] $end to specify that a sphere of radiusRshould be added at position(x, y, z). Spheres added in this way are not aware of their parent atom, if any. They will not contribute to the molecular gradient. Inexplicitmode, we build the complete sphere list from scratch. You can add a line like: $spheres x y z R [alpha] [beta] [sigma] $end to specify that a sphere of radiusRshould be added at position(x, y, z). Spheres added in this way are not aware of their parent atom, if any. They will not contribute to the molecular gradient. Alternatively, you can specify a line like: $spheres i R [alpha] [beta] [sigma] $end to specify that theiatom in the molecule (0-based indexing) should use radiusR. Spheres added in this way are aware of their parent atom. They will contribute to the molecular gradient.Type
str- alpha:
Scaling factor on the radius term for the cavity rescaling (R_i <- alpha*R_i + beta*sigma). Only used for the default vdW radii in atoms mode, not if explicit
$spheresare given.Type
floatDefault
1.1- beta:
Scaling factor on the boundary width term for the cavity rescaling (R_i <- alpha*R_i + beta*sigma). Only used for the default vdW radii in atoms mode, not if explicit
$spheresare given.Type
floatDefault
0.5- sigma:
Width of cavity boundary, smaller value means sharper transition.
Type
floatDefault
0.2
- Permittivity:
Parameters for the permittivity function.
- Keywords
- epsilon_in:
Permittivity inside the cavity. 1.0 is the permittivity of free space, anything other than this is undefined behaviour.
Type
floatDefault
1.0- epsilon_out:
Permittivity outside the cavity. This is characteristic of the solvent used.
Type
floatDefault
1.0- formulation:
Formulation of the Permittivity function. Currently only the exponential is used.
Type
strDefault
exponential- Predicates
value.lower() in ['exponential']
- Constants:
Physical and mathematical constants used by MRChem
- Keywords
- hartree2simagnetizability:
- Conversion factor for magnetizability from atomic units to SI units (unit: J T^-2). Affected code: Printed value of the magnetizability property.
Type
floatDefault
78.9451185 - light_speed:
- Speed of light in atomic units (unit: au). Affected code: Relativistic Hamiltonians (ZORA, etc.)
Type
floatDefault
137.035999084 - angstrom2bohrs:
- Conversion factor for Cartesian coordinates from Angstrom to Bohr (unit: Å^-1). Affected code: Parsing of input coordinates, printed coordinates
Type
floatDefault
1.8897261246257702 - hartree2kjmol:
- Conversion factor from Hartree to kJ/mol (unit: kJ mol^-1). Affected code: Printed value of energies.
Type
floatDefault
2625.4996394798254 - hartree2kcalmol:
- Conversion factor from Hartree to kcal/mol (unit: kcal mol^-1). Affected code: Printed value of energies.
Type
floatDefault
627.5094740630558 - hartree2ev:
- Conversion factor from Hartree to eV (unit: ev). Affected code: Printed value of energies.
Type
floatDefault
27.211386245988 - hartree2wavenumbers:
- Conversion factor from Hartree to wavenumbers (unit: cm^-1). Affected code: Printed value of frequencies.
Type
floatDefault
219474.6313632 - fine_structure_constant:
- Fine-structure constant in atomic units (unit: au). Affected code: Certain magnetic interaction operators.
Type
floatDefault
0.0072973525693 - electron_g_factor:
- Electron g factor in atomic units (unit: au). Affected code: Certain magnetic interaction operators.
Type
floatDefault
-2.00231930436256 - dipmom_au2debye:
- Conversion factor for dipoles from atomic units to Debye (unit: ?). Affected code: Printed value of dipole moments.
Type
floatDefault
2.5417464739297717