Skip to content

07_Geometry_Optimisation_and_MD

Ambuild-code edited this page Oct 19, 2023 · 5 revisions

7.1 Geometry Optimisation

Rigid body optimisation is carried out using the mode_minimize_rigid_fire optimiser. The optimiser is run with a command similar to the following:

mycell.optimiseGeometry( rigidBody=True, doDihedral=True, quiet=True, rCut=5.0, optCycles=1000000, dt=0.005, Etol=1e-5)

The arguments accepted by optimiseGeometry are:

  • rigidBody: This asks whether to do a rigid-body (True) or all-atom (False) optimisation.
  • doDihedral: This asks whether or not to include the dihedral terms (True or False).
  • doImproper: This asks whether or not to include the improper terms (True or False).
  • rCut: This is the van der Waals cut-off distance used (angstroms). Generally, a minimum rCut value of 10 should be used to describe the system.
  • optCycles: This is the number of HOOMD-blue optimisation cycles to run (default = 1 million cycles).
  • quiet: This asks whether the normal HOOMD-blue runtime output should be printed to the screen (False) or not (True).
  • dt: The timestep, in picoseconds, that the system takes to equilibrate per optimisation cycle (default = 0.0001 ps).

All other arguments accepted by the mode_minimize_rigid_fire optimiser are passed through, so for example, parameters such as fdec, alpha_start, etc. can be set in the call to optimiseGeometry. (The arguments accepted by the mode_minimize_rigid_fire optimiser are given in the following location: https://lost-contact.mit.edu/afs//umich.edu/user/j/o/joaander/Public/hoomd-web/doc/classhoomd__script_1_1integrate_1_1mode__minimize__rigid__fire.html).

7.2 Molecular Dynamics

MD simulations are run using the nvt (fixed volume), nvt_rigid, npt (fixed pressure), or npt_rigid integrators within HOOMD-blue. More information about the MD integrators can be found at: https://hoomd-blue.readthedocs.io/en/stable/module-md-integrate.html).

MD simulations can be ran using:

mycell.runMD(doDihedral=True, quiet=False, rCut=5.0, mdCycles=100, T=1.0, tau=0.5, P=1.0, tauP=0.5, dt=0.0005, dump=True, dumpPeriod=20, integrator='npt')

The variables for the runMD argument are given as:

  • doDihedral: This asks whether or not to include the dihedral terms (True or False).
  • quiet: This asks whether the normal HOOMD-blue runtime output should be printed to the screen (False) or not (True).
  • rCut: This is the van der Waals cut-off distance used (angstroms).
  • mdCycles: This is the number of HOOMD-blue MD cycles to run (default = 100,000 cycles).
  • T: The temperature factor used in the simulation (this doesn’t directly relate to a temperature in kelvin and is reliant on a number of factors, such as the Boltzmann constant, and is better defined as the amount of energy added to the system). Please see below for more information regarding the temperature.
  • P: The pressure coefficient used in the simulation.
  • dump: A True or False command asking whether or not to save the current state of the cell at various intervals.
  • dumpPeriod: How often to save the current state of the cell (e.g. a dumpPeriod of 20 indicates that the state of the cell should be saved after every 20 steps).
  • dt: The timestep, in picoseconds, that the system takes to equilibrate per MD cycle (default = 0.0001 ps).

The integrator option can be either 'nvt' (constant number of molecules, cell volume and temperature), or 'npt' (constant number of molecules, cell pressure and temperature) (default = 'nvt').

7.3 Geometry Optimisation and Molecular Dynamics Combined

In order to save copying data between Ambuild and HOOMD-blue, a combined MD and optimisation command has been created. This runs a very short optimisation loop to stabilise the structure, then runs an MD simulation, before running a full geometry optimisation to convergence (if possible). An example command to do this is:

mycell.runMDAndOptimise( doDihedral=True )

All the arguments accepted by the optimiseGeometry and runMD commands are accepted by runMDAndOptimise.

More information about the units of measurement used within HOOMD-blue2 can be found here: https://hoomd-blue.readthedocs.io/en/stable/units.html

7.4 HOOMD-Blue Temperature Statement

HOOMD-Blue’s nomenclature lacks clarity when referring to temperature, which is common in the field as the thermal energy is the more useful parameter at the scale of HOOMD-Blue models. A temperature factor in kelvin is specified when the cell is created, which provides the baseline temperature for particles in the cell. The actual temperature of the cell depends on the kinetic energy of the cell at a particular instance and the Boltzmann constant of the individual simulation cell. We therefore believe that the temperature factor is the best quantity to relate the atomistic scale thermal energy of the simulation cell to the macro scale temperature of a laboratory reaction.

Clone this wiki locally