[−][src]Struct salva2d::solver::DFSPHSolver
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]
N: RealField,
KernelDensity: Kernel,
KernelGradient: Kernel,
Trait Implementations
impl<N, KernelDensity, KernelGradient> PressureSolver<N> for DFSPHSolver<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 DFSPHSolver<N, KernelDensity, KernelGradient> where
KernelDensity: RefUnwindSafe,
KernelGradient: RefUnwindSafe,
N: RefUnwindSafe + Scalar,
KernelDensity: RefUnwindSafe,
KernelGradient: RefUnwindSafe,
N: RefUnwindSafe + Scalar,
impl<N, KernelDensity, KernelGradient> Send for DFSPHSolver<N, KernelDensity, KernelGradient> where
N: Scalar,
N: Scalar,
impl<N, KernelDensity, KernelGradient> Sync for DFSPHSolver<N, KernelDensity, KernelGradient> where
N: Scalar,
N: Scalar,
impl<N, KernelDensity, KernelGradient> Unpin for DFSPHSolver<N, KernelDensity, KernelGradient> where
KernelDensity: Unpin,
KernelGradient: Unpin,
N: Scalar + Unpin,
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,
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
unsafe 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>,