# [−][src]Module lumol::sim

Type and algorithms for simulations

The main stuct is `Simulation`

, containing all the data to run a single
simulation. A given `System`

can be used with multiple `Simulation`

, for
example starting with an energy minimization, and then running some
Molecular dynamics;

## Modules

mc | Metropolis Monte Carlo related algorithms |

md | Molecular dynamics related algorithms. |

min | Energy minimization algorithms |

output | Saving properties of a system during a simulation |

## Structs

BoltzmannVelocities | Initialize the velocities from a Boltzmann distribution. |

Minimization | Minimization propagator for simulations. |

MolecularDynamics | Molecular Dynamics propagator for the simulation. |

MonteCarlo | Metropolis Monte Carlo propagator |

Simulation | The Simulation struct holds all the needed algorithms for running the
simulation. It should be use together with a |

UniformVelocities | Initialize the velocities from an uniform distribution. |

## Enums

TemperatureStrategy | Possible temperature computation strategies. Different propagators needs different ways to compute the temperature: Monte Carlo temperature is a constant of the simulation, whereas for molecular dynamics we use the instantaneous velocities. |

## Traits

InitVelocities | A method to initialize the velocities of a system. |

Propagator | The propagator trait is the main algorithm of a simulation, i.e. the one
which update the system. The main function here is |