jaxdem.integrators.velocity_verlet#

Velocity Verlet Integrator.

Classes

VelocityVerlet()

Implements the Velocity Verlet integration method.

class jaxdem.integrators.velocity_verlet.VelocityVerlet[source]#

Bases: LinearIntegrator

Implements the Velocity Verlet integration method.

static step_before_force(state: State, system: System) Tuple['State', 'System'][source][source]#

Advances the simulation state by one half-step before the force calculation using the Velocity Verlet scheme.

The update equations are:

\[\begin{split}& v(t + \Delta t / 2) &= v(t) + \Delta t a(t) / 2 \\ & r(t + \Delta t) &= r(t) + \Delta t v(t + \Delta t / 2) \Delta t\end{split}\]
where:
Parameters:
  • state (State) – Current state of the simulation.

  • system (System) – Simulation system configuration.

Returns:

The updated state and system after one time step.

Return type:

Tuple[State, System]

Note

  • This method donates state and system

static step_after_force(state: State, system: System) Tuple['State', 'System'][source][source]#

Advances the simulation state by one half-step after the force calculation using the Velocity Verlet scheme.

The update equations are:

\[\begin{split}& v(t + \Delta t) &= v(t + \Delta t / 2) + \Delta t a(t) / 2 \\\end{split}\]
where:
Parameters:
  • state (State) – Current state of the simulation.

  • system (System) – Simulation system configuration.

Returns:

The updated state and system after one time step.

Return type:

Tuple[State, System]

Note

  • This method donates state and system