jaxdem.integrators.direct_euler#

Direct (forward) Euler integrator.

Classes

DirectEuler()

Implements the explicit (forward) Euler integration method.

class jaxdem.integrators.direct_euler.DirectEuler[source]#

Bases: Integrator

Implements the explicit (forward) Euler integration method.

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

Advances the simulation state by one time step using the Direct Euler method.

The update equations are:

\[\begin{split}& v(t + \Delta t) &= v(t) + \Delta t a(t) \\ & r(t + \Delta t) &= r(t) + \Delta t v(t + \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]

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

The Direct Euler integrator does not require a specific initialization step.

Parameters:
  • state (State) – Current state of the simulation.

  • system (System) – Simulation system configuration.

Returns:

The original State and System objects.

Return type:

Tuple[State, System]

classmethod registry_name() str[source]#
property type_name: str[source]#