**Output:***molpdf*

**Requirements:**- restraints

This command creates a new Python optimizer object. Calling the object'soptimizemethod with an atom selection then performs a molecular dynamics optimization at a fixed temperature. This is the most basic version of the iterative solver of the Newton's equations of motion. The integrator uses the Verlet algorithm [Verlet, 1967]. All atomic masses are set to that of carbon 12. A brief description of the algorithm is given in Section A.2.

The molecular dynamics optimizer pretends that the natural logarithm of the molecular pdf is energy in kcal/mole.md_time_stepis the time step in femtoseconds.temperatureis the temperature of the system in Kelvin.max_iterationsdetermines the number of MD steps. Ifmd_returnis'FINAL'the last structure is returned as the MODEL. Ifmd_returnis'MINIMAL'then the structure with the lowest value of the objective function on the whole trajectory is returned as the MODEL. Rescaling of velocities is done everyequilibratesteps to match the specified temperature. Atomic shifts along one axis are limited bycap_atom_shift. This value should be smaller thanenergy_data.update_dynamic. Ifinit_velocities=True, the velocity arrays are initialized, otherwise they are not. In that case, the final velocities from the previous run are used as the initial velocities for the current run.

If bothguide_factorandguide_timeare non-zero, self-guided molecular dynamics [Wu & Wang, 1999] is carried out.

Seeconjugate_gradients()for a description of the other parameters and theedatandactionsoptional keyword arguments.

**Example:** See **conjugate_gradients()** command.