Documents for CPIHMC code version 0.1.0alpha.
MD, HMC, CHMC simulations with different types of potential under a canonical or grand canonical ensemble condition. Besides, nuclear quantum effects can be considered through the path integral formalism involved in the method.
- Potential energy and forces can be calculated by DP, VASP and ABACUS. (Only DP is supported for the moment.)
- For the grand canonical ensemble, only CHMC, CPIHMC is supported.
- Model deviation is only available for the potential energy and forces calculated by DP. Meanwhile, all situations can be performed in a model deviation mode.
-
mass: u,
$1$ u =$1.66053886\times 10^{-27}$ kg -
length: Bohr,
$1$ Bohr =$0.529177\AA$ -
time: fs
-
energy: u
$\cdot$ Bohr$^2\cdot$ fs$^{-2}$ ,$1$ J =$2.15055\times 10^{17}$ u$\cdot$ Bohr$^2\cdot$ fs$^{-2}$ ,$1$ eV =$0.0344556$ u$\cdot$ Bohr$^2\cdot$ fs$^{-2}$ -
force: u
$\cdot$ Bohr$\cdot$ fs$^{-2}$ ,$1$ eV/$\AA$ =$0.0182331$ u$\cdot$ Bohr$\cdot$ fs$^{-2}$
-
$k$ =$2.96915\times 10^{-6}$ u$\cdot$ Bohr$^2\cdot$ fs$^{-2}\cdot$ K$^{-1}$ -
$h$ =$0.142497$ u$\cdot$ Bohr$^2\cdot$ fs$^{-1}$ -
$\hbar$ =$0.0226791$ u$\cdot$ Bohr$^2\cdot$ fs$^{-1}\cdot$ rad$^{-1}$
Simulation parameters should be set in INPUT
, and the parameters not in the INPUT
are set to be default values. All optional parameters are listed later in this document.
STRU
contains the initial structure in the format of ABACUS. However, if necessary, the electron number of the system should be put in the beginning of STRU
by a title ELECTRON_NUMBER with a following line of the electron number value.
As for path integral, if there's a need to set different coordinates of beads at the beginning, set the centroid coordinates in STRU
, and put different coordinates of beads in BEADS
. For this situation, don't forget to add the parameter Beads_File into INPUT
.
Attention: The unit of coordinates in
BEADS
is Bohr.
For the DP situation, don't forget to prepare a DP potential and refer to the potential with the parameter Deep_Pot_Model in INPUT
.
The value of all parameters used in the simulation.
Selected physical quantities for each several step(s). The output interval can be set by the paramter Phy_Quant_Intvl in INPUT
.
Dumped structures along the simulation process.
Model deviation results of virials and forces between different DP potentials. Only output in the model deviation mode.
- Stru_File default: STRU (optional)
the structure file. It's necessary only when you want to rename the structure file.
- Pot_Type default: DP (optional)
the style used to obtain the potential energy and forces.
choices: DP
- Deep_Pot_Model default: (optional)
the DP potential for the system. It's necessary when the DP potential is used for the potential energy and forces.
- Simu_Type default: CHMC (optional)
the simulation type.
choices: MD, HMC, CHMC
- Steps (required)
the number of simulation steps. A step means a sampling process between two adjacent acceptance judges.
- Temp default: 300
unit: K
the temperature of the simulation.
- N_Type (required)
the number of element(s).
- Element_Type (required)
different element type(s) at the order in DP potential. The parameters are always required but only used for the order when the parameter Element_Index is not set.
- Element_Index default: / (optional)
different element index(s) used in DP potential mapping to element type(s) one-to-one. The parameter only displays when it has been set up.
- Wall default: None (optional)
unit (wall position): Bohr
the hard wall(s) set to limit atom coordinates in the cell. The wall can be set on 6 directions. However, the function is not available in the MD simulations. The format of this parameter is string-floating point pair(s) constituted by a wall name and a number defining the position of the wall, such as xlo 129.3.
choices (wall name): xlo, xhi, ylo, yhi, zlo, zhi
- Group default: None (optional)
the group(s) of atom(s) defined with range(s). The format of this parameter is a group name followed by a range of the index(es) of atom(s) composing the group. The group name can be set up arbitrarily like the name of a variable in the code. The range is defined in the format b:e[:s], which means the atom(s) with the index(es) in the interval [b, e) under a stride s is(are) included in the group. The default stride is 1.
example: Group bottom 1:6 Proton 36:40:2 (In this example, two groups named "bottom" and "Proton" are defined. The group named "bottom" contains five atoms with the indexes 1, 2, 3, 4 and 5. And the group named "Proton" contains two atoms with the indexes 36 and 38.)
- Time_Step default: 1.0
unit: fs
the time step of MD simulations.
- N_Evol_Step default: 3 (optional)
the number of V-V steps between two adjacent judges.
- Time_Step default: 1.0
unit: fs
the time step of V-V step in HMC simulations.
- Mass_Scal default: 1.0 (optional)
the mass scaling coefficient used in the HMC scheme. Decreasing the masses of all elements owns the similar effect of increasing the velocity sampling temperature.
- Hybrid_Monte_Carlo_Ratio default: 0.8 (optional)
the ratio of the HMC part in the centroid move. The centroid move contains HMC part and MC part.
- Virt Atom default: None (optional)
the virtual atom(s) used in the definition of the reaction coordinate. The virtual atom is the centroid of the atoms composing it. The format of the parameter is a virtual atom name followed by the indexes of atoms composing the virtual atom. The virtual atom name can be set up arbitrarily like the name of a variable in the code.
example: Virt_Atom Cent_0 9 6 16 Cent_1 1 36 (In this example, two virtual atoms named "Cent_0" and "Cent_1" are defined. The virtual atom named "Cent_0" is the centroid of three atoms with the indexes 9, 6 and 16. And the virtual atom named "Cent_1" is the centroid of two atoms with the indexes 1 and 36.)
- Rxn_Coord default: None (optional)
unit (reaction coordinate value): Bohr
the reaction coordinate(s) used in the constrained simulations. The format of the parameter is a reaction coordinate type followed by three types of parameters for this reaction coordinate, the indexes of atoms involved in the reaction coordinate, the reaction coordinate value and the parameters for the MC part to evolve the reaction coordinate. The atom index can be either the index of the real atom or the name of the virtual atom.
choices (reaction coordinate type): DIST, DIFF
DIST: the distance between two particles. Two atom indexes are required in the order
$i_1$ $i_2$ , then the reaction coordinate is $|\vec{r}{i_1}-\vec{r}{i_2}|$. Only one parameter is required for the MC part, and the parameter denotes the radius of the random sphere.example: DIST Cent_0 1 0.6 0.1 (In this example, the reaction coordinate is the distance between the virtual atom named "Cent_0" and the real atom with the index 1. The reaction coordinate value is 0.6 Bohr, and the radius of the random sphere used in the MC part is 0.1.)
DIFF: the difference of particles' distances. Three atom indexes are required in the order
$i_1$ $i_2$ $i_3$ , then the reaction coordinate is $|\vec{r}{i_2}-\vec{r}{i_1}|-|\vec{r}{i_2}-\vec{r}{i_3}|$. Three parameters are required for the MC part, the random widths of the length, the theta and the phi.example: DIFF 6 Cent_1 9 -0.1 0.4 0.1309 1.0472 (In this example, the reaction coordinate is the difference of the distances between the virtual atom named "Cent_1" with two real atoms with indexes 6 and 9 respectively. The reaction coordinate value is -0.1 Bohr, and three parameters used in the MC part are 0.4, 0.1309 and 1.0472.)
- Elec_Num_Ratio default: 0.0 (optional)
the ratio of the electron number variation part in all moves. The electron number variation part will only be involved in the simulation if this parameter doesn't equal to 0.0.
- Mu default: 0.0 (optional)
unit: eV
the electrochemical potential for the grand canonical ensemble.
- Elec_Num_Range default: 0.0 0.0 (optional)
unit: 1
the range of the electron number can be sampled. Two numbers of the parameter are the lower and higher bounds of the range, respectively. The electron number of the initial structure should locate in this range.
- Elec_Num_Width default: 0.04 (optional)
unit: 1
the change width of the electron number.
- Beads_File default: (optional)
the initial beads coordinates file. If the parameter isn't given, all beads are the same as the centroid at the beginning.
- N_Bead default: 1 (optional)
the number of beads.
- N_Change_Bead default: 1 (optional)
the number of bead(s) changed in each step. This parameter should be smaller than the parameter N_Bead.
- Bead_Index default: None (optional)
the index(s) of different bead atom(s) in coordinates.The atom index can be either the index of the real atom or the name of the group.
- Model_Devi_Deep_Pot_Models default: None (optional)
the DP potentials used for the model deviations. More than one DP potentials should be provided, and the DP potential used for the simulation isn't contained inherently.
- Model_Devi_Intvl default: 100 (optional)
the interval between two outputs of model deviation results.
- Model_Devi_File default: MODEL_DEVI (optional)
the file to output the model deviation results.
- Phy_Quant_File default: PHY_QUANT (optional)
the file to output different physical quantities.
- Col_Width default: 12 (optional)
the width of the column in the file to output different physical quantities set by the parameter Phy_Quant_File.
- Out_Phy_Quant default: ke pe etotal (optional)
the physical quantities to be output in the file set by Phy_Quant_File. The physical quantities can be chosen contain kinetic energy, potential energy, total energy, internal energy, electron number, reaction coordinate value, mean force on the left atom, mean force on the right atom, mean force, accumulative average of potential energy.
choices: ke pe etotal eint ne rc mfl mfr mf pe_ave (if more than one reaction coordinates are defined in the simulation, the reaction coordinate value, mean force of each reaction coordinate are labeled by a suffix index beginning with 0. For example, the reaction coordinate value of the second reaction coordinate is rc_1)
- Phy_Quant_Digits default: ke 6 pe 6 etotal 6 (optional)
the decimal digits of physical quantity(ies) to be output in the file set by Phy_Quant_File. The format of this parameter is string-integer pair(s) constituted by a physical quantity and a number defining the decimal digit of the physical quantity, such as ke 2.
- Phy_Quant_Intvl default: 1 (optional)
the number of steps in the interval to output the physical quantity(ies).
- Stru_Intvl default: 100 (optional)
the number of steps in the interval between two outputs of the structures.