Input file tags¶
This chapter gives a complete list of the tags that can be specified in the xml input file, along with the hierarchy of objects. Note that every xml input file must start with the root tag . See the accompanying “help.xml” file in the “doc/help_files” directory to see the recommended input file structure.
Each section of this chapter describes one of the major input classes used in the i-PI initialization. These sections will start with some normal text which describes the function of this class in detail. After this the attributes of the tag will be listed, enclosed within a frame for clarity. Finally, the fields contained within the tag will be listed in alphabetical order, possibly followed by their attributes. Attribute names will be bold and field names both bold and underlined. Other supplementary information will be in small font and italicized.
al6xxx_kmc¶
Holds all the information for the KMC dynamics, such as timestep, rates and barriers that control it.
ATTRIBUTES¶
mode
The KMC algorithm to be used
dtype: string
options: [‘rfkmc’]
default: rfkmc
FIELDS¶
Option for geometry optimization step
nstep
The number of optimization steps.
dtype: integer
default: 10
a0
FCC lattice parameter
dtype: float
dimension: length
default: 1.0
diffusion_barrier_al
Barrier for vacancy diffusion in pure Al.
dtype: float
dimension: energy
default: 0.01
diffusion_prefactor_al
Prefactor for vacancy diffusion in pure Al.
dtype: float
dimension: frequency
default: 2.4188843e-05
diffusion_barrier_mg
Barrier for vacancy-assisted diffusion of Mg.
dtype: float
dimension: energy
default: 0.0
diffusion_prefactor_mg
Prefactor for vacancy-assisted diffusion of Mg.
dtype: float
dimension: frequency
default: 0.0
diffusion_barrier_si
Barrier for vacancy-assisted diffusion of Si.
dtype: float
dimension: energy
default: 0.0
diffusion_prefactor_si
Prefactor for vacancy-assisted diffusion of Si.
dtype: float
dimension: frequency
default: 0.0
neval
The number of parallel force evaluators.
dtype: integer
default: 4
ncell
The number of repeat cells in each direction.
dtype: integer
default: 4
nvac
The number of vacancies.
dtype: integer
default: 4
nsi
The number of silicon atoms.
dtype: integer
default: 4
nmg
The number of magnesium atoms.
dtype: integer
default: 4
idx
The position of the atoms on the lattice, relative to the canonical ordering.
dtype: integer
default: [ ]
tottime
Total KMC time elapsed
dtype: float
dimension: time
default: 0.0
ecache_file
Filename for storing/loading energy cache
dtype: string
default:
qcache_file
Filename for storing/loading positions cache
dtype: string
default:
max_cache_len
Maximum cache length before oldest entry is deleted
dtype: integer
default: 1000
alchemy¶
Holds all the information for doing Monte Carlo alchemical exchange moves.
ATTRIBUTES¶
mode
dtype: string
options: [‘dummy’]
default: dummy
FIELDS¶
names
The names of the atoms to be to exchanged, in the format [name1, name2, … ].
dtype: string
default: [ ]
nxc
The average number of exchanges per step to be attempted
dtype: float
default: 1
ealc
The contribution to the conserved quantity for the alchemical exchanger
dtype: float
default: 0.0
atoms¶
Deals with a single replica of the system or classical simulations.
FIELDS¶
natoms
The number of atoms.
dtype: integer
default: 0
q
The positions of the atoms, in the format [x1, y1, z1, x2, … ].
dtype: float
dimension: length
default: [ ]
p
The momenta of the atoms, in the format [px1, py1, pz1, px2, … ].
dtype: float
dimension: momentum
default: [ ]
m
The masses of the atoms, in the format [m1, m2, … ].
dtype: float
dimension: mass
default: [ ]
names
The names of the atoms, in the format [name1, name2, … ].
dtype: string
default: [ ]
atomswap¶
Holds all the information for doing Monte Carlo atom swap moves.
ATTRIBUTES¶
mode
Dummy attribute, does nothing.
dtype: string
options: [‘dummy’]
default: dummy
FIELDS¶
names
The names of the atoms to be to exchanged, in the format [name1, name2, … ].
dtype: string
default: [ ]
nxc
The average number of exchanges per step to be attempted
dtype: float
default: 1
ealc
The contribution to the conserved quantity for the atom swapper
dtype: float
default: 0.0
barostat¶
Simulates an external pressure bath.
ATTRIBUTES¶
mode
The type of barostat. ‘isotropic’ implements the Bussi-Zykova-Parrinello barostat [doi:10.1063/1.3073889] that isotropically scales the volume while sampling the isothermal isobaric ensemble. The implementation details are given in [doi:10.1016/j.cpc.2013.10.027]. This barostat is suitable for simulating liquids. ‘sc-isotropic’ implements the same for Suzuki-Chin path integral molecular dynamics [10.1021/acs.jctc.8b01297] and should only be used with the Suzuki-Chin NPT ensemble. ‘flexible’ implements the path integral version of the Martyna-Tuckerman-Tobias-Klein barostat which incorporates full cell fluctuations while sampling the isothermal isobaric ensemble [doi:10.1063/1.478193]. This is suitable for anisotropic systems such as molecular solids. ‘anisotropic’ implements the Raiteri-Gale-Bussi barostat which enables cell fluctuations at constant external stress [10.1088/0953-8984/23/33/334213]. It is suitable for simulating solids at given external (non-diagonal) stresses and requires specifying a reference cell for estimating strain. Note that this ensemble is valid only within the elastic limit of small strains. For diagonal stresses (or external pressures) the ‘flexible’ and the ‘anisotropic’ modes should give very similar results. ‘dummy’ barostat does not do anything.
dtype: string
options: [‘dummy’, ‘isotropic’, ‘flexible’, ‘anisotropic’, ‘sc-isotropic’]
default: dummy
FIELDS¶
The thermostat for the cell. Keeps the cell velocity distribution at the correct temperature. Note that the ‘pile_l’, ‘pile_g’, ‘nm_gle’ and ‘nm_gle_g’ options will not work for this thermostat.
tau
The time constant associated with the dynamics of the piston.
dtype: float
dimension: time
default: 1.0
p
Momentum (or momenta) of the piston.
dtype: float
dimension: momentum
default: [ ]
Reference cell for Parrinello-Rahman-like barostats. Should be roughly equal to the mean size of the cell averaged over the trajectory. Sampling might be inaccurate if the difference is too large.
dtype: float
dimension: length
- default:
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
hfix
A list of the cell entries that should be held fixed (xx, yy, zz, xy, xz, yz). ‘offdiagonal’ is an alias for xy, xz, yz.
dtype: string
default: [ ]
beads¶
Describes the bead configurations in a path integral simulation.
ATTRIBUTES¶
natoms
The number of atoms.
dtype: integer
default: 0
nbeads
The number of beads.
dtype: integer
default: 0
FIELDS¶
q
The positions of the beads. In an array of size [nbeads, 3*natoms].
dtype: float
dimension: length
default: [ ]
p
The momenta of the beads. In an array of size [nbeads, 3*natoms].
dtype: float
dimension: momentum
default: [ ]
m
The masses of the atoms, in the format [m1, m2, … ].
dtype: float
dimension: mass
default: [ ]
names
The names of the atoms, in the format [name1, name2, … ].
dtype: string
default: [ ]
bec¶
Deals with the Born Effective Charges tensors
dtype: float
dimension: number
ATTRIBUTES¶
units
The units the input data is given in.
dtype: string
default: automatic
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘driver’, then the array is computed on the fly. If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘driver’, ‘manual’, ‘file’, ‘none’]
default: none
bias¶
Deals with creating all the necessary forcefield objects.
FIELDS¶
The class that deals with how each forcefield contributes to the overall potential, force and virial calculation.
bosons¶
Deals with the specification of which atoms are have bosonic indistinguishability. The specified atoms participate in exchange interaction, which forms ring polymers that combine several particles together. The algorithm scales quadratically with the number of atoms and linearly with the number of beads. The implementation is based on Hirshberg et al.’s doi:10.1073/pnas.1913365116 and Feldman and Hirshberg’s doi:10.1063/5.0173749.
dtype: string
ATTRIBUTES¶
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘manual’, ‘file’]
default: manual
id
If ‘id’ is ‘index’, then bosonic atoms are specified a list of indices (zero-based). If ‘id’ is ‘label’ then specify a list of labels.
dtype: string
options: [‘index’, ‘label’]
default: index
cell¶
Describes with the cell parameters. Takes as array which can be used to initialize the cell vector matrix. N.B.: the cell parameters are stored with the lattice vectors in the columns, and the cell must be oriented in such a way that the array is upper-triangular (i.e. with the first vector aligned along x and the second vector in the xy plane).
dtype: float
dimension: length
ATTRIBUTES¶
units
The units the input data is given in.
dtype: string
default: automatic
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘manual’, ‘file’]
default: manual
checkpoint¶
This class defines how a checkpoint file should be output. Optionally, between the checkpoint tags, you can specify one integer giving the current step of the simulation. By default this integer will be zero.
dtype: integer
ATTRIBUTES¶
filename
A string to specify the name of the file that is output. The file name is given by ‘prefix’.’filename’ + format_specifier. The format specifier may also include a number if multiple similar files are output.
dtype: string
default: restart
stride
The number of steps between successive writes.
dtype: integer
default: 1
overwrite
This specifies whether or not each consecutive checkpoint file will overwrite the old one.
dtype: boolean
default: True
constrained_dynamics¶
Holds all the information for the MD integrator, such as timestep, the thermostats and barostats that control it.
ATTRIBUTES¶
mode
The ensemble that will be sampled during the simulation.
dtype: string
options: [‘nve’, ‘nvt’]
default: nve
splitting
The integrator used for sampling the target ensemble.
dtype: string
options: [‘obabo’, ‘baoab’]
default: baoab
FIELDS¶
The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature.
Simulates an external pressure bath.
timestep
The time step.
dtype: float
dimension: time
default: 1.0
nmts
Number of iterations for each MTS level (including the outer loop, that should in most cases have just one iteration).
dtype: integer
default: [ ]
nsteps_o
The number of sub steps used in the evolution of the thermostat (used in function step_Oc). Relevant only for GLE thermostats
dtype: integer
default: 1
nsteps_geo
The number of sub steps used in the evolution of the geodesic flow (used in function step_Ag).
dtype: integer
default: 1
Define a numerical method for computing the projection operators associated with the constraint.
Define a constraint to be applied onto atoms
constraint¶
Generic input value
ATTRIBUTES¶
mode
The type of constraint.
dtype: string
options: [‘distance’, ‘angle’, ‘eckart’, ‘multi’, ‘multi’]
default: distance
FIELDS¶
atoms
List of atoms indices that are to be constrained.
dtype: integer
default: [ ]
values
List of constraint lengths.
dtype: float
dimension: length
default: [ ]
One or more constraints that have to be considered coupled
csolver¶
Holds all parameters for the numerical method used to solve the contraint.
FIELDS¶
tolerance
Tolerance value used in the Quasi-Newton iteration scheme.
dtype: float
default: 0.0001
maxit
Maximum number of steps used in the Quasi-Newton iteration scheme.
dtype: integer
default: 1000
norm_order
Order of norm used to determine termination of the Quasi-newton iteration.
dtype: integer
default: 2
dmd¶
DrivenMD with external time-dependent driving potential
FIELDS¶
dmdff
List of names of forcefields that should do driven MD. Accepts ffdmd forcefield types. Currently implemented (2021) for ffdmd only the driving potential similar to the one described in Bowman, .., Brown JCP 119, 646 (2003).
dtype: string
default: [ ]
driven_dynamics¶
Holds all the information for a driven dynamics.
ATTRIBUTES¶
mode
The ensemble that will be sampled during the simulation. eda-nve: nve with an external electric field;
dtype: string
options: [‘eda-nve’]
default: eda-nve
splitting
The Louiville splitting used for sampling the target ensemble.
dtype: string
options: [‘obabo’, ‘baoab’]
default: obabo
FIELDS¶
The external electric field parameters:plane-wave parameters (intensity/amplitude, angular frequency, and phase) and gaussian envelope function parameters (peak time/mean of the gaussian, and pulse duration/standard deviation of the gaussian)
The Born Effective Charges tensors (cartesian coordinates)
dtype: float
dimension: number
default: [ ]
The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature.
Simulates an external pressure bath.
timestep
The time step.
dtype: float
dimension: time
default: 1.0
nmts
Number of iterations for each MTS level (including the outer loop, that should in most cases have just one iteration).
dtype: integer
default: [ ]
dynamics¶
Holds all the information for the MD integrator, such as timestep, the thermostats and barostats that control it.
ATTRIBUTES¶
mode
The ensemble that will be sampled during the simulation. nve: constant-energy-volume; nvt: constant-temperature-volume; npt: constant-temperature-pressure(isotropic); nst: constant-temperature-stress(anisotropic); sc: Suzuki-Chin high-order NVT; scnpt: Suzuki-Chin high-order NpT; nvt-cc: constrained-centroid NVT;
dtype: string
options: [‘nve’, ‘nvt’, ‘npt’, ‘nst’, ‘sc’, ‘scnpt’, ‘nvt-cc’]
default: nve
splitting
The Louiville splitting used for sampling the target ensemble.
dtype: string
options: [‘obabo’, ‘baoab’]
default: obabo
FIELDS¶
The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature.
Simulates an external pressure bath.
timestep
The time step.
dtype: float
dimension: time
default: 1.0
nmts
Number of iterations for each MTS level (including the outer loop, that should in most cases have just one iteration).
dtype: integer
default: [ ]
efield¶
Simulates an external time dependent electric field
FIELDS¶
amp
The amplitude of the external electric field (in cartesian coordinates)
dtype: float
dimension: electric-field
- default:
[0. 0. 0.]
freq
The pulsation of the external electric field
dtype: float
dimension: frequency
default: 0.0
phase
The phase of the external electric field (in rad)
dtype: float
dimension: number
default: 0.0
peak
The time when the external electric field gets its maximum value
dtype: float
dimension: time
default: 0.0
sigma
The standard deviations (time) of the gaussian envelope function of the external electric field
dtype: float
dimension: time
default: inf
ensemble¶
Holds all the information that is ensemble specific, such as the temperature and the external pressure.
FIELDS¶
temperature
The temperature of the system.
dtype: float
dimension: temperature
default: -1.0
pressure
The external pressure.
dtype: float
dimension: pressure
default: -12345.0
stress
The external stress.
dtype: float
dimension: pressure
- default:
[-12345. -0. -0. -0. -12345. -0. -0. -0. -12345.]
eens
The ensemble contribution to the conserved quantity.
dtype: float
dimension: energy
default: 0.0
Deals with creating all the necessary forcefield objects.
bias_weights
Bias weights.
dtype: float
default: [ ]
hamiltonian_weights
Hamiltonian weights.
dtype: float
default: [ ]
time
The internal time for this system
dtype: float
dimension: time
default: 0.0
ffcavphsocket¶
A cavity molecular dynamics driver for vibraitonal strong coupling. In the current implementation, only a single cavity mode polarized along the x and y directions is coupled to the molecules. Check https://doi.org/10.1073/pnas.2009272117 and also examples/lammps/h2o-cavmd/ for details.
ATTRIBUTES¶
mode
Specifies whether the driver interface will listen onto a internet socket [inet] or onto a unix socket [unix].
dtype: string
options: [‘unix’, ‘inet’]
default: inet
matching
Specifies whether requests should be dispatched to any client, automatically matched to the same client when possible [auto] or strictly forced to match with the same client [lock].
dtype: string
options: [‘auto’, ‘any’, ‘lock’]
default: auto
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial. Should be set to True for FFSockets
dtype: boolean
default: True
FIELDS¶
charge_array
The partial charges of all the atoms, in the format [Q1, Q2, … ].
dtype: float
dimension: length
default: [ ]
apply_photon
Determines if additional photonic degrees of freedom is included or not.
dtype: boolean
default: False
E0
The value of varepsilon (effective light-matter coupling strength) in atomic units.
dtype: float
default: 0.0
omega_c
This gives the cavity photon frequency at normal incidence.
dtype: float
dimension: frequency
default: 0.01
ph_rep
In the current implementation, two energy-degenerate photon modes polarized along x and y directions are coupled to the molecular system. If ‘loose’, the cavity photons polarized along the x, y directions are represented by two ‘L’ atoms; the x dimension of the first ‘L’ atom is coupled to the molecules, and the y dimension of the second ‘L’ atom is coupled to the molecules. If ‘dense’, the cavity photons polarized along the x, y directions are represented by one ‘L’ atom; the x and y dimensions of this ‘L’ atom are coupled to the molecules.
dtype: string
options: [‘loose’, ‘dense’]
default: loose
address
This gives the server address that the socket will run on.
dtype: string
default: localhost
port
This gives the port number that defines the socket.
dtype: integer
default: 65535
slots
This gives the number of client codes that can queue at any one time.
dtype: integer
default: 4
exit_on_disconnect
Determines if i-PI should quit when a client disconnects.
dtype: boolean
default: False
timeout
This gives the number of seconds before assuming a calculation has died. If 0 there is no timeout.
dtype: float
default: 0.0
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffcommittee¶
Combines multiple forcefields to build a committee model, that can be used to compute uncertainty-quantified machine-learning models. Each forcefield can be any of the other FF objects, and each should be used with a client that generates a slightly different estimation of energy and forces. These are averaged, and the mean used as the actual forcefield. Statistics about the distribution are also returned as extras fields, and can be printed for further postprocessing. It is also possible for a single FF object to return a JSON-formatted string containing entries committee_pot, committee_force and committee_virial, that contain multiple members at once. These will be unpacked and combined with whatever else is present. Also contains options to use it for uncertainty estimation and for active learning in a ML context, based on a committee model. Implements the approaches discussed in [Musil et al.](http://doi.org/10.1021/acs.jctc.8b00959) and [Imbalzano et al.](http://doi.org/10.1063/5.0036522)
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
weights
List of weights to be given to the forcefields. Defaults to 1 for each FF. Note that the components are divided by the number of FF, and so the default corresponds to an average.
dtype: float
default: [ ]
alpha
Scaling of the variance of the model, corresponding to a calibration of the error
dtype: float
default: 1.0
baseline_name
Name of the forcefield object that should be treated as the baseline for a weighted baseline model.
dtype: string
default:
baseline_uncertainty
Corresponds to the expected error of the baseline model. This represents the error on the TOTAL potential energy of the simulation.
dtype: float
dimension: energy
default: -1.0
active_thresh
The uncertainty threshold for active learning. Structure with an uncertainty above this value are printed in the specified output file so they can be used for active learning.
dtype: float
dimension: energy
default: 0.0
active_output
Output filename for structures that exceed the accuracy threshold of the model, to be used in active learning.
dtype: string
default: active_output
parse_json
Tell the model whether to parse extras string looking for committee values of potential, forces, and virials. Default: false.
dtype: boolean
default: False
Deals with the assigning of force calculation jobs to different driver codes, and collecting the data, using a socket for the data communication.
Direct potential that evaluates forces through a Python call, using PES providers from a list of possible external codes. The available PES interfaces are listed into the ipi/pes folder, and are the same available for the Python driver. The <parameters> field should contain a dictionary of the specific option of the chosen PES.
Simple, internal LJ evaluator without cutoff, neighbour lists or minimal image convention. Expects standard LJ parameters, e.g. { eps: 0.1, sigma: 1.0 }.
Harmonic energy calculator
Direct PLUMED interface. Can be used to implement metadynamics in i-PI in combination with the <metad> SMotion class. NB: if you use PLUMED for constant biasing (e.g. for umbrella sampling) the bias will be computed but there will be no output as specified in the plumed.dat file unless you include a <metad> tag, that triggers the log update.
Uses a Yaff force field to compute the forces.
A SGDML energy calculator
ffdebye¶
Harmonic energy calculator
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
hessian
Specifies the Hessian of the harmonic potential. Default units are atomic. Units can be specified only by xml attribute. Implemented options are: ‘atomic_unit’, ‘ev/ang^2’
dtype: float
dimension: hessian
default: [ ]
x_reference
Minimum-energy configuration for the harmonic potential
dtype: float
dimension: length
default: [ ]
v_reference
Zero-value of energy for the harmonic potential
dtype: float
dimension: energy
default: 0.0
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffdirect¶
Direct potential that evaluates forces through a Python call, using PES providers from a list of possible external codes. The available PES interfaces are listed into the ipi/pes folder, and are the same available for the Python driver. The <parameters> field should contain a dictionary of the specific option of the chosen PES.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
pes
Type of PES that should be used to evaluate the forcefield
dtype: string
options: [‘ase’, ‘bath’, ‘double_double_well’, ‘DW’, ‘DW_bath’, ‘DW_friction’, ‘driverdipole’, ‘dummy’, ‘elphmod’, ‘harmonic’, ‘mace’, ‘metatensor’, ‘pet’, ‘rascal’, ‘so3lr’, ‘xtb’]
default: dummy
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffdmd¶
Simple, internal DMD evaluator without without neighbor lists, but with PBC. Expects coupling elements (n*(n-1)/2 of them), oscillating frequency and time step.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
dmd_coupling
Specifies the coupling between atom pairs (should be size N*(N-1)/2 ordered c21, c32, c31, c43, c42, c41 etc. – in atomic units!)
dtype: float
default: [ ]
dmd_freq
Frequency of the oscillation of the time-dependent term
dtype: float
dimension: frequency
default: 0.0
dmd_dt
Time step of the oscillating potential. Should match time step of simulation
dtype: float
dimension: time
default: 0.0
dmd_step
The current step counter for dmd.
dtype: integer
default: 0
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
fflj¶
Simple, internal LJ evaluator without cutoff, neighbour lists or minimal image convention. Expects standard LJ parameters, e.g. { eps: 0.1, sigma: 1.0 }.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffplumed¶
Direct PLUMED interface. Can be used to implement metadynamics in i-PI in combination with the <metad> SMotion class. NB: if you use PLUMED for constant biasing (e.g. for umbrella sampling) the bias will be computed but there will be no output as specified in the plumed.dat file unless you include a <metad> tag, that triggers the log update.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
This describes the location to read the reference structure file from.
dtype: string
default:
plumeddat
The PLUMED input file
dtype: string
default: plumed.dat
plumedstep
The current step counter for PLUMED calls
dtype: integer
default: 0
plumed_extras
List of variables defined in the PLUMED input, that should be transferred to i-PI as extras fields.
dtype: string
default: [ ]
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffsgdml¶
A SGDML energy calculator
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
sGDML_model
This gives the file name of the sGDML model.
dtype: string
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffsocket¶
Deals with the assigning of force calculation jobs to different driver codes, and collecting the data, using a socket for the data communication.
ATTRIBUTES¶
mode
Specifies whether the driver interface will listen onto a internet socket [inet] or onto a unix socket [unix].
dtype: string
options: [‘unix’, ‘inet’]
default: inet
matching
Specifies whether requests should be dispatched to any client, automatically matched to the same client when possible [auto] or strictly forced to match with the same client [lock].
dtype: string
options: [‘auto’, ‘any’, ‘lock’]
default: auto
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial. Should be set to True for FFSockets
dtype: boolean
default: True
FIELDS¶
address
This gives the server address that the socket will run on.
dtype: string
default: localhost
port
This gives the port number that defines the socket.
dtype: integer
default: 65535
slots
This gives the number of client codes that can queue at any one time.
dtype: integer
default: 4
exit_on_disconnect
Determines if i-PI should quit when a client disconnects.
dtype: boolean
default: False
timeout
This gives the number of seconds before assuming a calculation has died. If 0 there is no timeout.
dtype: float
default: 0.0
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
ffyaff¶
Uses a Yaff force field to compute the forces.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
yaffpara
This gives the file name of the Yaff input parameter file.
dtype: string
default: parameters.txt
yaffsys
This gives the file name of the Yaff input system file.
dtype: string
default: system.chk
yafflog
This gives the file name of the Yaff output log file.
dtype: string
default: yaff.log
rcut
This gives the real space cutoff used by all pair potentials in atomic units.
dtype: float
default: 18.89726133921252
alpha_scale
This gives the alpha parameter in the Ewald summation based on the real-space cutoff: alpha = alpha_scale / rcut. Higher values for this parameter imply a faster convergence of the reciprocal terms, but a slower convergence in real-space.
dtype: float
default: 3.5
gcut_scale
This gives the reciprocale space cutoff based on the alpha parameter: gcut = gcut_scale * alpha. Higher values for this parameter imply a better convergence in the reciprocal space.
dtype: float
default: 1.1
skin
This gives the skin parameter for the neighborlist.
dtype: integer
default: 0
smooth_ei
This gives the flag for smooth truncations for the electrostatic interactions.
dtype: boolean
default: False
reci_ei
This gives the method to be used for the reciprocal contribution to the electrostatic interactions in the case of periodic systems. This must be one of ‘ignore’ or ‘ewald’. The ‘ewald’ option is only supported for 3D periodic systems.
dtype: string
default: ewald
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
file¶
This is the class to initialize from file.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘chk’ stands for initialization from a checkpoint file. ‘ase’ is to read a file with the Atomic Simulation Environment
dtype: string
options: [‘xyz’, ‘pdb’, ‘chk’, ‘ase’]
default: chk
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
cell_units
The units for the cell dimensions.
dtype: string
default: automatic
force¶
The class that deals with how each forcefield contributes to the overall potential, force and virial calculation.
ATTRIBUTES¶
nbeads
If the forcefield is to be evaluated on a contracted ring polymer, this gives the number of beads that are used. If not specified, the forcefield will be evaluated on the full ring polymer.
dtype: integer
default: 0
weight
A scaling factor for this forcefield, to be applied before adding the force calculated by this forcefield to the total force.
dtype: float
default: 1.0
fd_epsilon
The finite displacement to be used for calculaing the Suzuki-Chin contribution of the force. If the value is negative, a centered finite-difference scheme will be used. [in bohr]
dtype: float
default: -0.001
name
An optional name to refer to this force component.
dtype: string
default:
forcefield
Mandatory. The name of the forcefield this force is referring to.
dtype: string
default:
FIELDS¶
mts_weights
The weight of force in each mts level starting from outer.
dtype: float
dimension: force
- default:
[1.]
interpolate_extras
A list of quantities that should be extracted from the ‘extra’ string returned by the forcefield, that are then treated the same way as energy or forces – that is treated as a numerical, physical quantity, interpolated when changing the number of PI replicas. Same quantities from different force components are summed as well. The names should correspond to entries in the JSON-formatted extra string.
dtype: string
default: [ ]
forcefield¶
Base forcefield class that deals with the assigning of force calculation jobs and collecting the data.
ATTRIBUTES¶
name
Mandatory. The name by which the forcefield will be identified in the System forces section.
dtype: string
pbc
Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code.
dtype: boolean
default: False
threaded
Whether the forcefield should use a thread loop to evaluate, or work in serial
dtype: boolean
default: False
FIELDS¶
latency
The number of seconds the polling thread will wait between exhamining the list of requests.
dtype: float
default: 0.0001
offset
A constant offset that is subtracted from the forcefield energy. Useful when there is a large core energy contribution that is constant throughout a simulation and hides significant changes in the 10th digit.
dtype: float
dimension: energy
default: 0.0
parameters
The parameters of the force field
dtype: dictionary
default: { }
activelist
List with indexes of the atoms that this socket is taking care of. Default: [-1] (corresponding to all)
dtype: integer
- default:
[-1]
forces¶
Deals with creating all the necessary forcefield objects.
FIELDS¶
The class that deals with how each forcefield contributes to the overall potential, force and virial calculation.
frequencies¶
Provides a compact way of specifying the ring polymer frequencies
dtype: float
dimension: frequency
ATTRIBUTES¶
units
The units the input data is given in.
dtype: string
default: automatic
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘manual’, ‘file’]
default: manual
style
Specifies the technique to be used to calculate the dynamical masses. ‘rpmd’ simply assigns the bead masses the physical mass. ‘manual’ sets all the normal mode frequencies except the centroid normal mode manually. ‘pa-cmd’ takes an argument giving the frequency to set all the non-centroid normal modes to. ‘wmax-cmd’ is similar to ‘pa-cmd’, except instead of taking one argument it takes two ([wmax,wtarget]). The lowest-lying normal mode will be set to wtarget for a free particle, and all the normal modes will coincide at frequency wmax.
dtype: string
options: [‘pa-cmd’, ‘wmax-cmd’, ‘manual’, ‘rpmd’]
default: rpmd
gle¶
This is the class to initialize the thermostat (ethermo and fictitious momenta).
dtype: string
ATTRIBUTES¶
mode
‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector.
dtype: string
options: [‘chk’, ‘manual’]
default: manual
h0¶
Describes with the cell parameters. Takes as array which can be used to initialize the cell vector matrix. N.B.: the cell parameters are stored with the lattice vectors in the columns, and the cell must be oriented in such a way that the array is upper-triangular (i.e. with the first vector aligned along x and the second vector in the xy plane).
dtype: float
dimension: length
ATTRIBUTES¶
units
The units the input data is given in.
dtype: string
default: automatic
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘manual’, ‘file’]
default: manual
init_cell¶
This is the class to initialize cell.
dtype: string
ATTRIBUTES¶
mode
This decides whether the system box is created from a cell parameter matrix, or from the side lengths and angles between them. If ‘mode’ is ‘manual’, then ‘cell’ takes a 9-elements vector containing the cell matrix (row-major, lattice vectors stored in columns). The 1st element define lattice vector a, the 2nd, 5th elements define lattice vector b, and the 3rd, 6th, 9th elements define lattice vector c. The other elements are ignored, as the cell must be aligned so that it is upper triangular. If ‘mode’ is ‘abcABC’, then ‘cell’ takes an array of 6 floats, the first three being the length of the sides of the system parallelopiped, and the last three being the angles (in degrees) between those sides. Angle A corresponds to the angle between sides b and c, and so on for B and C. If mode is ‘abc’, then this is the same as for ‘abcABC’, but the cell is assumed to be orthorhombic. ‘pdb’ and ‘chk’ read the cell from a PDB or a checkpoint file, respectively.
dtype: string
options: [‘manual’, ‘pdb’, ‘chk’, ‘abc’, ‘abcABC’]
default: manual
initialize¶
Specifies the number of beads, and how the system should be initialized.
ATTRIBUTES¶
nbeads
The number of beads. Will override any provision from inside the initializer. A ring polymer contraction scheme is used to scale down the number of beads if required. If instead the number of beads is scaled up, higher normal modes will be initialized to zero.
dtype: integer
FIELDS¶
Initializes atomic positions. Will take a ‘units’ attribute of dimension ‘length’
dtype: string
Initializes atomic velocities. Will take a ‘units’ attribute of dimension ‘velocity’
dtype: string
Initializes atomic momenta. Will take a ‘units’ attribute of dimension ‘momentum’
dtype: string
Initializes atomic masses. Will take a ‘units’ attribute of dimension ‘mass’
dtype: string
Initializes atomic labels
dtype: string
Initializes the configuration of the cell. Will take a ‘units’ attribute of dimension ‘length’
dtype: string
Initializes everything possible for the given mode. Will take a ‘units’ attribute of dimension ‘length’. The unit conversion will only be applied to the positions and cell parameters. The ‘units’ attribute is deprecated. Append a ‘quantity{units}’ to the comment line of the xyz or to the ‘TITLE’ tag of a pdb.
dtype: string
Initializes the additional momenta in a GLE thermostat.
dtype: string
instanton¶
A class for instanton calculations
ATTRIBUTES¶
mode
Defines whether it is an instanton rate or instanton tunneling splitting calculaion
dtype: string
options: [‘rate’, ‘splitting’]
default: rate
FIELDS¶
tolerances
Convergence criteria for optimization.
biggest_step
The maximum step size during the optimization.
dtype: float
default: 0.4
old_pos
The previous step positions during the optimization.
dtype: float
dimension: length
default: [ ]
old_pot
The previous step potential energy during the optimization
dtype: float
dimension: energy
default: [ ]
old_force
The previous step force during the optimization
dtype: float
dimension: force
default: [ ]
opt
The geometry optimization algorithm to be used. For small system sizes nichols is recomended. Lanczos is tailored for big bigger than nbeads*natoms >~38*64. NR works in both cases given that the initial guess is close to the optimized geometry. Finally lbfgs is used for tunneling splitting calculations.
dtype: string
options: [‘nichols’, ‘NR’, ‘lbfgs’, ‘lanczos’, ‘None’]
default: None
max_e
Evaluate the forces in a reduced ring polymer such that the potential energy between consecutive replicas is smaller that the provided value.
dtype: float
dimension: energy
default: 0.0
max_ms
Evaluate the forces in a reduced ring polymer such that that mass-scaled distance in a.u. between consecutive replicas is smaller that the provided value.
dtype: float
default: 0.0
discretization
Allows to specified non uniform time discretization as proposed in J. Chem. Phys. 134, 184107 (2011)
dtype: float
default: [ ]
friction
Activates Friction. Add additional terms to the RP related to a position-independent frictional force. See Eq. 20 in J. Chem. Phys. 156, 194106 (2022)
dtype: boolean
default: False
frictionSD
Activates SD Friction. Add additional terms to the RP related to a position-dependent frictional force. See Eq. 32 in J. Chem. Phys. 156, 194106 (2022)
dtype: boolean
default: True
fric_spec_dens
Laplace Transform (LT) of friction. A two column data is expected. First column: w (cm^-1). Second column: LT(eta)(w). See Eq. 11 in J. Chem. Phys. 156, 194106 (2022). Note that within the separable coupling approximation the frequency dependence of the friction tensor is position independent.
dtype: float
default: [ ]
fric_spec_dens_ener
Energy at which the LT of the friction tensor is evaluated in the client code
dtype: float
dimension: energy
default: 0.0
eta
Friction Tensor. Only to be used when frictionSD is disabled.
dtype: float
default: [ ]
alt_out
Alternative output:Prints different formatting of outputs for geometry, hessian and bead potential energies. All quantities are also accessible from typical i-pi output infrastructure. Default to 1, which prints every step. -1 will suppress the output (except the last one). Any other positive number will set the frequency (in steps) with which the quantities are written to file. The instanton geometry is printed in xyz format and the distances are in angrstroms The hessian is printed in one line with the following format: h1_1,h2_1,…,hN_1, h2_2,h2_2,hN_2, …. ,h1_d,h2_d,…,hN_d. Where N represents the total number of replicas, d the number of dimension of each replica (3*n_atoms) and hi_j means the row j of the physical hessian corresponding to the replica i. The physical hessian uses a convention according to the positions convention used in i-pi. Example of 2 particles, the first two rows of the physical hessian reads: ‘H_x1_x1, H_x1_y1, H_x1_z1, H_x1_x2, H_x1_y2,H_x1_z2’ ‘H_x2_x1, H_x2_y1, H_x2_z1, H_x2_x2, H_x2_y2,H_x2_z2’
dtype: integer
default: 1
prefix
Prefix of the output files.
dtype: string
default: instanton
delta
Initial stretch amplitude.
dtype: float
default: 0.1
hessian_init
How to initialize the hessian if it is not fully provided.
dtype: boolean
default: False
hessian
(Approximate) Hessian.
dtype: float
default: [ ]
hessian_update
How to update the hessian after each step.
dtype: string
options: [‘powell’, ‘recompute’]
default: powell
hessian_asr
Removes the zero frequency vibrational modes depending on the symmetry of the system.
dtype: string
options: [‘none’, ‘poly’, ‘crystal’]
default: none
fric_hessian
(Approximate) friction second derivative from which a friction Hessian can be built.
dtype: float
default: [ ]
qlist_lbfgs
List of previous position differences for L-BFGS, if known.
dtype: float
default: [ ]
glist_lbfgs
List of previous gradient differences for L-BFGS, if known.
dtype: float
default: [ ]
old_direction
The previous direction in a CG or SD optimization.
dtype: float
default: [ ]
scale_lbfgs
Scale choice for the initial hessian. 0 identity. 1 Use first member of position/gradient list. 2 Use last member of position/gradient list.
dtype: integer
default: 2
corrections_lbfgs
The number of past vectors to store for L-BFGS.
dtype: integer
default: 20
ls_options
Options for line search methods. Includes: tolerance: stopping tolerance for the search, iter: the maximum number of iterations, step: initial step for bracketing, adaptive: whether to update initial step.
energy_shift
Set the zero of energy.
dtype: float
dimension: energy
default: 0.0
hessian_final
Decide if we are going to compute the final big-hessian by finite difference.
dtype: boolean
default: False
labels¶
This is the class to initialize atomic labels.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘ase’ is to read a file with the Atomic Simulation Environment. ‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector.
dtype: string
options: [‘manual’, ‘xyz’, ‘pdb’, ‘ase’, ‘chk’]
default: chk
index
The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed.
dtype: integer
default: -1
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
masses¶
This is the class to initialize atomic masses.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘ase’ is to read a file with the Atomic Simulation Environment. ‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector.
dtype: string
options: [‘manual’, ‘xyz’, ‘pdb’, ‘ase’, ‘chk’]
default: chk
index
The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed.
dtype: integer
default: -1
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
metad¶
MetaDynamics
FIELDS¶
metaff
List of names of forcefields that should do metadynamics.
dtype: string
default: [ ]
use_energy
Transfer the potential energy value to PLUMED to use as a collective variable. Can only be used with classical simulations because it requires a rather hacky mechanism to transfer the energy of the system to the forcefield.
dtype: boolean
default: False
momenta¶
This is the class to initialize momenta.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector. ‘thermal’ means that the data is to be generated from a Maxwell-Boltzmann distribution at the given temperature.
dtype: string
options: [‘manual’, ‘xyz’, ‘pdb’, ‘ase’, ‘chk’, ‘thermal’]
default: chk
index
The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed.
dtype: integer
default: -1
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
motion¶
Allow chosing the type of calculation to be performed. Holds all the information that is calculation specific, such as geometry optimization parameters, etc.
ATTRIBUTES¶
mode
How atoms should be moved at each step in the simulatio. ‘replay’ means that a simulation is replayed from trajectories provided to i-PI.
dtype: string
options: [‘vibrations’, ‘minimize’, ‘replay’, ‘neb’, ‘string’, ‘dynamics’, ‘driven_dynamics’, ‘constrained_dynamics’, ‘t_ramp’, ‘p_ramp’, ‘alchemy’, ‘atomswap’, ‘planetary’, ‘instanton’, ‘al-kmc’, ‘dummy’, ‘scp’, ‘normalmodes’, ‘multi’]
FIELDS¶
fixcom
This describes whether the centre of mass of the particles is fixed.
dtype: boolean
default: True
fixatoms
Indices of the atoms that should be held fixed.
dtype: integer
default: [ ]
fixatoms_dof
Indices of the degrees of freedom that should be held fixed.
dtype: integer
default: [ ]
Option for geometry optimization
Option for NEB optimization
Option for String minimal-energy path optimization
Option for (path integral) molecular dynamics
Option for driven molecular dynamics
Option for constrained classical molecular dynamics
This describes the location to read a trajectory file from. Replay syntax allows using some POSIX wildcards in the filename of trajectory files. If symbols ?*[] are found in a filename, the code expects to find exactly Nbeads files that match the provided pattern. Bead indices will be read from the files, and the files will be ordered ascendingly by their bead indices. Wildcarded files are expected to be in the folder where the simulation runs.
dtype: string
default:
Option for phonon computation
Option for solving the vibrational Schroedinger’s equations in normal mode coordinates.
Option for self consistent phonons computation
Option for alchemical exchanges
Option for Monte Carlo atom swap
Option for temperature ramp
Option for pressure ramp
Option for Instanton optimization
Option for Al-6xxx KMC
Option for planetary model calculator
A motion class that can be included as a member of a ‘multi’ integrator.
neb_optimizer¶
Contains the required parameters for performing nudged elastic band (NEB) calculations
ATTRIBUTES¶
mode
The geometry optimization algorithm to optimize NEB path
dtype: string
options: [‘bfgstrm’, ‘damped_bfgs’, ‘fire’]
default: fire
FIELDS¶
tolerances
Tolerance criteria to stop NEB optimization. If you work with DFT, do not use these defaults.
old_coord
The previous position in an optimization step.
dtype: float
dimension: length
default: [ ]
full_force
The previous full-dimensional force in an optimization step.
dtype: float
dimension: force
default: [ ]
full_pots
Previous physical potentials of all beads.
dtype: float
dimension: energy
default: [ ]
old_nebpotential
Previous NEB potential energy, which includes spring energy.
dtype: float
default: [ ]
old_nebgradient
The previous gradient including NEB spring forces.
dtype: float
default: [ ]
old_direction
The previous direction.
dtype: float
default: [ ]
biggest_step
The maximum atomic displacement in a single step of optimizations within NEB procedure. If requested step is larger, it will be downscaled so that maximal atomic displacement won’t exceed biggest_step.
dtype: float
dimension: length
default: 0.5
scale_lbfgs
Scale choice for the initial hessian. 0 identity. 1 Use first member of position/gradient list. 2 Use last member of position/gradient list.
dtype: integer
default: 2
hessian_bfgs
Approximate Hessian for damped_BFGS, if known.
dtype: float
default: [ ]
qlist_lbfgs
List of previous position differences for L-BFGS, if known.
dtype: float
default: [ ]
glist_lbfgs
List of previous gradient differences for L-BFGS, if known.
dtype: float
default: [ ]
corrections_lbfgs
The number of past vectors to store for L-BFGS.
dtype: integer
default: 5
dtmax_fire
Maximum time interval per step for FIRE.
dtype: float
default: 1.0
v_fire
Current velocity for FIRE
dtype: float
default: [ ]
alpha_fire
velocity mixing factor for FIRE
dtype: float
default: 0.1
N_down_fire
consecutive steps in downhill dierction for FIRE
dtype: integer
default: 0
N_up_fire
consecutive steps in uphill direction
dtype: integer
default: 0
dt_fire
time per step
dtype: float
default: 0.1
endpoints
Geometry optimization of endpoints (not implemented yet)
spring
Uniform or variable spring constants along the elastic band
tangent
How to calculate tangents: simple averaging from the original 1998 paper, or the improved tangent estimate from J. Chem. Phys. 113, 9978 (2000)
dtype: string
options: [‘plain’, ‘improved’]
default: improved
stage
Stage of the NEB pipeline: optimization of endpoints, NEB itself, climbing image
dtype: string
options: [‘endpoints’, ‘neb’, ‘climb’]
default: neb
use_climb
Use climbing image NEB or not
dtype: boolean
default: False
climb_bead
The index of the climbing bead.
dtype: integer
default: -1
normal_modes¶
Deals with the normal mode transformations, including the adjustment of bead masses to give the desired ring polymer normal mode frequencies if appropriate. Takes as arguments frequencies, of which different numbers must be specified and which are used to scale the normal mode frequencies in different ways depending on which ‘mode’ is specified.
ATTRIBUTES¶
transform
Specifies whether to calculate the normal mode transform using a fast Fourier transform or a matrix multiplication. For small numbers of beads the matrix multiplication may be faster.
dtype: string
options: [‘fft’, ‘matrix’]
default: fft
propagator
How to propagate the free ring polymer dynamics. Cayley transform is not exact but is strongly stable and avoid potential resonance issues. A bab scheme performs numerical verlet type propagation. All three options work for distinguishable particles. Only the bab propagator can be used with bosonic particles.
dtype: string
options: [‘exact’, ‘cayley’, ‘bab’]
default: exact
fft_threads
The number of threads to be used for the FFT.
dtype: integer
default: 1
fft_float32
Whether to use single precision FFT.
dtype: boolean
default: False
FIELDS¶
Specifies normal mode frequencies for a (closed path) calculation
dtype: float
dimension: frequency
default: [ ]
open_paths
Indices of the atoms whose path should be opened (zero-based).
dtype: integer
default: [ ]
Specify which atoms are bosons.
dtype: string
default: [ ]
nmts
The number of iterations to perform one bab step.
dtype: integer
default: 10
normalmodes¶
Vibrational self-consistent field class. Approximates the vibrational eigenstates and eigenvalues of a system by performing a normal mode expansion of the potential energy surface.
ATTRIBUTES¶
mode
The algorithm to be used: independent mode framework (imf) and vibrational self consistent field (vscf).
dtype: string
options: [‘imf’, ‘vscf’]
default: imf
FIELDS¶
prefix
Prefix of the output files.
dtype: string
default:
asr
Removes the zero frequency vibrational modes depending on the symmetry of the system for general polyatomic molecules, and periodic crystal structures.
dtype: string
options: [‘none’, ‘poly’, ‘crystal’]
default: none
dynmat
Portion of the dynamical matrix known to the current point in the calculation.
dtype: float
default: [ ]
nprim
Number of primitive unit cells in the simulation cell.
dtype: float
default: 1.0
fnmrms
Fraction of harmonic RMS displacement used to sample along normal mode.
dtype: float
default: 1.0
nevib
Multiple of harm vibr energy up to which BO surface is sampled.
dtype: float
default: 25.0
nint
Integration points for Hamiltonian matrix elements.
dtype: integer
default: 101
pair_range
The range of pair combinations of normal modes to be considered.
dtype: integer
default: [ ]
nbasis
Number of SHO states used as basis for anharmonic wvfn.
dtype: integer
default: 10
athresh
Convergence threshold for absolute error in vibr free energy per degree of freedom.
dtype: float
dimension: energy
default: 3.6749322e-06
ethresh
Convergence thresh for fractional error in vibr free energy.
dtype: float
default: 0.01
alpha
The fraction of mean field potential to mix with the result of the previous SCF iteration.
dtype: float
default: 1.0
nkbt
Threshold for (e - e_gs)/(kB T) of vibr state to be incl in the VSCF and partition function.
dtype: float
default: 4.0
nexc
Minimum number of excited n-body states to calculate (also in MP2 correction).
dtype: integer
default: 5
mptwo
Flag determining whether MP2 correction is calculated.
dtype: boolean
default: False
solve
Flag determining whether the VSCF mean field Schroedinger’s equation is solved.
dtype: boolean
default: False
grid
Flag determining whether the coupling potential is gridded or not.
dtype: boolean
default: True
print_mftpot
Flag determining whether MFT potentials are printed to file.
dtype: boolean
default: False
print_1b_map
Flag determining whether the independent mode potentials are printed to file.
dtype: boolean
default: False
print_2b_map
Flag determining whether the two body mapped coupling potentials are printed to file.
dtype: boolean
default: False
print_vib_density
Flag determining whether the vibrational density (psi**2) are printed to file.
dtype: boolean
default: False
threebody
Flag determining whether three-mode coupling terms are accounted for.
dtype: boolean
default: False
nparallel
The number of forces evaluations per i-PI step.
dtype: integer
default: 1
optimizer¶
A Geometry Optimization class implementing most of the standard methods
ATTRIBUTES¶
mode
The geometry optimization algorithm to be used
dtype: string
options: [‘sd’, ‘cg’, ‘bfgs’, ‘bfgstrm’, ‘lbfgs’, ‘damped_bfgs’]
default: lbfgs
FIELDS¶
ls_options
“Options for line search methods. Includes: tolerance: stopping tolerance for the search (as a fraction of the overall energy tolerance), iter: the maximum number of iterations, step: initial step for bracketing, adaptive: whether to update initial step.
exit_on_convergence
Terminates the simulation when the convergence criteria are met.
dtype: boolean
default: True
tolerances
Convergence criteria for optimization. Default values are extremely conservative. Set them to appropriate values for production runs.
biggest_step
The maximum step size for (L)-BFGS line minimizations.
dtype: float
default: 100.0
scale_lbfgs
Scale choice for the initial hessian. 0 identity. 1 Use first member of position/gradient list. 2 Use last member of position/gradient list.
dtype: integer
default: 2
corrections_lbfgs
The number of past vectors to store for L-BFGS.
dtype: integer
default: 6
old_pos
The previous positions in an optimization step.
dtype: float
dimension: length
default: [ ]
old_pot
The previous potential energy in an optimization step.
dtype: float
dimension: energy
default: [ ]
old_force
The previous force in an optimization step.
dtype: float
dimension: force
default: [ ]
old_direction
The previous direction in a CG or SD optimization.
dtype: float
default: [ ]
invhessian_bfgs
Approximate inverse Hessian for BFGS, if known.
dtype: float
default: [ ]
hessian_trm
Approximate Hessian for trm, if known.
dtype: float
default: [ ]
tr_trm
The trust radius in trm.
dtype: float
dimension: length
default: [ ]
qlist_lbfgs
List of previous position differences for L-BFGS, if known.
dtype: float
default: [ ]
glist_lbfgs
List of previous gradient differences for L-BFGS, if known.
dtype: float
default: [ ]
output¶
This class defines how properties, trajectories and checkpoints should be output during the simulation. May contain zero, one or many instances of properties, trajectory or checkpoint tags, each giving instructions on how one output file should be created and managed.
ATTRIBUTES¶
prefix
A string that will be prepended to each output file name. The file name is given by ‘prefix’.’filename’ + format_specifier. The format specifier may also include a number if multiple similar files are output.
dtype: string
default: i-pi
FIELDS¶
Each of the properties tags specify how to create a file in which one or more properties are written, one line per frame.
dtype: string
Each of the trajectory tags specify how to create a trajectory file, containing a list of per-atom coordinate properties.
dtype: string
Each of the checkpoint tags specify how to create a checkpoint file, which can be used to restart a simulation.
dtype: integer
p_ramp¶
PressureRamp Motion class. It just updates the ensemble pressure in steps, between the indicated values, and then holds to the highest value. It should typically be combined with a dynamics class and barostats, using a MultiMotion.
FIELDS¶
p_start
Initial pressure
dtype: float
dimension: pressure
default: 1.0
p_end
Final pressure
dtype: float
dimension: pressure
default: 1.0
logscale
Change pressure on a logarihthmic scale.
dtype: boolean
default: False
total_steps
Total number of steps for the ramp
dtype: integer
default: 0
current_step
Current step along the ramp
dtype: integer
default: 0
planetary¶
Holds all the information for the planetary model frequency matrix calculator.
ATTRIBUTES¶
mode
The constrained-centroid sampling mode.
dtype: string
options: [‘md’]
default: md
FIELDS¶
The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature.
timestep
The time step.
dtype: float
dimension: time
default: 1.0
nmts
Number of iterations for each MTS level (including the outer loop, that should in most cases have just one iteration).
dtype: integer
default: [ ]
nsamples
Number of samples to accumulate for each planetary step.
dtype: integer
default: 0
stride
How often the planetary calculation should actually be triggered.
dtype: integer
default: 1
nbeads
Number of beads for centroid-constrained dynamics (default same as main trajectory)
dtype: integer
default: -1
screen
Screening parameter for path-integral frequency matrix.
dtype: float
dimension: length
default: 0.0
positions¶
This is the class to initialize positions.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘ase’ is to read a file with the Atomic Simulation Environment. ‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector.
dtype: string
options: [‘manual’, ‘xyz’, ‘pdb’, ‘ase’, ‘chk’]
default: chk
index
The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed.
dtype: integer
default: -1
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
prng¶
Deals with the pseudo-random number generator.
ATTRIBUTES¶
n_threads
Use parallel PRNG generator. Will make trajectories less reproducible and is only faster if the arrays are very large.
dtype: integer
default: 1
FIELDS¶
seed
This specifies the seed number used to generate the initial state of the random number generator. Previously, the default seed was fixed as 123456. Currently, the default seed is random and given by the system time (down to ms). This is done in utils/prng.py.
dtype: integer
default: -1
state
Gives the state vector for the random number generator. Avoid directly modifying this unless you are very familiar with the inner workings of the algorithm used.
dtype: string
default:
properties¶
This class deals with the output of properties to one file. Between each property tag there should be an array of strings, each of which specifies one property to be output.
dtype: string
ATTRIBUTES¶
shape
The shape of the array.
dtype: tuple
default: (0,)
mode
If ‘mode’ is ‘manual’, then the array is read in directly, then reshaped according to the ‘shape’ specified in a row-major manner. If ‘mode’ is ‘file’ then the array is read in from the file given.
dtype: string
options: [‘manual’, ‘file’]
default: manual
filename
A string to specify the name of the file that is output. The file name is given by ‘prefix’.’filename’ + format_specifier. The format specifier may also include a number if multiple similar files are output.
dtype: string
default: out
stride
The number of steps between successive writes.
dtype: integer
default: 1
flush
How often should streams be flushed. 1 means each time, zero means never.
dtype: integer
default: 1
remd¶
Replica Exchange
FIELDS¶
stride
Every how often to try exchanges (on average).
dtype: float
default: 1.0
krescale
Rescale kinetic energy upon exchanges.
dtype: boolean
default: True
swapfile
File to keep track of replica exchanges
dtype: string
default: remd_idx
repindex
List of current indices of the replicas compared to the starting indices
dtype: integer
default: [ ]
scp¶
Self-consistent phonons class. It variationally optimizes the free energy to calculate the best harmonic approximation to a system.
ATTRIBUTES¶
mode
The statistics to be used in the calculation of the free energy. Quantum (qn) or classical (cl) Boltzmann statistics.
dtype: string
options: [‘qn’, ‘cl’]
default: qn
FIELDS¶
prefix
Prefix of the output files.
dtype: string
default:
asr
The method used to project out zero modes coming from continuous symmetries: crystal removes the three translational modes; molecule removes the three rotational modes in addition to the translational ones. none keeps all the modes.
dtype: string
options: [‘none’, ‘crystal’, ‘poly’]
default: none
random_type
Chooses the type of random numbers.
dtype: string
options: [‘sobol’, ‘pseudo’, ‘file’]
default: pseudo
displace_mode
The type of optimisation strategy for obtaining the mean position. sd stands for a steepest descent algorithm. ik stands for a Newton-Raphson scheme that requires the inverse of the force constant matrix iK. nmik stands for a Newton-Raphson scheme that only displaces along normal modes directions with statistically significant forces. rnmik same as nmik but performs several optimization steps using a reweighted sampling.
dtype: string
options: [‘ik’, ‘sd’, ‘nmik’, ‘rnmik’]
default: nmik
dynmat
The dynamical matrix of the trial Hamiltonian.
dtype: float
default: [ ]
max_steps
Maximum number of Monte carlo steps per SCP iteration.
dtype: integer
max_iter
Maximum number of SCP iterations.
dtype: integer
default: 1
tau
Step size along the gradient for the sd displace_mode
dtype: float
default: 1.0
wthreshold
Threshold on minimum Boltzmann weights before more statistics must be accumulated.
dtype: float
default: 0.9
precheck
Flag for checking statistical significance of forces before optimisation of mean position.
dtype: boolean
default: True
checkweights
Flag for checking Boltzmann weights for whether more statistics are required.
dtype: boolean
default: True
chop
Threshold below which frequencies are set to zero.
dtype: float
default: 1e-09
nparallel
The number of Monte Carlo forces to be evaluated (in parallel) per i-PI step.
dtype: integer
default: 1
batch_weight_exponent
The exponent used to suppress low batch weights.
dtype: integer
default: 1
simulation¶
This is the top level class that deals with the running of the simulation, including holding the simulation specific properties such as the time step and outputting the data.
ATTRIBUTES¶
verbosity
The level of output on stdout.
dtype: string
options: [‘quiet’, ‘low’, ‘medium’, ‘high’, ‘debug’]
default: medium
threading
Whether multiple-systems execution should be parallel. Makes execution non-reproducible due to the random number generator being used from concurrent threads.
dtype: boolean
default: True
mode
What kind of simulation should be run.
dtype: string
options: [‘md’, ‘static’]
default: md
safe_stride
Consistent simulation states will be saved every this number of steps. Saving state entails a small overhead, so you may want to set this to the smallest output frequency in your simulation to make i-PI faster. Use at your own risk!
dtype: integer
default: 1
floatformat
A format for all printed floats.
dtype: string
default: %16.8e
sockets_prefix
A prefix prepended to the address value to form the UNIX-domain socket location.
dtype: string
default: /tmp/ipi_
FIELDS¶
Deals with the pseudo-random number generator.
This class defines how properties, trajectories and checkpoints should be output during the simulation. May contain zero, one or many instances of properties, trajectory or checkpoint tags, each giving instructions on how one output file should be created and managed.
step
The current simulation time step.
dtype: integer
default: 0
total_steps
The total number of steps that will be done. If ‘step’ is equal to or greater than ‘total_steps’, then the simulation will finish.
dtype: integer
default: 1000
total_time
The maximum wall clock time (in seconds).
dtype: float
default: 0
Options for a ‘super-motion’ step between system replicas
This is the class which holds all the data which represents a single state of the system.
Generic input value
Deals with the assigning of force calculation jobs to different driver codes, and collecting the data, using a socket for the data communication.
Direct potential that evaluates forces through a Python call, using PES providers from a list of possible external codes. The available PES interfaces are listed into the ipi/pes folder, and are the same available for the Python driver. The <parameters> field should contain a dictionary of the specific option of the chosen PES.
Simple, internal LJ evaluator without cutoff, neighbour lists or minimal image convention. Expects standard LJ parameters, e.g. { eps: 0.1, sigma: 1.0 }.
Simple, internal DMD evaluator without without neighbor lists, but with PBC. Expects coupling elements (n*(n-1)/2 of them), oscillating frequency and time step.
Harmonic energy calculator
Direct PLUMED interface. Can be used to implement metadynamics in i-PI in combination with the <metad> SMotion class. NB: if you use PLUMED for constant biasing (e.g. for umbrella sampling) the bias will be computed but there will be no output as specified in the plumed.dat file unless you include a <metad> tag, that triggers the log update.
Uses a Yaff force field to compute the forces.
Combines multiple forcefields to build a committee model, that can be used to compute uncertainty-quantified machine-learning models. Each forcefield can be any of the other FF objects, and each should be used with a client that generates a slightly different estimation of energy and forces. These are averaged, and the mean used as the actual forcefield. Statistics about the distribution are also returned as extras fields, and can be printed for further postprocessing. It is also possible for a single FF object to return a JSON-formatted string containing entries committee_pot, committee_force and committee_virial, that contain multiple members at once. These will be unpacked and combined with whatever else is present. Also contains options to use it for uncertainty estimation and for active learning in a ML context, based on a committee model. Implements the approaches discussed in [Musil et al.](http://doi.org/10.1021/acs.jctc.8b00959) and [Imbalzano et al.](http://doi.org/10.1063/5.0036522)
A SGDML energy calculator
A cavity molecular dynamics driver for vibraitonal strong coupling. In the current implementation, only a single cavity mode polarized along the x and y directions is coupled to the molecules. Check https://doi.org/10.1073/pnas.2009272117 and also examples/lammps/h2o-cavmd/ for details.
smotion¶
Allow chosing the type of smotion to be performed. Holds all the information that is calculation specific, such as replica exchange parameters, etc.
ATTRIBUTES¶
mode
Kind of smotion which should be performed.
dtype: string
options: [‘dummy’, ‘remd’, ‘metad’, ‘dmd’, ‘multi’]
FIELDS¶
string_optimizer¶
Contains the required parameters for performing string minimal energy path optimization.
ATTRIBUTES¶
mode
The geometry optimization algorithm to optimize MEP string
dtype: string
options: [‘sd’, ‘cg’, ‘bfgs’, ‘bfgstrm’, ‘damped_bfgs’, ‘lbfgs’, ‘fire’, ‘euler’]
default: bfgstrm
FIELDS¶
tolerances
Tolerance criteria to stop String optimization. If you work with DFT, do not use these defaults.
old_coord
The previous position in an optimization step.
dtype: float
dimension: length
default: [ ]
full_force
The previous full-dimensional force in an optimization step.
dtype: float
dimension: force
default: [ ]
full_pots
Previous physical potentials of all beads.
dtype: float
dimension: energy
default: [ ]
old_stringpotential
Previous string potential energy.
dtype: float
default: [ ]
old_stringgradient
The previous gradient of the string.
dtype: float
default: [ ]
old_direction
The previous direction.
dtype: float
default: [ ]
biggest_step
The maximum atomic displacement in a single step of optimizations within String MEP procedure. If requested step is larger, it will be downscaled so that maximal atomic displacement won’t exceed biggest_step.
dtype: float
dimension: length
default: 0.5
scale_lbfgs
Scale choice for the initial hessian. 0 identity. 1 Use first member of position/gradient list. 2 Use last member of position/gradient list.
dtype: integer
default: 2
hessian_bfgs
Approximate Hessian for damped_BFGS, if known.
dtype: float
default: [ ]
qlist_lbfgs
List of previous position differences for L-BFGS, if known.
dtype: float
default: [ ]
glist_lbfgs
List of previous gradient differences for L-BFGS, if known.
dtype: float
default: [ ]
corrections_lbfgs
The number of past vectors to store for L-BFGS.
dtype: integer
default: 5
tr_trm
Starting value for the trust radius for BFGSTRM.
dtype: float
dimension: length
- default:
[1.]
dtmax_fire
Maximum time interval per step for FIRE.
dtype: float
default: 1.0
v_fire
Current velocity for FIRE
dtype: float
default: [ ]
alpha_fire
velocity mixing factor for FIRE
dtype: float
default: 0.1
N_down_fire
consecutive steps in downhill dierction for FIRE
dtype: integer
default: 0
N_up_fire
consecutive steps in uphill direction
dtype: integer
default: 0
dt_fire
time per step
dtype: float
default: 0.1
endpoints
Geometry optimization of endpoints (not implemented yet)
stage
Stage of the String pipeline: optimization of the endpoints, string opt., climbing image opt.
dtype: string
options: [‘endpoints’, ‘string’, ‘climb’]
default: string
use_climb
Use climbing image String MEP or not
dtype: boolean
default: False
climb_bead
The index of the climbing bead.
dtype: integer
default: -1
system¶
This is the class which holds all the data which represents a single state of the system.
ATTRIBUTES¶
prefix
Prepend this string to output files generated for this system.
dtype: string
default:
FIELDS¶
Specifies the number of beads, and how the system should be initialized.
Deals with creating all the necessary forcefield objects.
Holds all the information that is ensemble specific, such as the temperature and the external pressure.
Allow chosing the type of calculation to be performed. Holds all the information that is calculation specific, such as geometry optimization parameters, etc.
Describes the bead configurations in a path integral simulation.
Deals with the normal mode transformations, including the adjustment of bead masses to give the desired ring polymer normal mode frequencies if appropriate. Takes as arguments frequencies, of which different numbers must be specified and which are used to scale the normal mode frequencies in different ways depending on which ‘mode’ is specified.
Describes with the cell parameters. Takes as array which can be used to initialize the cell vector matrix. N.B.: the cell parameters are stored with the lattice vectors in the columns, and the cell must be oriented in such a way that the array is upper-triangular (i.e. with the first vector aligned along x and the second vector in the xy plane).
dtype: float
dimension: length
- default:
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
system_template¶
Generic input value
FIELDS¶
template
A string that will be read verbatim containing the model for a system to be generated
dtype: string
labels
A list of strings that should be substituted in the template to create multiple systems
dtype: string
instance
A list of strings that should the labels creating one system instance
dtype: string
t_ramp¶
TemperatureRamp Motion class. It just updates the ensemble temperature in steps, between the indicated temperatures, and then holds to the highest value. It should typically be combined with a dynamics class and thermostats, using a MultiMotion.
FIELDS¶
t_start
Initial temperature
dtype: float
dimension: energy
default: 1.0
t_end
Final temperature
dtype: float
dimension: energy
default: 1.0
logscale
Change temperature on a logarihthmic scale.
dtype: boolean
default: False
total_steps
Total number of steps for the ramp
dtype: integer
default: 0
current_step
Current step along the ramp
dtype: integer
default: 0
thermostat¶
Simulates an external heat bath to keep the velocity distribution at the correct temperature.
ATTRIBUTES¶
mode
The style of thermostatting. ‘langevin’ specifies a white noise langevin equation to be attached to the cartesian representation of the momenta. ‘svr’ attaches a velocity rescaling thermostat to the cartesian representation of the momenta. Both ‘pile_l’ and ‘pile_g’ attaches a white noise langevin thermostat to the normal mode representation, with ‘pile_l’ attaching a local langevin thermostat to the centroid mode and ‘pile_g’ instead attaching a global velocity rescaling thermostat. ‘gle’ attaches a coloured noise langevin thermostat to the cartesian representation of the momenta, ‘nm_gle’ attaches a coloured noise langevin thermostat to the normal mode representation of the momenta and a langevin thermostat to the centroid and ‘nm_gle_g’ attaches a gle thermostat to the normal modes and a svr thermostat to the centroid. ‘cl’ represents a modified langevin thermostat which compensates for additional white noise from noisy forces or for dissipative effects. ‘ffl’ is the fast-forward langevin thermostat, in which momenta are flipped back whenever the action of the thermostat changes its direction. ‘multiple’ is a special thermostat mode, in which one can define multiple thermostats _inside_ the thermostat tag.
dtype: string
options: [‘’, ‘langevin’, ‘svr’, ‘pile_l’, ‘pile_g’, ‘gle’, ‘nm_gle’, ‘nm_gle_g’, ‘cl’, ‘ffl’, ‘multi’]
FIELDS¶
ethermo
The initial value of the thermostat energy. Used when the simulation is restarted to guarantee continuity of the conserved quantity.
dtype: float
dimension: energy
default: 0.0
tau
The friction coefficient for white noise thermostats.
dtype: float
dimension: time
default: 0.0
pile_lambda
Scaling for the PILE damping relative to the critical damping. (gamma_k=2*lambda*omega_k
dtype: float
default: 1.0
pile_centroid_t
Option to set a different centroid temperature wrt. that of the ensemble. Only used if value other than 0.0.
dtype: float
dimension: temperature
default: 0.0
A
The friction matrix for GLE thermostats.
dtype: float
dimension: frequency
default: [ ]
C
The covariance matrix for GLE thermostats.
dtype: float
dimension: temperature
default: [ ]
s
Input values for the additional momenta in GLE.
dtype: float
dimension: ms-momentum
default: [ ]
intau
The inherent noise time scale for compensating langevin thermostats.
dtype: float
dimension: time
default: 0.0
idtau
The inherent dissipation time scale for compensating langevin thermostats.
dtype: float
dimension: time
default: 0.0
apat
The time scale for automatic adjustment of CL thermostat’s parameters.
dtype: float
dimension: time
default: 0.0
flip
Flipping type for ffl thermostat (‘soft’, ‘hard’, ‘rescale’, ‘none’)
dtype: string
default: rescale
The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature.
trajectory¶
This class defines how one trajectory file should be output. Between each trajectory tag one string should be given, which specifies what data is to be output.
dtype: string
ATTRIBUTES¶
filename
A string to specify the name of the file that is output. The file name is given by ‘prefix’.’filename’ + format_specifier. The format specifier may also include a number if multiple similar files are output.
dtype: string
default: traj
stride
The number of steps between successive writes.
dtype: integer
default: 1
format
The output file format.
dtype: string
options: [‘xyz’, ‘pdb’, ‘ase’, ‘bin’]
default: xyz
cell_units
The units for the cell dimensions.
dtype: string
default:
bead
Print out only the specified bead. A negative value means print only one every -(bead) beads, e.g. -2 means print just the even beads, -4 one every four and so on.
dtype: integer
default: -1
flush
How often should streams be flushed. 1 means each time, zero means never.
dtype: integer
default: 1
extra_type
What extra to print from the extra, if it’s returned as a JSON dictionary. Can also use ‘raw’ to print the full data of the unprocessed extra string, or a comma-separated list of keys to print multiple keys, horizontally stacked.
dtype: string
default: raw
velocities¶
This is the class to initialize velocities.
dtype: string
ATTRIBUTES¶
mode
The input data format. ‘xyz’ and ‘pdb’ stand for xyz and pdb input files respectively. ‘chk’ stands for initialization from a checkpoint file. ‘manual’ means that the value to initialize from is giving explicitly as a vector. ‘thermal’ means that the data is to be generated from a Maxwell-Boltzmann distribution at the given temperature.
dtype: string
options: [‘manual’, ‘xyz’, ‘pdb’, ‘ase’, ‘chk’, ‘thermal’]
default: chk
index
The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed.
dtype: integer
default: -1
bead
The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed.
dtype: integer
default: -1
vibrations¶
Dynamical matrix Class. It calculates phonon modes and frequencies in solids as well as normal vibrational modes and frequencies of aperiodic systems.
ATTRIBUTES¶
mode
The algorithm to be used: finite differences (fd), normal modes finite differences (nmfd), and energy-scaled normal mode finite differences (enmfd).
dtype: string
options: [‘fd’, ‘nmfd’, ‘enmfd’]
default: fd
FIELDS¶
pos_shift
The finite displacement in position used to compute derivative of force.
dtype: float
default: 0.01
energy_shift
The finite displacement in energy used to compute derivative of force.
dtype: float
default: 0.0
output_shift
Shift by the dynamical matrix diagonally before outputting.
dtype: float
default: 0.0
prefix
Prefix of the output files.
dtype: string
default: phonons
asr
Removes the zero frequency vibrational modes depending on the symmerty of the system.
dtype: string
options: [‘none’, ‘poly’, ‘lin’, ‘crystal’]
default: none
dynmat
Portion of the dynamical matrix known up to now.
dtype: float
default: [ ]
refdynmat
Portion of the refined dynamical matrix known up to now.
dtype: float
default: [ ]