Simulations

Creating a Universe

An MDMC simulation requires a Universe, and one or more Atom objects, which can be combined into one or more Molecule objects. These atoms and molecules must be added to a Universe.

Atoms can have bonded (Bond, BondAngle, Dihedral) interactions or non-bonded (Dispersive, Coulombic) interactions applied to them. For a simulation to run, a functional form must be specified for each interaction: for instance a Dispersive interaction could have a LennardJones or a Buckingham interaction function applied to it.

It is also possible to:

The MDMC interface for these objects is explained in the following notebooks:

Indeed, as mentioned in the Introduction, MDMC can be used purely to aid the setup of MD simulations (without performing a refinement) via these methods.

Creating a Simulation

Once the Universe is set up, it should be passed to a Simulation object. This controls the properties of the simulation, such as which engine will be used and what the thermodynamic conditions are. It is then possible to minimize() and run() the Simulation. The results of the simulation can then be accessed through Simulation, for example via the property trajectory, or through the creation of observables such as the dynamic structure factor \(S(Q, \omega)`\)

These are explained in the following notebooks: