jaxdem.integrators.velocity_verlet#
Velocity Verlet Integrator.
Classes
Implements the Velocity Verlet integration method. |
- class jaxdem.integrators.velocity_verlet.VelocityVerlet[source]#
Bases:
LinearIntegratorImplements 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:
\(r\) is the particle position (
jaxdem.State.pos)\(v\) is the particle velocity (
jaxdem.State.vel)\(a\) is the particle acceleration computed from forces (
jaxdem.State.force)\(\Delta t\) is the time step (
jaxdem.System.dt)
- Parameters:
- Returns:
The updated state and system after one time step.
- Return type:
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:
\(v\) is the particle velocity (
jaxdem.State.vel)\(a\) is the particle acceleration computed from forces (
jaxdem.State.force)\(\Delta t\) is the time step (
jaxdem.System.dt)
- Parameters:
- Returns:
The updated state and system after one time step.
- Return type:
Note
This method donates state and system