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:
fill()
andsolvate()
a Universe, as well as fill it using Packmol
read()
in configuration and topology (exceptDispersive
interactions) from files (see Reading atoms from configuration files tutorial)
view()
the configuration and topology in a GUI, to check the setup is correctUse
add_force_field()
to apply established force fields (e.g. OPLSAA) to the topology to set the interaction functions and parameters (see Applying a FieldField)
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: