[−][src]Struct salva2d::solver::IISPHSolver
A IISPH (Implicit Incompressible 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.
Methods
impl<N, KernelDensity, KernelGradient> IISPHSolver<N, KernelDensity, KernelGradient> where
N: RealField,
KernelDensity: Kernel,
KernelGradient: Kernel,
[src]
N: RealField,
KernelDensity: Kernel,
KernelGradient: Kernel,
Trait Implementations
impl<N, KernelDensity, KernelGradient> PressureSolver<N> for IISPHSolver<N, KernelDensity, KernelGradient> where
N: RealField,
KernelDensity: Kernel,
KernelGradient: Kernel,
[src]
N: RealField,
KernelDensity: Kernel,
KernelGradient: Kernel,
fn init_with_fluids(&mut self, fluids: &[Fluid<N>])
[src]
fn init_with_boundaries(&mut self, _boundaries: &[Boundary<N>])
[src]
fn predict_advection(
&mut self,
timestep: &TimestepManager<N>,
kernel_radius: N,
contact_manager: &ContactManager<N>,
gravity: &Vector<N>,
fluids: &mut [Fluid<N>],
boundaries: &[Boundary<N>]
)
[src]
&mut self,
timestep: &TimestepManager<N>,
kernel_radius: N,
contact_manager: &ContactManager<N>,
gravity: &Vector<N>,
fluids: &mut [Fluid<N>],
boundaries: &[Boundary<N>]
)
fn evaluate_kernels(
&mut self,
kernel_radius: N,
contact_manager: &mut ContactManager<N>,
fluids: &[Fluid<N>],
boundaries: &[Boundary<N>]
)
[src]
&mut self,
kernel_radius: N,
contact_manager: &mut ContactManager<N>,
fluids: &[Fluid<N>],
boundaries: &[Boundary<N>]
)
fn compute_densities(
&mut self,
contact_manager: &ContactManager<N>,
fluids: &[Fluid<N>],
boundaries: &mut [Boundary<N>]
)
[src]
&mut self,
contact_manager: &ContactManager<N>,
fluids: &[Fluid<N>],
boundaries: &mut [Boundary<N>]
)
fn step(
&mut self,
counters: &mut Counters,
timestep: &mut TimestepManager<N>,
gravity: &Vector<N>,
contact_manager: &mut ContactManager<N>,
kernel_radius: N,
fluids: &mut [Fluid<N>],
boundaries: &[Boundary<N>]
)
[src]
&mut self,
counters: &mut Counters,
timestep: &mut TimestepManager<N>,
gravity: &Vector<N>,
contact_manager: &mut ContactManager<N>,
kernel_radius: N,
fluids: &mut [Fluid<N>],
boundaries: &[Boundary<N>]
)
Auto Trait Implementations
impl<N, KernelDensity, KernelGradient> RefUnwindSafe for IISPHSolver<N, KernelDensity, KernelGradient> where
KernelDensity: RefUnwindSafe,
KernelGradient: RefUnwindSafe,
N: RefUnwindSafe + Scalar,
KernelDensity: RefUnwindSafe,
KernelGradient: RefUnwindSafe,
N: RefUnwindSafe + Scalar,
impl<N, KernelDensity, KernelGradient> Send for IISPHSolver<N, KernelDensity, KernelGradient> where
N: Scalar,
N: Scalar,
impl<N, KernelDensity, KernelGradient> Sync for IISPHSolver<N, KernelDensity, KernelGradient> where
N: Scalar,
N: Scalar,
impl<N, KernelDensity, KernelGradient> Unpin for IISPHSolver<N, KernelDensity, KernelGradient> where
KernelDensity: Unpin,
KernelGradient: Unpin,
N: Scalar + Unpin,
KernelDensity: Unpin,
KernelGradient: Unpin,
N: Scalar + Unpin,
impl<N, KernelDensity, KernelGradient> UnwindSafe for IISPHSolver<N, KernelDensity, KernelGradient> where
KernelDensity: UnwindSafe,
KernelGradient: UnwindSafe,
N: Scalar + UnwindSafe,
KernelDensity: UnwindSafe,
KernelGradient: UnwindSafe,
N: Scalar + UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,