Time Integration
FLOWVPM.euler
— Functioneuler(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.
FLOWVPM.rungekutta3
— FunctionSteps the field forward in time by dt in a third-order low-storage Runge-Kutta integration scheme. See Notebook entry 20180105.
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.