MDI Standard#

This section provides details on the commands defined by the MDI Standard.The MDI Standard defines a set of commands that can be used to control simulations and communicate data between engines.

You can also tags for the MDI Standard.

Simulation Control and Node Management#

Commands that control the flow of the simulation and manage the engine’s nodes.

Command Name

Description

@

Manage operations related to the current node.

@COORDS

Go to point in code after atomic coordinates have been updated.

@DEFAULT

Operations related to the @DEFAULT node. The @DEFAULT node is the node that the engine goes to when launched.

@FORCES

Go to point in code after forces have been calculated.

@INIT_MC

Initialize a Monte Carlo simulation.

@INIT_MD

Initialize a Molecular Dynamics simulation.

@INIT_OPTG

Initialize a geometry optimization.

@PRE-FORCES

Go to point in code where forces have been partially calcualted.

EXIT

Exit the engine.

Data Exchange#

Commands that exchange data between the driver and the engine.

Command Name

Description

CDENSITY

Exchange Cartesian coordinates for grid points.

CELL

Exchange cell vectors for simulation boxes.

CELL_DISPL

Exchange cell displacement vectors for simulation boxes.

CHARGES

Exchange atomic charge information.

CLATTICE

Send lattice coordinates.

COORDS

Exchange atomic coordinate information.

CPOTENTIAL

Send Cartesian coordinates of grid points.

DENSITY

Retrieve electronic density information.

DIMENSIONS

Retrieve simulation cell dimensionality (periodic or non-periodic).

ELECT_MULT

Exchange electronic multiplicity.

ELEMENTS

Exchange atomic element information.

ENERGY

Receive total energy information.

FORCES

Exchange atomic forces information.

KE

Receive total kinetic energy.

KE_ELEC

Receive electronic kinetic energy.

KE_NUC

Receive nuclear kinetic energy.

LABELS

Receive a label for each atom in the system.

LATTICE

Send lattice point charges.

LATTICE_FORCES

Receive lattice forces.

MASSES

Retrieve atom masses.

MONKHORST-PACK_NPOINTS

Send number of points for a Monkhorst-Pack grid.

MONKHORST-PACK_SHIFT

Send Monkhorst-Pack grid shift.

NATOMS

Receive number of atoms.

NDENSITY

Receive number of points for electronic density on a grid.

NLATTICE

Send number of lattice points.

NPOTENTIAL

Send the number of potential grid points.

PE

Receive total potential energy.

PE_ELEC

Receive electronic potential energy.

PE_NUC

Receive nuclear potential energy.

POTENTIAL

Send potential grid values.

SPIN_POLARIZATION

Exchange spin polarization information.

STRESS

Exchange virial stress tensor.

TOTCHARGE

Exchange total charge information

VELOCITES

Exchange atomic velocities.

Information#

Commands that provide information about MDI and/or an engine.

Command Name

Description

NAME

Receive engine name.

VERSION

Receive MDI Library version.