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
Back to top