MBD config

Type: object

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 Properties
Example:

System: '...'
Integrator: '...'
Timeseries: '...'
Observables: '...'
Stages: '...'

Type: array

Definition of the simulation run plan, which consists of multiple stages. The stages can be defined one by one or using a loop.

No Additional Items

Each item of this array must be:


Type: object

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).

No Additional Properties

Type: integer

Value must be strictly greater than 0

Type: number

Value must be strictly greater than 0

Type: array of object

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.

No Additional Items

Each item of this array must be:

Type: object

Select one of the following

No Additional Properties

Type: object

Initialize 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.

No Additional Properties

Type: enum (of string) Default: "sc"

Must be one of:

  • "sc"
  • "bcc"
  • "fcc"

Default: 1.0

Type: array of number

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: integer Default: 0

Value must be greater or equal to 0

Default: 0.5

Type: array of number

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Default: 0

Type: array of number

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: object

Specify the properties of the particles which are initialized on the lattice.

No Additional Properties

Type: number Default: 1.0

Value must be lesser or equal to 1.0

Type: object

Read inital particle configuration from a file located at filename. Overlaps causing large energies can be prevented by setting EThreshold.

No Additional Properties


Example:

lattice:
  cell: sc
  spacing: 1.5
  particleProperties:
    sigma: 1.0
    m: 1.0
    gamma: 1.0
file:
  filename: path/to/someAdditionalParticles.dat

Type: object

Specify the physical properties of the system.

No Additional Properties
Example:

L:
- 10
- 10
- 15
T: 0.8
mu: -3.5
interaction: '...'


Size of the simulation box

Type: array of number

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: number

Value must be greater or equal to 0

Type: number

Value must be greater or equal to 0

Type: number

Temperature

Value must be strictly greater than 0.0

Type: number

Chemical potential

Type: object

Definition of external and internal interactions


Examples:

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).

Type: object
No Additional Properties

Type: null

For debugging purposes

Type: object

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.

No Additional Properties

Type: array of integer

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: integer

Value must be greater or equal to 1

Type: array Default: 1.0
No Additional Items

Type: object

A constant force with magnitude mag in direction d

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

An external potential with a linear slope from pos1, E1 to pos2, E2

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

Hard walls perpendicular to direction d with width width

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

Lennard-Jones walls perpendicular to direction d at position pos and with cutoff cutoff

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

A moving interface for simulated evaporation of an implicit solvent according to B. He et. al., Langmuir 37, 1399 (2021)

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

A fixed Lennard-Jones particle at the center of the box with cutoff cutoff

No Additional Properties

Type: object

A planar harmonic trap with amplitude A that varies along direction d

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

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.

No Additional Properties

Type: integer Default: 0

Value must be greater or equal to 0 and lesser or equal to 2

Type: integer Default: 2

Value must be greater or equal to 0 and lesser or equal to 2

Type: object

Type of internal pair-interaction. Select one of the following.

No Additional Properties

Type: null

Ideal gas, i.e. no interaction

Type: null

For debugging purposes

Type: null

Hard core repulsion

Type: null

Weeks-Chandler-Andersen potential

Type: object

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).

No Additional Properties

Type: boolean Default: false

Type: object

Stockmayer-like interaction with cutoff of half the minimum box side length, dipole moment mu and LJ attraction coefficient epsilon6.

No Additional Properties

Type: object

Gay-Berne particles (cutoff and shifted) with anisotropy parameters kappa and kappaprime.

No Additional Properties

Type: object

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.

No Additional Properties

Type: number Default: 1.8

Type: number Default: 7.049556277

Type: number Default: 0.6022245584

Type: number Default: 23.15

Type: number Default: 109.47

Type: object

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).

No Additional Properties

Type: number Default: 7.049556277

Type: number Default: 0.6022245584

Type: object

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.

Type: boolean Default: true

Type: enum (of string) Default: "cells"

Must be one of:

  • "all"
  • "cells"

Type: object

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 Properties
Example:

quantities:
- position
- velocity

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "position"
  • "image"
  • "velocity"
  • "force"
  • "Fext"
  • "Fint"
  • "rRand"
  • "mass"
  • "species"

Type: object

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.

No Additional Properties
Examples:

BrownianEuler:
  dt: 0.0003
BrownianHeunEulerRSwM3:
  relTol: 0.02
  absTol: 0.005
MonteCarloGrandCanonical:
  dx: 0.2

Type: null

Do nothing. Useful for debugging purposes and for viewing the initial particle configuration.

Type: object

Standard Brownian Dynamics integrator using a fixed timestep dt and the Euler-Maruyama method.

No Additional Properties

Type: number Default: 0.0001

Value must be strictly greater than 0

Type: object

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.

No Additional Properties

Type: number Default: 0.0001

Value must be strictly greater than 0.0

Type: number Default: 0.001

Value must be strictly lesser than 1.0

Type: number Default: 1.125

Value must be strictly greater than 1.0

Type: number Default: 2.0

Value must be greater or equal to 1.0

Type: number Default: 0.9

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: enum (of integer) Default: -1

Must be one of:

  • -1
  • 2

Type: object

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).

No Additional Properties

Type: number Default: 0.0001

Value must be strictly greater than 0.0

Type: number Default: 0.001

Value must be strictly lesser than 1.0

Type: number Default: 1.125

Value must be strictly greater than 1.0

Type: number Default: 2.0

Value must be greater or equal to 1.0

Type: number Default: 0.9

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: enum (of integer) Default: -1

Must be one of:

  • -1
  • 2

Type: object

Standard Molecular Dynamics integrator using the Velocity-Verlet method with fixed timestep dt.

No Additional Properties

Type: number Default: 0.005

Value must be strictly greater than 0.0

Type: object

Molecular Dynamics in the canonical ensemble using the Velocity-Verlet method with fixed timestep dt and a Nose-Hoover thermostat with relaxation constant Q.

No Additional Properties

Type: number Default: 0.005

Value must be strictly greater than 0.0

Type: number Default: 100

Value must be strictly greater than 0.0

Type: object

Langevin Dynamics integrator using a fixed timestep dt and the symplectic (or semi-implicit) Euler method.

No Additional Properties

Type: number Default: 0.001

Value must be strictly greater than 0

Type: object

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).

No Additional Properties

Type: number Default: 0.1

Value must be strictly greater than 0.0

Type: number Default: 0.1

Value must be strictly greater than 0.0

Type: object

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).

No Additional Properties

Type: number Default: 0.1

Value must be strictly greater than 0.0

Type: integer Default: 10

Value must be greater or equal to 1

Type: number Default: 0.1

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: object

Specify which quantities shall be recorded in a timeseries. Some quantities may be specific to certain integrators.

No Additional Properties
Example:

keys:
- time
- N
- E

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "time"
  • "weight"
  • "N"
  • "Nupper"
  • "Nlower"
  • "E"
  • "MonteCarlo-acceptRatio"
  • "RSwM-error"
  • "RSwM-rejections"

Type: object

Specify 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.

No Additional Properties
Example:

Scalar:
  keys:
  - N
  - E
Onebody:
  keys:
  - rho
  - F2
  - N*rho
  bins:
  - 5
  - 5
  - 1000

Type: object

Cluster size distribution

No Additional Properties

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "clusters"
  • "coordinations"
  • "P0"
  • "P1"
  • "P2"
  • "P3"
  • "P4"

Type: object

Scalar quantities

No Additional Properties

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "N"
  • "E"

Type: object

Onebody fields that are sampled on a Euclidian grid

No Additional Properties

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "1"
  • "Fextx"
  • "Fexty"
  • "Fextz"
  • "Fintx"
  • "Finty"
  • "Fintz"
  • "rRandx"
  • "rRandy"
  • "rRandz"
  • "rRandx_dt"
  • "rRandy_dt"
  • "rRandz_dt"
  • "N"
  • "H"

Type: array of integer

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: integer

Value must be greater or equal to 1

Type: object

Radial distribution functions

No Additional Properties

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "1"
  • "F0_rad"
  • "F1_rad"
  • "F0_dot_F1"
  • "F0_rad_F1_rad"
  • "F0_tan_dot_F1_tan"
  • "(F0_tan_cross_F1_tan)_rad"
  • "grad0(F0)_rad"
  • "grad0(F0)_tan"
  • "grad0(F1)_rad"
  • "grad0(F1)_tan"
  • "grad0(F1)_rad_fullUpdate"
  • "grad0(F1)_tan_fullUpdate"

Type: integer

Value must be greater or equal to 1

Type: object

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.

No Additional Properties

Type: array of enum (of string)

All items must be unique

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "1"

Type: array of integer

Must contain a minimum of 3 items

Must contain a maximum of 3 items

No Additional Items

Each item of this array must be:

Type: integer

Value must be greater or equal to 1

Type: object
No Additional Properties

Type: object

Schedule a loop of times rounds which executes the stages.

No Additional Properties

Type: integer

Value must be greater or equal to 0

Type: array
No Additional Items

Each item of this array must be:

Type: object

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).

Same definition as Stages_items_oneOf_i0

Examples:

[{'steps': 10000, 'Timeseries': '...'}, {'steps': 1000000, 'Observables': '...'}]
[{'loop': {'times': 10, 'Stages': [{'steps': 100000}, {'steps': 1000}]}}]

Type: object

Specify the physical properties of the system.

Same definition as System

Type: array of object

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.

Same definition as AddParticles

Type: object

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 Integrator

Type: object

Specify 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.

Same definition as Observables

Type: object

Specify which quantities shall be recorded in a timeseries. Some quantities may be specific to certain integrators.

Same definition as Timeseries

Type: object

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.

Same definition as Trajectories

Type: object

Initial settings for the graphics output

Type: integer Default: 800

Window width

Type: integer Default: 800

Window height

Type: number Default: 60.0

Framerate

Type: enum (of string) Default: "species"

Method for coloring of particles.

Must be one of:

  • "species"
  • "cluster"