List of Configuration Options
The following is a list of all configuration options which can be specified in the YAML formatted configuration file supplied as a command-line argument to run simulations, as described in Command-Line Interface. Default configuration settings are specified in default_settings.yml. Any of the default configuration settings can be overridden by specifying values for them in the configuration file supplied on the command line.
Simulation Type
simulation_type
(required): Type of simulation to perform using PyThinFilm. Allowed values are: vacuum_deposition, solvent_evaporation, thermal_annealing
Name
name
(default: PyThinFilm
): a name for a particular simulation which will prefix the names of output files.
Working Directory
work_directory
(default: pytf_working
): path (either absolute or relative to the current working directory) where output files will be written.
Description
description
(default: PyThinFilm Simulation
): description of the simulation run
GROMACS Executable Name
gmx_executable
(default: gmx
): name of (or path to) the GROMACS executable which will be used by PyThinFilm.
MPI Command Template
mpi_template
(default: “”): string specifying the form of the mpirun call e.g., “mpirun -np $NCORES”.
GROMPP Command Template
grompp_template
(default: “{GMX_EXEC} grompp -maxwarn 2 -f {mdp} -c {initial} -r {restraints} -p {top} -o {tpr}”): string specifying the form of the grompp call on the command line, where GMX_EXEC
is the GROMACS executable, mdp
is the input .mdp parameter file for the run, initial
is the input coordinate file, restraints
is the input restraints file, top
is the input topology file, and tpr
is the output .tpr file.
MDRUN Command Template
mdrun_template
(default: “{GMX_EXEC} mdrun -s {tpr} -x {xtc} -e {edr} -g {log} -cpo {cpo} -c {final}”): string specifying the form of the mdrun call on the command line, where GMX_EXEC
is the GROMACS executable, tpr
is the input .tpr file for the run, xtc
is the output .xtc trajectory file, edr
is the output .edr energy file, log
is the output .log file, cpo
is the output .cpo file, and final
is the output file containing the final coordinates of the run.
Force Field File
forcefield_file
(default: gromos54a7_atb.ff/forcefield.itp): force field file to be used in the simulation.
Parameter Template
mdp_template
(default: deposition.mdp.epy): parameter file template to be used in the simulation, in .epy format.
Topology Template
topo_template
(default: topo.top.epy): topology file template to be used in the simulation, in .epy format.
Initial Structure File
initial_structure_file
: starting structure file for solution evaporation and thermal annealing simulations.
Solvent Name
solvent_name
(default: None): residue name of solvent molecules in simulation.
Substrate
substrate
(default: None): dictionary containing the details of the substrate molecules to be used in a simulation. Two items, res_name
and itp_file
must be specified describing the name of the substrate residues and the location of the associated ITP file, respectively. If the initial_structure_file
configuration option is not set (in the case of vacuum deposition simulations), a third entry, pdb_file
must also be defined describing the location of the relevant pdb file.
Mixture
mixture
(default: None): list of dictionaries specifying the composition of the solute mixture in solvent evaporation and vacuum deposition simulations. For solvent evaporation and thermal annealing simulations, the dictionaries must include two entries, res_name
and itp_file
describing the residue name of the solute component and the location of the relevant itp file, respectively. For vacuum deposition simulations, two additional entries, pdb_file
and ratio
must be supplied describing the location of the relevant pdb file and the relative abundance of the solute in the mixture to be deposited, respectively.
Number of Cycles
n_cycles
(default: 1): Number of simulation cycles to run. Ignored for thermal annealing simulations.
Batch Size
batch_size
(default: None): Number of simulation cycles to run before exiting the python code. This is useful when running
on a HPC cluster in order to prevent hitting the walltime and also automatically resubmit the jobs script.
Random Seed
seed
(default: 0): random number seed used in the simulation.
Temperature
temperature
(default:300): target thermostat temperature in Kelvin for the simulation.
Temperature Coupling Constant
tau_t
(default: 0.1): temperature coupling constant to be used in the simulation.
Temperature List
temperature_list
: list of temperature values for thermal annealing simulations in K. Simulations will be run for run_time
at each temperature value.
Time Step
time_step
(default: 0.002): time step of the simulation in ps.
Run Time
run_time
(default: 100): length of the simulation in ps.
Write Frequency
ntstout
(default: 5000): frequency (in number of steps) with which to write output files.
Nonbonded Cutoff Distance
cutoff
(default: 1.4): cutoff distance for nonbonded interactions, in nm.
Dielectric Constant
dielectric_constant
(default: 1): dielectric constant used for the reaction field in the simulation.
Insert Distance
insert_distance
(default: 5): insert distance in nm (vacuum deposition simulations).
Escape Tolerance
escape_tolerance
(default 5.0): escape tolerance in nm (vacuum deposition and solvent evaporation simulations).
Density Fraction Cutoff
density_fraction_cutoff
(default: 0.0): density fraction cutoff (vacuum deposition and solvent evaporation simulations).
Overhead Void Space
overhead_void_space
(default: 10.0): overhead void space in nm (vacuum deposition and solvent evaporation simulations).
Deposition Velocity
deposition_velocity
(default: 0.0): deposition velocity in nm/ps (vacuum deposition simulations).
Insertions per Run
insertions_per_run
(default: 1): number of insertions per run (vacuum deposition simulations).
Maximum Insertion Attempts
max_insertion_attempts
(default: 100): maximum number of insertion attempts (vacuum deposition simulations).
Insertion Radius (XY)
insertion_xy_radius
(default: 2.0): insertion radius in the x-y plane in nm (vacuum deposition simulations).
Insertion Radius (Z)
insertion_z_radius
(default: 1.0): insertion radius measured along the z axis in nm (vacuum deposition simulations).
Slab Width
slab_width
(default: 100): slab width (vacuum deposition and solvent evaporation simulations).
Minimum Atoms Per Slab
min_atoms_per_slab
(default: 1000): minimum number of atoms per slab (vacuum deposition and solvent evaporation simulations).
Number of Highest Molecules to Remove
remove_n_highest_molecules
(default: 0): number of highest molecules to remove (solvent evaporation simulations).
Solution Acceleration Options
The following options are specified under the heading solution_acceleration
and are specific to solution evaporation simulations.
Bin Size
density_prof_bin
(default: 0.25): bin size to use when analysing density profile for skin detection and layer insertion in nm.
Insert
The following options are specified under the subheading insert
and control the insertion of additional solvent layers in solvent evaporation simulations.
enabled
(default: False): controls whether additional solution layers are inserted. All other options in this category are ignored if this value is set to False.
use_self
(default: True): controls whether own geometry (between input_min_z and input_max_z) is used to find new layers.
input_gro_file
(default: ~): system to source inserted layer from.
insert_min_z
(default: 45): minimum z value of the point at which to split the main system in nm. The point should generally be just above the substrate in a region where the structure is close to that of the bulk solution.
insert_max_z
(default: 45): maximum z value of the point at which to split the main system in nm. Should generally be below the bottom of the skin density tail.
min_skin_height
(default: 70): insertion will be performed if the bottom of the skin is below this height in nm.
source_min_z
(default: 45): the point above which molecules are valid targets to be copied into the main system as an extra layer of solution in nm.
source_max_z
(default: 60): the point below which molecules are valid targets to be copied into the main system as an extra layer of solution in nm.
max_skin_thickness
(default: 20): insertion will only be performed if the thickness of the layer in nm is below this value.
insert_thickness:
(default: 10): thickness of inserted layer in nm. appropriate values will depend on the size of the molecules in the system, with larger molecules requiring thicker layers. Lower values will help improve simulation speed.
thickness_tol
(default: 0.2): fractional tolerance for insert thickness.
consecutive_bins
(default: 8): number of consecutive bins which must be detected to determine the presence of a skin. Fewer consecutive bins allows detection of a thinner skin, but makes that detection less reliable. Since reliability is important for# layer insertion to avoid inserting too early, # more bins are generally better here so long as # they don’t exceed the skin thickness.
skin_density_thresh
(default: 10): solute concentration above which consecutive_bins
bins in a row will be used to detect the bottom of the skin in units of atoms per cubic nm. This is dependent on the concentration of the solute in the bulk region and the density of the dried film.
max_solute_density
(default: 15): maximum density of solute atoms in a slab that could be selected for splitting the system in atoms per cubic nm. Two consecutive slabs below this density are searched for, and the plane between them is where the split occurs. Molecules that cross the plane are deleted, so this number can be used to avoid deleting too many solute molecules.
strategy
(default: weighted): strategy to use when choosing a solvent layer to insert. Options are: ‘best’: Choose the layer with a height closest to insert_thickness. ‘weighted’: Randomly choose a layer with a higher weighting for those that are closer in height to insert_thickness. ‘random’: Randomly choose a layer with equal weighting.
extra space
(default: 0.15): void space to leave between existing and inserted layer in nm. This value should be large enough to account for ~max. van der Waals radius.
exit_on_failure
(default: False): set this value to true to abort mdrun and exit if insertion fails.
Solvent Deletion
The following options are specified under the subheading solvent_delete
and control the deletion of non-evaporated solvent in solvent evaporation simulations.
enabled
(default: False): toggles non-evaporated solvent deletion on or off. If set to False, all other solvent deletion configuration settings are ignored.
density_thresh
(default: 20): solute concentration in atoms per cubic nm above which consecutive_bins
bins in a row will be used to (e.g. may want a slightly larger value to remove solvent from the lower portion of the region with a solute density gradient, or a much larger value later in the simulation to help remove the last solvent molecules)
consecutive_bins
(default: 4): fewer consecutive bins allows density_thresh`
to be detected with a thinner skin, but makes detection less reliable.
slab_height
(default: 20) height of slab in nm. This will depend on density_thresh
, and should be chosen so that solvent molecules are removed from the section of the upper section of the solute density gradient below the skin.
slab_lower_limit
(default: 5): minimum z value in nm below which solvent molecules should not be deleted. If the bottom of the slab for deletion is below this point, it will be truncated, and the number of deleted molecules will be adjusted to maintain an equivalent density of deleted molecules.
number
(default: 10): number of solvent molecules to delete. Appropriate values are related to the size of the solvent molecule, slab_height
, and the x-y dimensions of the system.
min_separation
(default: 5): minimum distance between solvent molecules selected for deletion. This is intended to prevent nearby solvent molecules from being deleted at the same time as each other.
exit_on_impossible
(default: True): if true, aborts mdrum and exits if no candidates for deletion are available.