Time Integration

FLOWVPM.eulerFunction
euler(pfield::ParticleField, dt::Real; relax::Bool=false, custom_UJ=nothing)

Convects the pfield by timestep dt using a forward Euler step.

Arguments

  • pfield::ParticleField The particle field to integrate.
  • dt::Real The time step.
  • relax::Bool Whether to apply relaxation (default: false).
  • custom_UJ Optional custom function for updating U and J.
source
FLOWVPM.rungekutta3Function

Steps the field forward in time by dt in a third-order low-storage Runge-Kutta integration scheme. See Notebook entry 20180105.

source
rungekutta3(pfield::ParticleField, dt::Real; relax::Bool=false, custom_UJ=nothing)

Steps the field forward in time by dt in a third-order low-storage Runge-Kutta integration scheme using the VPM reformulation. See Notebook entry 20180105 (RK integration) and notebook 20210104 (reformulation).

Arguments

  • pfield::ParticleField The particle field to integrate.
  • dt::R3 The time step.
  • relax::Bool Whether to apply relaxation (default: false).
  • custom_UJ Optional custom function for updating U and J.
source