# [−][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 System to perform the simulation. 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 propagate, which should propagate the simulation for one step.