Skip to main content

Advector

Trait Advector 

Source
pub trait Advector {
    // Required methods
    fn step(
        &self,
        repr: &mut dyn PhaseSpaceRepr,
        acceleration: &AccelerationField,
        dt: f64,
    );
    fn drift(&self, repr: &mut dyn PhaseSpaceRepr, dt: f64);
    fn kick(
        &self,
        repr: &mut dyn PhaseSpaceRepr,
        acceleration: &AccelerationField,
        dt: f64,
    );
}
Expand description

Trait for all phase-space advection schemes.

Required Methods§

Source

fn step( &self, repr: &mut dyn PhaseSpaceRepr, acceleration: &AccelerationField, dt: f64, )

Advance f in phase space by Δt using the given acceleration. Returns nothing — mutates the representation in place.

Source

fn drift(&self, repr: &mut dyn PhaseSpaceRepr, dt: f64)

Spatial-only drift step (free streaming): advance f by v·Δt in position at constant v.

Source

fn kick( &self, repr: &mut dyn PhaseSpaceRepr, acceleration: &AccelerationField, dt: f64, )

Velocity-only kick step: advance f by g·Δt in velocity at constant x.

Implementors§