[][src]Trait salva3d::solver::PressureSolver

pub trait PressureSolver {
    fn init_with_fluids(&mut self, fluids: &[Fluid]);
fn init_with_boundaries(&mut self, boundaries: &[Boundary]);
fn predict_advection(
        &mut self,
        timestep: &TimestepManager,
        kernel_radius: Real,
        contact_manager: &ContactManager,
        gravity: &Vector<Real>,
        fluids: &mut [Fluid],
        boundaries: &[Boundary]
    );
fn evaluate_kernels(
        &mut self,
        kernel_radius: Real,
        contact_manager: &mut ContactManager,
        fluids: &[Fluid],
        boundaries: &[Boundary]
    );
fn compute_densities(
        &mut self,
        contact_manager: &ContactManager,
        fluids: &[Fluid],
        boundaries: &mut [Boundary]
    );
fn step(
        &mut self,
        counters: &mut Counters,
        timestep: &mut TimestepManager,
        gravity: &Vector<Real>,
        contact_manager: &mut ContactManager,
        kernel_radius: Real,
        fluids: &mut [Fluid],
        boundaries: &[Boundary]
    ); }

Trait implemented by pressure solvers.

Required methods

fn init_with_fluids(&mut self, fluids: &[Fluid])[src]

Initialize this solver with the given fluids.

fn init_with_boundaries(&mut self, boundaries: &[Boundary])[src]

Initialize this solver with the given boundaries.

fn predict_advection(
    &mut self,
    timestep: &TimestepManager,
    kernel_radius: Real,
    contact_manager: &ContactManager,
    gravity: &Vector<Real>,
    fluids: &mut [Fluid],
    boundaries: &[Boundary]
)
[src]

Predicts advection with the given gravity.

fn evaluate_kernels(
    &mut self,
    kernel_radius: Real,
    contact_manager: &mut ContactManager,
    fluids: &[Fluid],
    boundaries: &[Boundary]
)
[src]

Evaluate the SPH kernels for all the contacts in contact_manager.

fn compute_densities(
    &mut self,
    contact_manager: &ContactManager,
    fluids: &[Fluid],
    boundaries: &mut [Boundary]
)
[src]

Compute the densities of all the boundary and fluid particles.

fn step(
    &mut self,
    counters: &mut Counters,
    timestep: &mut TimestepManager,
    gravity: &Vector<Real>,
    contact_manager: &mut ContactManager,
    kernel_radius: Real,
    fluids: &mut [Fluid],
    boundaries: &[Boundary]
)
[src]

Solves pressure and non-pressure force for the given fluids and boundaries.

Both self.init_with_fluids and self.init_with_boundaries must be called before this method.

Loading content...

Implementors

impl<KernelDensity, KernelGradient> PressureSolver for DFSPHSolver<KernelDensity, KernelGradient> where
    KernelDensity: Kernel,
    KernelGradient: Kernel
[src]

impl<KernelDensity, KernelGradient> PressureSolver for IISPHSolver<KernelDensity, KernelGradient> where
    KernelDensity: Kernel,
    KernelGradient: Kernel
[src]

Loading content...