[][src]Trait salva2d::solver::NonPressureForce

pub trait NonPressureForce<N: RealField>: Send + Sync {
    fn solve(
        &mut self,
        timestep: &TimestepManager<N>,
        kernel_radius: N,
        fluid_fluid_contacts: &ParticlesContacts<N>,
        fluid_boundaries_contacts: &ParticlesContacts<N>,
        fluid: &mut Fluid<N>,
        boundaries: &[Boundary<N>],
        densities: &[N]
    ); fn apply_permutation(&mut self, _permutation: &[usize]) { ... } }

Trait implemented by non-pressure forces.

This includes all non-pressure forces internal to a same fluid, or acting between a fluid and a boundary.

Required methods

fn solve(
    &mut self,
    timestep: &TimestepManager<N>,
    kernel_radius: N,
    fluid_fluid_contacts: &ParticlesContacts<N>,
    fluid_boundaries_contacts: &ParticlesContacts<N>,
    fluid: &mut Fluid<N>,
    boundaries: &[Boundary<N>],
    densities: &[N]
)

Compute and applies the non-pressure forces to the given fluid.

The force application should result in adding accelerations to the fluid.accelerations field.

Loading content...

Provided methods

fn apply_permutation(&mut self, _permutation: &[usize])

Apply the given permutation to all relevant field of this non-pressure force.

This is currently not used so it can be left empty.

Loading content...

Implementors

impl<N: RealField> NonPressureForce<N> for Akinci2013SurfaceTension<N>[src]

impl<N: RealField> NonPressureForce<N> for ArtificialViscosity<N>[src]

impl<N: RealField> NonPressureForce<N> for DFSPHViscosity<N>[src]

impl<N: RealField> NonPressureForce<N> for He2014SurfaceTension<N>[src]

impl<N: RealField> NonPressureForce<N> for WCSPHSurfaceTension<N>[src]

impl<N: RealField> NonPressureForce<N> for XSPHViscosity<N>[src]

impl<N: RealField, KernelDensity: Kernel, KernelGradient: Kernel> NonPressureForce<N> for Becker2009Elasticity<N, KernelDensity, KernelGradient>[src]

Loading content...