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

pub trait NonPressureForce: Send + Sync {
    fn solve(
        &mut self,
        timestep: &TimestepManager,
        kernel_radius: Real,
        fluid_fluid_contacts: &ParticlesContacts,
        fluid_boundaries_contacts: &ParticlesContacts,
        fluid: &mut Fluid,
        boundaries: &[Boundary],
        densities: &[Real]
    ); 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,
    kernel_radius: Real,
    fluid_fluid_contacts: &ParticlesContacts,
    fluid_boundaries_contacts: &ParticlesContacts,
    fluid: &mut Fluid,
    boundaries: &[Boundary],
    densities: &[Real]
)
[src]

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])[src]

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 NonPressureForce for Akinci2013SurfaceTension[src]

impl NonPressureForce for ArtificialViscosity[src]

impl NonPressureForce for DFSPHViscosity[src]

impl NonPressureForce for He2014SurfaceTension[src]

impl NonPressureForce for WCSPHSurfaceTension[src]

impl NonPressureForce for XSPHViscosity[src]

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

Loading content...