Input File
Autocompletion
KIMMDY comes with autocompletion and tooltips inside your editor for its configuration file kimmdy.yml
.
All you need to do is activate a yaml-language-server in your editor (e.g. VS Code via the YAML extension or Neovim via lspconfig).
Activating this is very much recommended, as it prevents many typos, missaligned braces and especially incorrect indentation (people love YAML for its readability, but hate it for its whitespace sensitivity).
This only works, if your config file is called kimmdy.yml
and the Scheme Store hasn’t been disabled in your editor settings (e.g. Yaml > Schema Store: Enable
.
All Options
The following is a list of the options that can be set in the kimmdy.yml
file. It includes reactions currently available in KIMMDY as plugins. Nested options are separated by a .
. *
denotes an arbitrary name for a section.
Thus, documentation for the following options in a kimmdy.yml
file:
cwd: 'path/to/working/directory'
topology:
reactive:
exclude: POPC
Are found in this list under the headings cwd
and topology.reactive.exclude
respectively.
slurm
SLURM HPC options
slurm.N
Number of nodes
Type: int
Default: 1
slurm.ntasks_per_node
n tasks per node
Type: int
Default: 20
slurm.mincpus
mincpus
Type: int
Default: 20
slurm.cpus_per_task
cpus per task
Type: int
Default: 1
slurm.gpus
n gpus
Type: int
Default: 1
slurm.runcmd
Command to (re)submit the jobscript. Default is sbatch
. For local testing replace with an empty string do run the jobscript directly.
Type: str
Default: sbatch
dryrun
Don’t run the actual simulations, just print the tasks
Type: bool
Default: False
skip_truncation
Don’t truncate trajectories to the time at which a reaction occurs. This is useful when only the reaction rates are interesting and it is not required to continue the simulation after a reaction.
Type: bool
Default: False
parameterize_at_setup
parameterize the topology during the setup task
Type: bool
Default: True
cwd
Working directory. Default is current working directory
Type: Path
name
Used for output folder if out
is not specified
Type: str
Default: kimmdy
out
Output folder
Type: Path
log
Settings for logging
log.file
Logfile name (will result in a path relative to out
)
Type: str
Default: kimmdy.log
log.level
Loglevel
Type: str
Options: [‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’, ‘CRITICAL’]
Default: INFO
max_tasks
Maximum number of tasks to run. This is useful when a task in the sequence can dymanically add more tasks. 0 means no limit.
Type: int
Default: 0
max_hours
Stop KIMMDY after max_hours hours. Set this lower than the limit of your HPC cluster for use with a re-submit jobscript. 0 Means no limit.
Type: int
Default: 0
kmc
KMC algorithm overwrite. Should be set by the reactions, but can be changed here. Not all reactions may support all algorithms.
Type: str
Options: [’‘, ’rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’, ‘multi_rfkmc’, ‘dummy_first’]
multi_kmc
Number of reactions to be executed in one step by a multi
variant of a KMC algorithm.
Type: int
Default: 1
tau_scale
Scaling parameter for tau in the extrande kmc algorithm.
Type: float
Default: 1.0
top
Topology file
Type: Path
Default: topol.top
topology
Settings for handling the topology file.
topology.reactive
Specify what moleculetypes will be part of the Reactive moleculetype. By default, solvent and ions are excluded.
topology.reactive.include
Explicitly include a moleculetype or list of moleculetypes as a space-separated string.
Type: str
topology.reactive.exclude
Explicitly exclude a moleculetype or a list as a space-separated string. For example the lipid moleculetype in a bilayer simulation e.g. DPPC POPC'
Type: str
topology.reactive.nrexcl
Explictly set the nrexcl value for the Reactive moleculetype. By default the value is taken from the first found reactive moleculetype.
Type: int
gro
Coordinate file
Type: Path
Default: conf.gro
ndx
Gromaxs index file
Type: Path
Default: index.ndx
grompp_prefix
Prefix command for grompp execution on non MPI compiled clusters, e.g., ‘srun –ntasks=1’.
Type: str
gromacs_alias
Gromacs alias. e.g. gmx
or mpirun gmx_mpi
Type: str
Default: gmx
mdrun_prefix
Prefix command for mdrun execution on non MPI compiled clusters, e.g., ‘srun –ntasks=1’.
Type: str
gmx_mdrun_flags
Flags passed to gmx mdrun. Default -maxh 24 -dlb yes
Type: str
Default: -maxh 24 -dlb yes
ff
Force field directory (looks for .ff in cwd if not set)
Type: Path
Default: *.ff
residuetypes
GROMACS rtp file that contains residuetypes. Looks for aminoacids.rtp
it not set. KIMMDY will first look in the current working directory and then relative to the forecfield directory.
Type: Path
radicals
space-separated string of radical atom ids, can be empty
Type: str
plumed
.dat file containing plumed config
Type: Path
tpr
.tpr file of a finished simulation for starting directly with a reaction
Type: Path
trr
.trr file of a finished simulation for starting directly with a reaction
Type: Path
xtc
.xtc file of a finished simulation for starting directly with a reaction
Type: Path
edr
.edr file of a finished simulation for starting directly with a reaction
Type: Path
restart
Restart or continue from a previous run (in config.out) instead of starting from scratch
Type: bool
Default: False
mds
Settings for MD steps, e.g. mdp files, plumed files, etc.
mds.*
Name of an MD step
mds.*.mdp
MDP file for the MD step
Type: Path
mds.*.use_plumed
Whether plumed should be used for this run or not
Type: bool
Default: False
changer
Settings for applying a reaction recipe
changer.coordinates
Settings related to coordinate/geometry changes when applying a recipe
changer.coordinates.md
MD step from the ‘mds’ section that is used for relaxation MDs
Type: str
changer.coordinates.slow_growth_pairs
This is deprecated. Specify in config.changer.coordinates.slow_growth
instead. (deprecated)
changer.coordinates.slow_growth
Whether the chosen MD step is a slow growth/free-energy simulation to relax after applying a reaction recipe. true
and yes
are equivalent to full
for backwards compatibility. morse_only
disables using pairs to transition non-bonded interactions as well and only uses morse bonds to emulate simple non-bonded interactions. The empty string means no slow growth.
Type: str
Options: [‘yes’, ‘true’, ‘full’, ‘morse_only’, ’’]
changer.topology
Settings for parameter changes in the topology file
changer.topology.parameterization
Parameterization scheme that is used on the topology file after changes to it
Type: str
Options: [‘grappa’, ‘basic’]
Default: basic
changer.topology.parameterization_kwargs
Keyword argument container for the selected parameterization scheme
sequence
List of tasks. Each task can be a string (the name of the task) or an object with the task name and a multiplicity mult: <int>
Type: Sequence
reactions
Settings for reactions
reactions.homolysis
reactions.homolysis.edis
Dissociation energies data file
Type: Path
Default: edissoc.dat
reactions.homolysis.itp
Additional itp file with bonded parameters
Type: Path
Default: ffbonded.itp
reactions.homolysis.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’, ‘multi_rfkmc’]
Default: rfkmc
reactions.homolysis.check_bound
Check the topology for bonds between plumed atom pairs
Type: bool
Default: False
reactions.homolysis.arrhenius_equation
For setting values in the arrhenius equation
reactions.homolysis.arrhenius_equation.frequency_factor
Frequency factor
Type: float
Default: 0.288
reactions.homolysis.arrhenius_equation.temperature
Temperature
Type: float
Default: 300
reactions.hat_naive
reactions.hat_naive.frequency_factor
Frequency factor
Type: float
Default: 1
reactions.hat_naive.h_cutoff
Cutoff for H atom
Type: float
Default: 4
reactions.hat_naive.polling_rate
Polling rate
Type: float
Default: 1
reactions.hat_naive.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
Default: extrande_mod
reactions.dummyreaction
reactions.dummyreaction.example
This is an example of an option for a reaction.
Type: float
Default: 0.0
reactions.dummyreaction.example2
This is another example of an option for a reaction.
Type: str
Default: hello
reactions.dummyreaction.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
Default: extrande_mod
save_recipes
Save recipes as csv during the reactions step
Type: bool
Default: True
Example kimmdy.yml
Files
kimmdy.yml
dryrun: false
max_tasks: 100
name: 'hat_tf_000'
gromacs_alias: 'gmx'
top: 'Ala_out.top'
gro: 'npt.gro'
ndx: 'index.ndx'
mds:
equilibrium:
mdp: 'md.mdp'
relax:
mdp: 'md_slow.mdp'
changer:
coordinates:
md: 'relax'
reactions:
hat_reaction:
frequency_factor: 100000000
h_cutoff: 3
polling_rate: 1
sequence:
- equilibrium
- mult: 2
tasks:
- equilibrium
- reactions