Trait ParticleUpdater
Source pub trait ParticleUpdater {
// Required methods
unsafe fn estimate_particle_timestep_length(
&self,
cell_width: Real,
particle_id: u32,
particle_status: &ParticleStatus,
particle_volume: &ParticleVolume,
particle_vel: &ParticleVelocity,
) -> (ActiveTimestepBounds, Real);
unsafe fn update_particle_and_compute_kirchhoff_stress(
&self,
dt: Real,
cell_width: Real,
colliders: &GpuColliderSet,
particle_id: u32,
particle_status: &mut ParticleStatus,
particle_pos: &mut ParticlePosition,
particle_vel: &mut ParticleVelocity,
particle_volume: &mut ParticleVolume,
particle_phase: &mut ParticlePhase,
interpolated_data: &mut InterpolatedParticleData,
) -> Option<(Matrix<Real>, Vector<Real>)>;
// Provided method
fn artificial_pressure_stiffness(&self) -> f32 { ... }
}