diff --git a/modules/mol/mm/doc/simulation.rst b/modules/mol/mm/doc/simulation.rst new file mode 100644 index 0000000000000000000000000000000000000000..3de0804fb4ec3ee6be3a86135e1e1c50180cf61b --- /dev/null +++ b/modules/mol/mm/doc/simulation.rst @@ -0,0 +1,214 @@ +Simulation +================================================================================ + +.. currentmodule:: ost.mol + + + +.. class:: Simulation + + The :class:`mm.Simulation` class is used to run a simulation. + + .. method:: Save(filename) + + :param filename: :class:`str` + + .. method:: Load(filename) + + :param filename: :class:`str` + + .. method:: ApplyLBFGS([tolerance=1.0,max_iterations=1000]) + + Run minimization using the Limited-memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS) method. + + :param tolerance: :class:`float` + :param max_iterations: :class:`int` + + + .. method:: ApplySD(tolerance,max_iterations) + + Run minimization using the Steepes-Descend method. + + :param tolerance: :class:`float` + :param max_iterations: :class:`int` + + .. method:: Steps(steps) + + Runs the simulation for **steps** number of steps. + + :param steps: :class:`int` + + .. method:: GetPositions([enforce_periodic_box = false, in_angstrom = true]) + + :param enforce_periodic_box: :class:`bool` + :param in_angstrom: :class:`bool` + + :returns: A :class:`~ost.geom.Vec3List` of all the positions of the atoms in the Entity. + + .. method:: SetPositions(positions,[,in_angstrom = true]) + + :param positions: :class:`~ost.geom.Vec3List` + :param in_angstrom: :class:`bool` + + .. method:: UpdatePositions([enforce_periodic_box=false]) + + Sets the positions of the atoms in the :class:`EntityHandle` to the current positions of the simulation. + + :param enforce_periodic_box: :class:`bool` + + .. method:: GetVelocities() + + :returns: A :class:`~ost.geom.Vec3List` of all the velocities of the atoms in the Entity. + + .. method:: GetForces() + + :returns: A :class:`~ost.geom.Vec3List` of all the resulting force for each the atom in the Entity. + + .. method:: SetVelocities(velocities) + + :param velocities: :class:`~ost.geom.Vec3List` + + .. method:: GetEntity() + + :returns: :class:`EntityHandle` + + .. method:: GetEnergy() + + :returns: :class:`float` + + .. method:: GetPotentialEnergy() + + :returns: :class:`float` + + .. method:: GetKineticEnergy() + + :returns: :class:`float` + + .. method:: GetTopology() + + :returns: :class:`Topology` + + .. method:: GetPeriodicBoxExtents() + + :returns: :class:`~ost.geom.Vec3List` + + .. method:: SetPeriodicBoxExtents(vec) + + :param vec: :class:`~ost.geom.Vec3List` + + .. method:: Register(observer) + + Adds an observer to the simulation object. This can be used for example to write out the trajectory during the simulation. + + :param observer: :class:`Observer` + + .. method:: AddPositionConstraint(index) + + Fixes the position of the atom with index given in the argument. + + :param index: :class:`int` + + .. method:: AddPositionConstraints(indices) + + Fixes the position of the atoms with indices given in in the argument. + + :param indices: :class:`~ost.IntList` + + .. method:: ResetPositionConstraints() + + Removes all position constraints. + + .. method:: ResetHarmonicBond(index,bond_length, force_constant) + + :param index: :class:`int` + :param bond_length: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetHarmonicAngle() + + :param index: :class:`int` + :param angle: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetUreyBradleyAngle(index, angle, angle_force_constant, bond_length, bond_force_constant) + + :param index: :class:`int` + :param angle: :class:`float` + :param force_constant: :class:`float` + :param bond_length: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetPeriodicDihedral(index, multiplicity, phase, force_constant) + + :param index: :class:`int` + :param multiplicity: :class:`int` + :param phase: :class:`float` + :param force_constant: :class:`float` + + + .. method:: ResetPeriodicImproper(index, multiplicity, phase, force_constant) + + :param index: :class:`int` + :param multiplicity: :class:`int` + :param phase: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetHarmonicImproper(index, phase, force_constant) + + :param index: :class:`int` + :param phase: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetLJPair(index,sigma,epsilon) + + :param index: :class:`int` + :param sigma: :class:`float` + :param epsilon: :class:`float` + + + .. method:: ResetDistanceConstraint(index, constraint_length) + + :param index: :class:`int` + :param constraint_length: :class:`float` + + .. method:: ResetHarmonicPositionRestraint(index,ref_position, force_constant,x_scale,y_scale,z_scale) + + :param index: :class:`int` + :param ref_position: :class:`~ost.geom.Vec3` + :param force_constant: :class:`float` + :param x_scale: :class:`float` + :param y_scale: :class:`float` + :param z_scale: :class:`float` + + .. method:: ResetHarmonicDistanceRestraint(index,bond_length, force_constant) + + :param index: :class:`int` + :param bond_length: :class:`float` + :param force_constant: :class:`float` + + .. method:: ResetLJ(index,sigma,epsilon) + + :param index: :class:`int` + :param sigma: :class:`float` + :param epsilon: :class:`float` + + .. method:: ResetGBSA(index,radius,scaling) + + :param index: :class:`int` + :param radius: :class:`float` + :param scaling: :class:`float` + + .. method:: ResetCharge(index,charge) + + :param index: :class:`int` + :param charge: :class:`float` + + + .. method:: ResetMass(index,mass) + + :param index: :class:`int` + :param mass: :class:`float` + + + +