[][src]Struct salva2d::solver::DFSPHSolver

pub struct DFSPHSolver<N: RealField, KernelDensity: Kernel = CubicSplineKernel, KernelGradient: Kernel = CubicSplineKernel> {
    pub min_pressure_iter: usize,
    pub max_pressure_iter: usize,
    pub max_density_error: N,
    pub min_divergence_iter: usize,
    pub max_divergence_iter: usize,
    pub max_divergence_error: N,
    // some fields omitted
}

A DFSPH (Divergence Free Smoothed Particle Hydrodynamics) pressure solver.

Fields

min_pressure_iter: usize

Minimum number of iterations that must be executed for pressure resolution.

max_pressure_iter: usize

Maximum number of iterations that must be executed for pressure resolution.

max_density_error: N

Maximum acceptable density error (in percents).

The pressure solver will continue iterating until the density error drops bellow this threshold, or until the maximum number of pressure iterations is reached.

min_divergence_iter: usize

Minimum number of iterations that must be executed for divergence resolution.

max_divergence_iter: usize

Maximum number of iterations that must be executed for divergence resolution.

max_divergence_error: N

Maximum acceptable divergence error (in percents).

The pressure solver will continue iterating until the divergence error drops bellow this threshold, or until the maximum number of pressure iterations is reached.

Methods

impl<N, KernelDensity, KernelGradient> DFSPHSolver<N, KernelDensity, KernelGradient> where
    N: RealField,
    KernelDensity: Kernel,
    KernelGradient: Kernel
[src]

pub fn new() -> Self[src]

Initialize a new DFSPH pressure solver.

Trait Implementations

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

Auto Trait Implementations

impl<N, KernelDensity, KernelGradient> RefUnwindSafe for DFSPHSolver<N, KernelDensity, KernelGradient> where
    KernelDensity: RefUnwindSafe,
    KernelGradient: RefUnwindSafe,
    N: RefUnwindSafe + Scalar

impl<N, KernelDensity, KernelGradient> Send for DFSPHSolver<N, KernelDensity, KernelGradient> where
    N: Scalar

impl<N, KernelDensity, KernelGradient> Sync for DFSPHSolver<N, KernelDensity, KernelGradient> where
    N: Scalar

impl<N, KernelDensity, KernelGradient> Unpin for DFSPHSolver<N, KernelDensity, KernelGradient> where
    KernelDensity: Unpin,
    KernelGradient: Unpin,
    N: Scalar + Unpin

impl<N, KernelDensity, KernelGradient> UnwindSafe for DFSPHSolver<N, KernelDensity, KernelGradient> where
    KernelDensity: UnwindSafe,
    KernelGradient: UnwindSafe,
    N: Scalar + UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,