Struct salva2d::solver::DFSPHViscosity
source · pub struct DFSPHViscosity {
pub min_viscosity_iter: usize,
pub max_viscosity_iter: usize,
pub max_viscosity_error: Real,
pub viscosity_coefficient: Real,
/* private fields */
}
Expand description
Viscosity introduced with the Viscous DFSPH method.
This does not include any viscosity with boundaries so it can be useful to combine this with another viscosity model and include only its boundary part.
Fields§
§min_viscosity_iter: usize
Minimum number of iterations that must be executed for viscosity resolution.
max_viscosity_iter: usize
Maximum number of iterations that must be executed for viscosity resolution.
max_viscosity_error: Real
Maximum acceptable strain error (in percents).
The viscosity solver will continue iterating until the strain error drops bellow this threshold, or until the maximum number of iterations is reached.
viscosity_coefficient: Real
The viscosity coefficient.
Implementations§
Trait Implementations§
source§impl NonPressureForce for DFSPHViscosity
impl NonPressureForce for DFSPHViscosity
source§fn solve(
&mut self,
timestep: &TimestepManager,
_kernel_radius: Real,
fluid_fluid_contacts: &ParticlesContacts,
_fluid_boundaries_contacts: &ParticlesContacts,
fluid: &mut Fluid,
_boundaries: &[Boundary],
densities: &[Real]
)
fn solve( &mut self, timestep: &TimestepManager, _kernel_radius: Real, fluid_fluid_contacts: &ParticlesContacts, _fluid_boundaries_contacts: &ParticlesContacts, fluid: &mut Fluid, _boundaries: &[Boundary], densities: &[Real] )
Compute and applies the non-pressure forces to the given fluid. Read more
source§fn apply_permutation(&mut self, _: &[usize])
fn apply_permutation(&mut self, _: &[usize])
Apply the given permutation to all relevant field of this non-pressure force. Read more
Auto Trait Implementations§
impl RefUnwindSafe for DFSPHViscosity
impl Send for DFSPHViscosity
impl Sync for DFSPHViscosity
impl Unpin for DFSPHViscosity
impl UnwindSafe for DFSPHViscosity
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
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.