pub struct SphSolver {
pub sim: PySphSimulation,
pub variant: SphVariant,
pub max_pressure_iters: usize,
pub pressure_tol: f64,
}Expand description
Wrapper that holds a PySphSimulation along with a solver variant.
Fields§
§sim: PySphSimulationThe underlying SPH simulation.
variant: SphVariantWhich variant to use when stepping.
max_pressure_iters: usizeDFSPH: maximum iterations for the pressure solve.
pressure_tol: f64DFSPH: convergence tolerance for density error.
Implementations§
Source§impl SphSolver
impl SphSolver
Sourcepub fn wcsph(config: PySphConfig) -> Self
pub fn wcsph(config: PySphConfig) -> Self
Create a WCSPH solver.
Sourcepub fn dfsph(config: PySphConfig) -> Self
pub fn dfsph(config: PySphConfig) -> Self
Create a DFSPH solver.
Sourcepub fn step(&mut self, dt: f64)
pub fn step(&mut self, dt: f64)
Step the simulation. WCSPH uses the standard step; DFSPH uses an iterative pressure-correction approach.
Sourcepub fn density_error(&self) -> f64
pub fn density_error(&self) -> f64
Return the current density error (max |ρ - ρ₀| / ρ₀).
Sourcepub fn particle_count(&self) -> usize
pub fn particle_count(&self) -> usize
Number of particles.
Auto Trait Implementations§
impl Freeze for SphSolver
impl RefUnwindSafe for SphSolver
impl Send for SphSolver
impl Sync for SphSolver
impl Unpin for SphSolver
impl UnsafeUnpin for SphSolver
impl UnwindSafe for SphSolver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.