An MBD run is configured with a YAML file that may contain the following properties (some of which are required). They define certain aspects of the simulation, such as the physical properties of the system, the integration method or the scheduling of the run into stages. Many properties can be given globally at the root level of the YAML file (then they apply to each simulation stage) or they can be specified within a certain stage (this overrides the global setting). An interactive web version of the YAML schema can be found at http://www.staff.uni-bayreuth.de/~bt306964/mbd/docs/.
No Additional PropertiesSystem: '...'
Integrator: '...'
Timeseries: '...'
Observables: '...'
Stages: '...'
Definition of the simulation run plan, which consists of multiple stages. The stages can be defined one by one or using a loop
.
Definition of one stage. The stage runs until a certain number of steps
is reached and/or until a certain simulation time
has passed. You may specify Integrator
, Timeseries
and Observables
per stage (this overrides the global setting).
Value must be strictly greater than 0
Value must be strictly greater than 0
Add particles to the system. Particles can be read from a file
(e.g. to continue a previous run) or they can be initialized on a lattice
. This node can have multiple entries, which will be executed one after another.
Select one of the following
No Additional PropertiesInitialize particles on a lattice with a unit cell of type cell
and size spacing
. Setting spacing
to 1.0 corresponds to hard sphere close packing (this is the default). The lattice generation starts at the origin unless an offset
is given, and a margin
to the faces of the box can be enforced. You can specify the target number of particles by setting N
to a finite number at which the lattice creation will stop. If particle insertions that would cause large energies shall be prevented, set EThreshold
to an acceptable value.
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Value must be greater or equal to 0
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Specify the properties of the particles which are initialized on the lattice.
No Additional PropertiesValue must be lesser or equal to 1.0
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Read inital particle configuration from a file located at filename
. Overlaps causing large energies can be prevented by setting EThreshold
.
lattice:
cell: sc
spacing: 1.5
particleProperties:
sigma: 1.0
m: 1.0
gamma: 1.0
file:
filename: path/to/someAdditionalParticles.dat
Specify the physical properties of the system.
No Additional PropertiesL:
- 10
- 10
- 15
T: 0.8
mu: -3.5
interaction: '...'
Size of the simulation box
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Value must be greater or equal to 0
Value must be greater or equal to 0
Temperature
Value must be strictly greater than 0.0
Chemical potential
Definition of external and internal interactions
external:
- Const:
d: 2
mag: 1
- FixedLJ:
cutoff: 2.5
internal:
LJ:
cutoff: 2.5
external:
- Free: null
internal:
Hard: null
Type of external force and potential. Multiple external interactions can be given as an array. If this property is not specified, a bulk simulation will be performed (assuming periodic boundary conditions).
For debugging purposes
Tabellarized external force. The number of bins in each direction is specified in bins
. fextx
, fexty
and fextz
hold the values of the respective external force components. They are input as flattened 1D-arrays in C-order. This can be achieved e.g. with numpy.flatten() in Python.
Must contain a minimum of 3
items
Must contain a maximum of 3
items
Value must be greater or equal to 1
A constant force with magnitude mag
in direction d
Value must be greater or equal to 0
and lesser or equal to 2
An external potential with a linear slope from pos1
, E1
to pos2
, E2
Value must be greater or equal to 0
and lesser or equal to 2
Hard walls perpendicular to direction d
with width width
Value must be greater or equal to 0
and lesser or equal to 2
Lennard-Jones walls perpendicular to direction d
at position pos
and with cutoff cutoff
Value must be greater or equal to 0
and lesser or equal to 2
A moving interface for simulated evaporation of an implicit solvent according to B. He et. al., Langmuir 37, 1399 (2021)
No Additional PropertiesValue must be greater or equal to 0
and lesser or equal to 2
A fixed Lennard-Jones particle at the center of the box with cutoff cutoff
A planar harmonic trap with amplitude A
that varies along direction d
Value must be greater or equal to 0
and lesser or equal to 2
A sinusoidal force profile with k
periods that varies in direction dMod
and exerts a force in direction dForce
. A
sets the force amplitude and phase
determines the phase shift.
Value must be greater or equal to 0
and lesser or equal to 2
Value must be greater or equal to 0
and lesser or equal to 2
Type of internal pair-interaction. Select one of the following.
No Additional PropertiesIdeal gas, i.e. no interaction
For debugging purposes
Hard core repulsion
Weeks-Chandler-Andersen potential
Lennard-Jones interaction with cutoff cutoff
. shift
determines if the potential is shifted such that it vanishes at the cutoff (this only affects energy-based schemes like Monte Carlo, for force-based integrators, shift
has no effect).
Stockmayer-like interaction with cutoff of half the minimum box side length, dipole moment mu
and LJ attraction coefficient epsilon6
.
Gay-Berne particles (cutoff and shifted) with anisotropy parameters kappa
and kappaprime
.
Stillinger-Weber potential with cutoff a
, two-body parameters A
, B
, three-body scale gamma
, tetrahedrality lambda
and tetrahedral angle theta0
. Default parameters are for the monatomic water model due to V. Molinero and E. B. Moore, J. Phys. Chem. B 113, 4008-4016 (2009). See also SWOptimized
for a more efficient version of this interaction potential.
Same as SW
, but with an optimized calculation via a rewriting of three-body loops into gathered two-body loops, cf. S. Saw et. al., J. Chem. Phys. 134, 164506 (2011).
Specify the computation method for internal interactions, i.e. which set of particles are considered as neighbors
and whether Newton's third law is used (newton3
). For "all", every pair of particles is considered in the calculation. This is only suitable for small systems and debugging purposes, as the order of this scheme is N^2. Also, this method does not parallelize if newton3
is used. For "cells", a domain decomposition technique is applied, which reduces the order to N*log(N). The newton3
optimization is thereby implemented by a cell coloring scheme to prevent race conditions and can therefore also be used in parallel.
Toggle the recording of trajectory data, i.e. the state of each particle at each step. Specify the quantities (names according to H5MD spec plus custom quantities) which shall be recorded. Beware! This quickly produces huge amounts of data.
No Additional Propertiesquantities:
- position
- velocity
All items must be unique
No Additional ItemsSet the integration method, i.e. the way of propagating the system through time or through states. Most of these integrators should provide sane defaults, so you do not have to specify every property manually. Select one of the following.
No Additional PropertiesBrownianEuler:
dt: 0.0003
BrownianHeunEulerRSwM3:
relTol: 0.02
absTol: 0.005
MonteCarloGrandCanonical:
dx: 0.2
Do nothing. Useful for debugging purposes and for viewing the initial particle configuration.
Standard Brownian Dynamics integrator using a fixed timestep dt
and the Euler-Maruyama method.
Value must be strictly greater than 0
Brownian Dynamics integrator using adaptive timestepping and Rejection Sampling with Memory (RSwM) version 2 according to C. Rackauckas and Q. Nie, Discrete Contin. Dyn. Syst. - B 22, 2731 (2017). You can specify the relative and absolute tolerance relTol
and absTol
, minimum and maximum adaptation factors qmin
and qmax
, the safety factors alpha
and beta
and the global error norm lNorm
.
Value must be strictly greater than 0.0
Value must be strictly lesser than 1.0
Value must be strictly greater than 1.0
Value must be greater or equal to 1.0
Value must be greater or equal to 0.0
and lesser or equal to 1.0
Brownian Dynamics integrator using adaptive timestepping and Rejection Sampling with Memory (RSwM) version 3 according to C. Rackauckas and Q. Nie, Discrete Contin. Dyn. Syst. - B 22, 2731 (2017). You can specify the relative and absolute tolerance relTol
and absTol
, minimum and maximum adaptation factors qmin
and qmax
, the safety factors alpha
and beta
and the global error norm lNorm
. Contrary to RSwM2, this method is exact even in the case of re-rejections. This integration method was used in F. Sammüller and M. Schmidt, J. Chem. Phys. 155, 134107 (2021).
Value must be strictly greater than 0.0
Value must be strictly lesser than 1.0
Value must be strictly greater than 1.0
Value must be greater or equal to 1.0
Value must be greater or equal to 0.0
and lesser or equal to 1.0
Standard Molecular Dynamics integrator using the Velocity-Verlet method with fixed timestep dt
.
Value must be strictly greater than 0.0
Molecular Dynamics in the canonical ensemble using the Velocity-Verlet method with fixed timestep dt
and a Nose-Hoover thermostat with relaxation constant Q
.
Value must be strictly greater than 0.0
Value must be strictly greater than 0.0
Langevin Dynamics integrator using a fixed timestep dt
and the symplectic (or semi-implicit) Euler method.
Value must be strictly greater than 0
Monte-Carlo in the canonical ensemble with maximum trial displacement dx
. Set globalUpdateAfterSweep
to true if you want to sample forces (otherwise, only the energy is consistent after each step).
Value must be strictly greater than 0.0
Value must be strictly greater than 0.0
Grand canonical Monte-Carlo with maximum trial displacement dx
, minimum sweep length of nSweepMin
and trial insertion or deletion probability inoutProb
. Set globalUpdateAfterSweep
to true if you want to sample forces (otherwise, only the energy is consistent after each step).
Value must be strictly greater than 0.0
Value must be greater or equal to 1
Value must be greater or equal to 0.0
and lesser or equal to 1.0
Specify which quantities shall be recorded in a timeseries. Some quantities may be specific to certain integrators.
No Additional Propertieskeys:
- time
- N
- E
All items must be unique
No Additional ItemsSpecify which observables (i.e. quantities which can be expressed as averages of phase space functions) shall be sampled. every
restricts the sampling frequency by imposing a minimum time difference between two consecutive samples.
Scalar:
keys:
- N
- E
Onebody:
keys:
- rho
- F2
- N*rho
bins:
- 5
- 5
- 1000
Cluster size distribution
No Additional PropertiesAll items must be unique
No Additional ItemsScalar quantities
No Additional PropertiesAll items must be unique
No Additional ItemsOnebody fields that are sampled on a Euclidian grid
No Additional PropertiesAll items must be unique
No Additional ItemsMust contain a minimum of 3
items
Must contain a maximum of 3
items
Value must be greater or equal to 1
Radial distribution functions
No Additional PropertiesAll items must be unique
No Additional ItemsValue must be greater or equal to 1
Twobody distribution function in planar geometry with coordinates z_1
, z_2
(z
coordinates of particle 1 and 2) and r^*
(radial distance of particle 1 and 2). Note that the system must have translational symmetry in x
and y
direction for this observable type to make sense.
All items must be unique
No Additional ItemsMust contain a minimum of 3
items
Must contain a maximum of 3
items
Value must be greater or equal to 1
Schedule a loop of times
rounds which executes the stages
.
Value must be greater or equal to 0
Definition of one stage. The stage runs until a certain number of steps
is reached and/or until a certain simulation time
has passed. You may specify Integrator
, Timeseries
and Observables
per stage (this overrides the global setting).
[{'steps': 10000, 'Timeseries': '...'}, {'steps': 1000000, 'Observables': '...'}]
[{'loop': {'times': 10, 'Stages': [{'steps': 100000}, {'steps': 1000}]}}]
Add particles to the system. Particles can be read from a file
(e.g. to continue a previous run) or they can be initialized on a lattice
. This node can have multiple entries, which will be executed one after another.
Set the integration method, i.e. the way of propagating the system through time or through states. Most of these integrators should provide sane defaults, so you do not have to specify every property manually. Select one of the following.
Same definition as IntegratorSpecify which observables (i.e. quantities which can be expressed as averages of phase space functions) shall be sampled. every
restricts the sampling frequency by imposing a minimum time difference between two consecutive samples.
Specify which quantities shall be recorded in a timeseries. Some quantities may be specific to certain integrators.
Same definition as TimeseriesToggle the recording of trajectory data, i.e. the state of each particle at each step. Specify the quantities (names according to H5MD spec plus custom quantities) which shall be recorded. Beware! This quickly produces huge amounts of data.
Same definition as TrajectoriesInitial settings for the graphics output
Window width
Window height
Framerate
Method for coloring of particles.