This is a molecular dynamics (MD) simulation code for the modeling of the heterogeneous nucleation of vapor molecules with a low concentration molecule or ion existing in gas phase. One of the feature of this code is the feasibility of the calculation at extremely low vapor pressure (we tested ~10 Pa of vapor pressure with MeOH and water).
Figure 1 is a schematic diagram of this MD simulation code. A molecular specie is arranged at the center of cubic calculation domain as a seed of the heterogeneous vapor nucleation, while the gas molecules and the vapor moecules are arranged entire of the cubic domain. These moeluces are treated as a all-atoms model in a spherical "effective domain" which is centered on a seed molecule. The effective domain diameter should be large enough and 10 nm is currently employed. The effective domain moves with centered seed molecule during whole simulation time, hence the seed molecule is always calclated as all-atom model. On the other hand, the gas and the vapor molecules are hadlied as a point of mass at the outside of the effective domain. In addition, every interactions at the outside of effective domain are ignored.
There is simple makefile in the top directory Nucleation_MD
. You can type type make
from the top directory at the teminal then the binary (executable) file nucleationMD
is generated in the src
directory.
After building and prepearing the simulation conditions (the detail how to set conditions is explained in the later section), you can start the simulation with following command.
./binaryFileName inputFileName calculationNumber
binaryFileName
is the built code in previous section (default name is nucleationMD
). inputFileName
is file to set the input conditions which details are explained in next section. calculationNumber
is arbitrary integer and it may be used to distingish the calculation result when you change the calculation conditions.
Syntax:
Input fileName
Example:Input angiotensinII+1.atom
Ion input file namefileName
is mentioned via theInput
command, where the file include following components.
- What atoms compose the ion
- The atoms charges i.e., particle charges
- The atoms position i.e., ion initial structure
- Types of the atoms (potential parametes)
- Bond types (potential parametes)
- Angle types (potential parametes)
- Dihedral types (potential parametes)
- Bond list
- Angle list
- Dihedral list
This section explain more detail about the ion input file and you can see some expamples from here.
Syntax:
Vapor fileName N
Example:Vapor MeOH 100
Vapor input file name (fileName
) and number of vapors (N
) are mentioned viaVapor
command. The input file structure is same as ion input. Example arange 100 MeOH molecules in calculation doamin.
Syntax:
Gas type N
Example:Gas N2 100000
Gas type (type
) and number of its gas molecules (N
) are mentioned viaGas
command. Currently, following four types of gases are available.
He
: helium
Ar
: Argon
N2
:Nitrogen (diatomic)
N2mono
: Nitrogen (monoatomic)
Example arange 100,000 diatomic nitrogen molecules in calculation domain.
Syntax:
Temperature T
Example:Temperature 300
Temperature
command set the calculation temperature (T
) in the unit of Kelvin. In this simulator, only gas & vapor temperatures are controled by velocity resampling method at the boundary. The ion temperature is also supposed to be near this temperature by heat transfer with gas & vapor molecules. Please refer here about the detail of this method.
Syntax:
Pressure p
Example:Pressure 100000
Pressure
command set the gas pressure however this calculation does not control the pressure. Also, virial is not considered in this pressure setting since this simulator is designed for diluted system, i.e., gas phase calculation. If the molecule concentration is sufficiently low, the molecular interactions and molecular volumes are negligible, which means the perfect gas theory$PV=Nk_bT$ is avairable. When the pressure, temperature, and number of gas molecule are given, the simulation volume is decided. The simulation performed with that calculated volume (with constant T & constant N) is supposed to show the setting pressure.
Syntax:
dt value
Example:dt 1
dt
command set the time stepvalue
in unit of fs.
Syntax:
TotalSteps N
Example:TotalSteps 1000000000
Totalsteps
command set the total number of calculation steps (iteration),N
.
Syntax:
RelaxSteps N
Example:RelaxSteps 1000000
RelaxSteps
command set the total number of relaxation steps which performed in prior of the main calculation to make ion structure thermally relax.
Syntax:
NVTion value
Example:NVTion value
NVTion
command set the ion temperature,T
at the thermal relaxation step. If the relaxation process is performed without thermal bath,OFF
is sbstituted invalue
in stead of temperature value.
Syntax:
Output fileName N
Example:output NaCl 100000
Output
command set a output file name,fileName
and output interval,N
. Output file is generated with readable format via visualization tool OVITO and the atomic positions/velocities of atoms in the effective domain are recorded. The extension.dump
is automatically given tofileName
. In this example, the simulation generateNaCl.dump
and write the atomic informaiton in eachN
steps.
Syntax:
Interactions ion potential gg potential gi potential gv potential vi potential vv potential
Example:
Interactions ion Born-Mayer-Huggins-NaCl gg OFF gi LJ gv LJ vi LJcoul vv LJcoul
Interactions
command set the atomic interactions.
- Dr. Tomoya Tamadate
- LinkedIn/ResearchGate/Google Scholar
- University of Minnesota
- tamalab0109[at]gmail.com