pytint input file#
The inputfile is yaml formatted. In this section the possible keys in the inputfile is discussed. The input file consists of two main keys, and four separate blocks. For a sample of the inputfile see the end of this document. The two main keys are as shown below-
main keys#
elementChemical symbol(s) of the element(s) in the simulation.type: string/list of strings
example:
element: 'Cu' element: ['Cu', 'Zr']
massMass of the element(s) in the simulation. It should follow the same order as that ofelement.type: float/list of floats
example:
mass: 63.546 mass: [63.546, 91.224]
calculation block#
Other than these two main keys, all other options are specified in blocks. The first block is the calculations block. This block can list all the calculations that pytint should perform and it can have more than one entry. A sample calculation block is shown below.
calculations:
- mode: ts
temperature: [1300, 1400]
pressure: [0]
lattice: [FCC]
repeat: [2, 2, 2]
state: solid
nsims: 1
The various keys are-
modeCalculation mode. Eitherfefor free energy calculations ortsfor temperature sweep.type: string,
feorts
example:
mode: fe mode: ts
temperatureTemperatures for the simulation in Kelvin.type: list of floats
example:
temperature: [1200, 1300] The way temperature is used ``pytint`` depends on the selected mode of calculation. If the ``mode`` is ``fe``\ , a free energy calculation is launched for each temperature on the list. If the mode is ``ts``\ , a temperature sweep is carried out. In that case, only two values of temperature should be specified.
pressurePressure for the simulation in bars.type: list of floats
example:
pressure: [0, 10000] For each pressure specified in the list, one calculation will be started. For example, in the following combination-
mode: fe temperature: [1000, 1200] pressure: [0, 10000] A total of 2 temperatures * 2 pressures, 4 calculations will be started. If the mode is ``ts`` for the same configuration above, 2 calculations will be started.
latticeLattice to be used for the calculations.type: string of list of strings
example:
lattice: FCC lattice: [FCC, LQD] lattice: [FCC, conf.data] The ``lattice`` option can use either LAMMPS for creation of input structure or use an input file in the LAMMPS data format. To use LAMMPS to create the structure, the keyword specified should be from the following: ``BCC``\ , ``FCC``\ , ``HCP``\ , ``DIA``\ , ``SC`` and ``LQD``. LAMMPS lattice creation can **only be used for single species**. If ``LQD`` is specified, a solid structure will be first created and melted within the MD run. Alternatively, a LAMMPS data file can be specified which contains the configuration.
stateThe protocol to be used for the calculation.type: string of list of strings
example:
state: solid state: [solid, liquid] The ``state`` input is closely related to the ``lattice`` command. It should be of the same length as the ``lattice`` input. For each of the lattice specified, ``state`` command specifies which reference state to use.
lattice_constantlattice constant for input structurestype: list of floats
example:
lattice_constant: 3.68 lattice_constant: [3.68, 5.43] Lattice constant values to be used for initial structure creation. Only required if the structure is created through LAMMPS. If not specified, the experimental lattice constant will be used.
isoSpecify if the barostat is isotropic or anisotropic.type: list of bools
example:
iso: True iso: [True, False] Specify whether the barostat will control the pressure isotropically or anisotropically.
repeatThe number of unit cells to be replicated in each direction.type: list of ints of length 3
example:
repeat: [3,3,3] ``repeat`` command specifies the number of unit cells required in each x, y and z directions. This is only used if ``lattice`` command uses one of the LAMMPS structure keywords.
nsimsThe number of backward and forward interactions to be carried out.type: int
example:
nsims: 3
md block#
MD block consists of the various options required for the MD runs. An example block is given below and the keys are discussed.
md:
pair_style: eam/alloy
pair_coeff: "* * Cu_EAM/Cu01.eam.alloy Cu"
timestep: 0.001
tdamp: 0.1
pdamp: 0.1
te: 10000
ts: 15000
pair_styleThe pair style command for LAMMPS.type: string
example:
pair_style: eam/alloy pair_style: eam/fs pair_style: pace
pair_coeffThe pair coeff command for LAMMPS.type: string
example:
pair_coeff: "* * Cu_EAM/Cu01.eam.alloy Cu" pair_coeff: "* * CuZr_EAM/CuZr.eam.fs Cu Zr"
timestepThe timestep for MD in picoseconds.type: float
example:
timestep: 0.001
tdampThe thermostat damping for MD in time units.type: float
example:
tdamp: 0.1
pdampThe pressure damping for MD in time units.type: float
example:
pdamp: 0.1
teThe number of time steps for equilibrating the system.type: int
example:
te: 10000
tsThe number of time steps for switching between the system of interest and reference system.type: int
example:
ts: 10000
queue block#
This block consints of the options for specifying the scheduler for carrying out the calculations. An example block is given below-
queue:
scheduler: local
cores: 2
jobname: ti
walltime: "23:50:00"
queuename: shorttime
memory: 3GB
modules:
- anaconda/4
commands:
- conda activate env
schedulerThe scheduler to be used for the job. Can belocal,slurmorsge.type: string
example:
scheduler: slurm The code has been tested only on local and slurm.
coresThe number of cores to be used for the job.type: int
example:
cores: 4
jobnameName of the job.type: string
example:
jobname: cu Not used for ``local``.
walltimeWalltime for the job.type: string
example:
walltime: "23:50:00" Not used for ``local``.
queuenameName of the queue.type: string
example:
queuename: "shorttime" Not used for ``local``.
memorymemory to be used per core.type: string
example:
memory: 3GB Not used for ``local``.
commandsCommand that will be run before the actual calculations are carried out.type: list of strings
example:
command: - source .bashrc - conda activate ace - module load lammps This section can be used to specify commands that need to be run before the actual calculation. If the calculations are run within a conda environment, the activate command for conda should be specified here. If additional modules need to be loaded, that can also be specified here.
conv block#
This block helps to tune the internal convergence parameters that pytint uses. Generally, tuning these parameters are not required.
conv:
k_tol: 0.01
solid_frac: 0.7
liquid_frac: 0.05
p_tol: 0.5
k_toltolerance for the convergence of spring constant calculation.type: float
example:
ktol: 0.01
solid_fracThe minimum amount of solid particles that should be there in solid.type: float
example:
solid_frac: 0.7
liquid_fracMaximum fraction of solid atoms allowed in liquid after melting.type: float
example:
liquid_frac: 0.05
p_toltolerance for the convergence of pressure.type: float
example:
p_tol: 0.5