[−][src]Trait salva2d::solver::NonPressureForce
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]
&mut self,
timestep: &TimestepManager,
kernel_radius: Real,
fluid_fluid_contacts: &ParticlesContacts,
fluid_boundaries_contacts: &ParticlesContacts,
fluid: &mut Fluid,
boundaries: &[Boundary],
densities: &[Real]
)
Compute and applies the non-pressure forces to the given fluid.
The force application should result in adding accelerations to the
fluid.accelerations
field.
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.
Implementors
impl NonPressureForce for Akinci2013SurfaceTension
[src]
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]
&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, _: &[usize])
[src]
impl NonPressureForce for ArtificialViscosity
[src]
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]
&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, _: &[usize])
[src]
impl NonPressureForce for DFSPHViscosity
[src]
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]
&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, _: &[usize])
[src]
impl NonPressureForce for He2014SurfaceTension
[src]
fn solve(
&mut self,
_timestep: &TimestepManager,
_kernel_radius: Real,
fluid_fluid_contacts: &ParticlesContacts,
fluid_boundary_contacts: &ParticlesContacts,
fluid: &mut Fluid,
boundaries: &[Boundary],
densities: &[Real]
)
[src]
&mut self,
_timestep: &TimestepManager,
_kernel_radius: Real,
fluid_fluid_contacts: &ParticlesContacts,
fluid_boundary_contacts: &ParticlesContacts,
fluid: &mut Fluid,
boundaries: &[Boundary],
densities: &[Real]
)
fn apply_permutation(&mut self, _: &[usize])
[src]
impl NonPressureForce for WCSPHSurfaceTension
[src]
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]
&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, _: &[usize])
[src]
impl NonPressureForce for XSPHViscosity
[src]
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]
&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, _: &[usize])
[src]
impl<KernelDensity: Kernel, KernelGradient: Kernel> NonPressureForce for Becker2009Elasticity<KernelDensity, KernelGradient>
[src]
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]
&mut self,
_timestep: &TimestepManager,
kernel_radius: Real,
_fluid_fluid_contacts: &ParticlesContacts,
_fluid_boundaries_contacts: &ParticlesContacts,
fluid: &mut Fluid,
_boundaries: &[Boundary],
_densities: &[Real]
)