Skip to content

Main Input Commands

Douglas M Franz edited this page Apr 27, 2020 · 38 revisions

All of these commands would go in the mcmd input file, which would be run by, e.g. ./mcmd myinput.inp

Command Description Default
jobname [string] The job's name. default_jobname
restart Automatically restarts a previously halted job by replacing the input atoms file with the existing restart.pdb, and saving directory files to saved_dataX where X automatically counts from 1. YOU MUST USE THE input_atoms command if you plan to restart a job. off
mode [mc | md | sp | opt] mc for Monte Carlo; md for Molecular Dynamics. sp for classical single-point energy and multipoles. opt for classical optimization. NONE
omp [int] Enables OpenMP parallelization for faster simulation. Argument is number of threads. 0 will disable OpenMP. Requires compilation with OpenMP enabled. 0
checkpoints_option [on | off] Displays checkpoints from code with relevant timing info (for debugging). off
ensemble [nve|nvt|npt|uvt] Thermodynamic ensemble. nve = Microcanonical; nvt = Canonical; npt = Isobaric,Isothermal (Gibbs); uvt = Grand Canonical. NONE
input_atoms [string] Takes the filename of input atoms in .pdb form (see examples). Not required for uVT simulation. NONE
input_atoms_xyz [string] Option to use an XYZ file for input atoms. The string is the filename. This assumes all atoms are Frozen (e.g. part of a MOF) and uses periodic-table mass, UFF LJ params, and van Duijnen polarizabilities by default. Point-charges (in e) are optional and can be placed in the 5th column. NONE
output_traj_xyz [string] Takes the filename in which to write .xyz trajectory file every corrtime. Especially useful if you view trajectories for uVT simulation using VMD. traj.xyz.
output_traj_pdb [string] Takes the filename in which to write .pdb trajectory file every corrtime. traj.pdb.
draw_box_option [on|off] Enables creation of the simulation box in the restart_pdb and output_traj_pdb files. on
restart_pdb [string] Filename for the restart input_atoms file generated at each corrtime. restart.pdb.
thermo_output [string] Takes the filename in which to write thermodynamic data at each corrtime: energy, temperature, pressure, etc. thermo.dat
potential_form [lj | ljes | ljespolar | ljpolar | tt | ttes | ttespolar | commy | commyes | commyespolar] Dictates which functions to use for potential energy and force (MD only) calculations: lj=Lennard-Jones repulsion-dispersion; tt=Tang-Toennies RD; es=Ewald electrostatics; polar=polarization energy; commy=a VDW RD potential which is a hybrid of LJ and a form from a 1961 paper linked in commy.cpp. lj
rd_lrc [on|off] Enables Lennard-Jones long-range corrections to the potential energy. on
ewald_es [on|off] Enables Ewald-method calculation of electrostatic energy (including long-range). on
ewald_kmax [int] Specifies the maximum k-space vector for Ewald energy/force computation. >3 is generally good. Can be very expensive for large systems if >=5. 7
polar_max_iter [int] Change the max number of iterations for dipole solver in polarization energy calculation. 4
dipole_precision [double] Turns dipole-convergence-by-dipole-precision on (instead of fixed maximum iterations). Expressed in Debye. (the iteration-cap is the default method). A good value is between 1e-7 and 1e-4. NONE
full_A_matrix [on|off] Option to enable the full Thole Polarization A matrix -- takes more (~double) memory but runs faster. on
pdb_traj_option [on|off] Enables PDB trajectory output in output_traj_pdb filename. off
xyz_traj_option [on|off] Option to (also) write .xyz trajectory output. on
big_pdb_traj [on|off] Forces frozen atoms to be (re-)written in trajectory steps in PDB. off
big_xyz_traj [on|off] Forces frozen atoms to be (re-)written in trajectory steps in XYZ. off
com_option [on|off] Enables on-the-fly center-of-mass calculation which adds a COM atom to the output files in each frame. off
pdb_long [on|off] Enables long (%8.6f instead of %8.3f) output for greater precision on atom coordinates. Do NOT enable if you plan to view .pdb output in VMD. off
dist_within [on|off] Enables on-the-fly counter of atoms within a specified radius from the origin at each corrtime. off
dist_within_target [string] Takes the (PDB input label) name of the atom to calculate for dist_within. NONE
dist_within_radius [double] Takes the radius from the origin in which to count occurrences of selected atom. NONE
auto_center [on|x|y|z|xy|xz|yz|xyz|off] Enables automatic centering of all atoms in the dimensions specified to the origin (0,0,0) before beginning simulation. Important to make sure atoms fit in periodic box. on
temperature [double] Temperature in K for fixed-T simulations. NONE
pressure [double] Pressure in atm for fixed-P simulations (including uVT because chemical potential is auto-generated from pressure using equations-of-state). 1.0
sig_override [string] [double] Manually changes the LJ sigma parameter for atoms by name. For multiple, issue this command in multiple lines. (Units = Angstrom) NONE
eps_override [string] [double] Does likewise for LJ epsilon parameter. (Units = Kelvin) NONE
charge_override [string] [double] Does likewise for the partial charge of this site. (Units = elementary charge) NONE
charge_sum_check [on|off] Enables the charge sum check for system neutrality at simulation startup, to make sure Ewald summation is not computed incorrectly. on
radial_dist [on|off] Enables radial-distribution calculation, which updates every corrtime. off
radial_bin_size [double] Specifies the bin size for g(r) in A. 0.1
radial_max_dist [double] Sets the cutoff for relevant g(r) distance calculations between atoms. 10.0
radial_centroid [string] Supplies name of atom (site) to calculate as the the center of g(r) interactions. NONE
radial_counterpart [string] Supplies the other atom to calculate distance from radial_centroid. NONE
radial_file [string] Specifies name of output file for g(r). Supplies bin-counts as a function of pair-distance. radial_distribution.datX (X = pair id for multiple)
radial_exclude_molecules [on|off] Option to exclude intramolecular distances in g(r) pair calculations. off
histogram [on|off] Option for histogram output (which can be viewed in VMD). off
histogram_output [string] Filename for histogram output. histogram.dx
histogram_resolution [double] Resolution of histogram bins in Angstroms. 0.7
lj_uff [on|off] Option to set all atoms' Lennard-Jones sigma and epsilon to UFF (Rappe et al.) values (overrides other input) off
vand_polar [on|off] Option to set all atoms' point-polarizability parameters to van Duijnen values (overrides other input) off
manual_cutoff [double] Overrides the pair-interaction spherical cutoff radius (auto-calculated from box parameters as 1/2 min. length) with user-defined value. NONE
crystalbuild [on|off] Enables the crystal builder (to build super-cells automatically). off
crystalbuild_x [int] Multiplicity of crystal in x-direction (e.g. 2 will duplicate the cell in x). 1
crystalbuild_y [int] Same for y-direction. 1
crystalbuild_z [int] Same for z-direction. 1
crystalbuild_includemovers [on|off] Option to include movable molecules when duplicating system. off
makefrags [int] Enables the fragment-maker and creates the number of fragments specified. The function loops through unique atoms by their name (in the .pdb input) and makes fragments that bury each atom in a fractal-like pattern. NONE
atoms_per_frag [int, int, int,..] Sets the number of atoms that will be created within each fragment. You can do multiple #'s for different fragment sizes. 250
frag_bondlength [double] Sets the initial/default bond-length (in Angstroms) for the fragment-maker. If a fragment fails to build within this constraint, it will grow the bond-length until the goal number of atoms is obtained. 2.1
scale_charges [double] Multiplies all frozen-atom charge parameters by this factor before running the simulation. NONE
sorbate_name [string] [string] [string...] Allows user-selected sorbate models (you need not include the sorbate [or anything at all] in the input_atoms file IF this is used). You MUST include sorbate_fugacities if multi-sorbate (this command) is used in the uVT ensemble. NONE
sorbate_fugacities [double] [double] [double...] Partial pressures (in atm, as explicit fugacities) of sorbates, e.g. 10 10 would yield a total pressure of 20 atm. NONE
no_zero_option [on|off] Option to disallow zero movable molecules in the simulation system. off
write_lammps [on|off] Writes LAMMPS-style inputs from MCMD input at simulation start (for MD simulations). off
bias_uptake [double] [N | wt% | wt%ME | mmol/g | mg/g | cm^3/g | g/mL | g/cm^3] Sets a "goal-uptake", which is achieved in uVT single-sorbate-only simulations by biasing insertions and preventing removes until the goal N is reached. Can accelerate equilibration/loading significantly especially if a good reference value is known. After this, the system equilibrates normally. NONE

Monte Carlo

Command Description Default
mc_corrtime [int] The MC step interval at which output is generated, observable averages re-calculated, etc. 1000
finalstep [int] Specifies the last step to perturb system and calculate energy in MC. NONE
rotate_option [on|off] Enables rigid-body molecular rotations for movable molecules in MC. on
volume_change [double] A factor that is used to change the volume in NPT MC simulations. 2.5 -- Frenkel's value.
vcp_factor [double] A factor used to calculate the probability of doing a volume change in NPT. 1.0 -- Frenkel's value.
displace_factor [double] A factor (length in Angstroms) used to calculate random translations of molecules in MC simulations. 1.0
insert_factor [double] The probability of doing an insert/delete move in uVT MC simluations. 0.5
rotate_angle_factor [double] A factor used to calculate a random angle of rotation for displacement in MC simluations. 360.0
mc_pbc [on|off] Enables periodic-boundary conditions. on
total_energy [double] Potential energy in K as fixed value for NVE simulations. (Should usually be negative!). NONE
simulated_annealing [on|off] Option for simulated annealing. off
simulated_annealing_schedule [double] A factor for exponentially decreasing temperature in S.A. 0.9999
simulated_annealing_target [double] Target end-temperature (in Kelvin) for simulated annealing. 0.0
fugacity_single [h2|co2|n2|ch4] in uVT, specifies the molecule to calculate fugacity (from input pressure) at startup. NONE
step_offset [int] An offset value for Monte Carlo steps, e.g. to pickup restarts and count where you left off. 0
auto_reject_option [on|off] Enables auto-reject feature which can speed up Monte Carlo, forced off for Molecular Dynamics. Only useful when using at least the LJ potential. on
auto_reject_r [double] Parameter in Angstroms to auto-reject moves if a pair distance is less than this value. 0.76
feynman_hibbs [on|off] Enables Feynmann-Hibbs Quantum corrections to energy calculation (useful especially for small molecules e.g. hydrogen). off
fh_order [2|4] Chooses second or fourth order correction for Feynman-Hibbs corrections. 4

Molecular Dynamics

Command Description Default
integrator [rk4|vv] The method for integrating Newton's equations of motion. rk4 = Runge Kutte 4th order; vv = Velocity verlet. vv
md_corrtime [int] The step interval at which output is generated, averages re-calculated, etc. 50
md_pbc [on|off] Enables periodic-boundary conditions. on
md_init_vel [double] User defined initial velocities for movable molecules. Will randomize directions based on this magnitude in A/fs. If this is not supplied, initial velocities will be determined from temperature. NONE
md_dt [double] The actual time step used for Molecular Dynamics, in fs. 0.1
md_ft [double] [string] The time to stop the simulation. Units can be fs, ps, ns, us, or ms. 10000 fs
md_mode [rigid|atomic|flexible] MD mode. rigid keeps molecules rigid, intact, and allows them to rotate. atomic treats all atoms as free-moving regardless of assignment in input_atoms file. flexible enables bonding parameters for movable molecules. molecular is an alias for rigid. rigid
md_rotations [on|off] Enables molecular rotations in MD. on
md_translations [on|off] Enables molecular translations in MD. Turning this off is useful, for example, with molecular crystal simulation. on
cuda [on|off] Enables GPU-accelerated Molecular Dynamics (by calculating forces on GPU). Only compatible with CUDA GPUs. off
cuda_block_size [int] Specifies threads-per-block for CUDA parallel computation. Good values are typically multiples of the common warp size, 32. 256
md_insert_frequency [int] Interval number of steps at which to attempt an insert/delete in uVT MD. 20
calc_pressure_option [on\off] Enables virial pressure calculator (NVT ensemble only). on for NVT; off for others.
external_force [double] [double] [double] [int] Applies a constant external force to all movable molecules. Expressed as a vector (x,y,z) in nanoNewtons nN followed by an integer of how often (in steps) the force should apply. 1.0 0 0 1 is a moderate force in the +x direction for molecules applied every step. 0.0 0.0 0.0 1
sorbate_dofs [int,int,...] Manually enter the number of degrees of freedom for each prototype movable molecule. NONE
kspace_option [on|off] Enables computation of Ewald k-space (long-range) forces in MD. on
input_structure_ff [on|off] Option to use the input atomic structure for equilibrium bondlength, angle and dihedral parameters. If off, MCMD defaults to UFF/UFF4MOF parameters. off
thermostat [andersen|nose-hoover] Chooses a thermostat for NVT MD simulation. nose-hoover cannot be used for uVT MD simulation. nose-hoover
nh_q [double] Manually set the Nose-Hoover Q parameter in K fs^2. none
nh_q_scale [double] Scale the Nose-Hoover Q parameter by this factor. Recommended values 0.8 - 2.0. 1.0

Optimizations

Command Description Default
opt_mode [mc|sd] Optimization method: mc = Monte Carlo; sd = Steepest Descent. sd
bondlength [double] Assigns maximum distance, in Angstroms, to dynamically define bonds. 1.5
opt_convergence [double] Assigns the convergence delta-energy, in kcal/mol. 0.00001
opt_step_limit [int] Assigns maximum number of optimization steps for convergence. 10000
opt_bonds [on|off] Includes bonded stretching for optimization/flexible MD calculation. on
opt_angles [on|off] Includes angle bending for optimization/flexible MD calculation. on
opt_dihedrals [on|off] Includes dihedral bending (torsions) for optimization/flexible MD calculation. on
opt_LJ [on|off] Includes non-bonded Lennard-Jones interactions for optimization/flexible MD calculation. on
opt_ES [on|off] Includes non-bonded electrostatic interactions for optimization/flexible MD calculation. on

Single Point Calculations

Command Description Default