sparkl2d/dynamics/models/
plasticity_drucker_prager.rs

1use crate::dynamics::models::{CorePlasticModel, DruckerPragerPlasticity, PlasticModel};
2use crate::dynamics::Particle;
3
4impl PlasticModel for DruckerPragerPlasticity {
5    fn update_particle(&self, particle: &mut Particle) {
6        self.update_particle(
7            particle.phase,
8            &mut particle.deformation_gradient,
9            &mut particle.plastic_deformation_gradient_det,
10            &mut particle.plastic_hardening,
11            &mut particle.log_vol_gain,
12        )
13    }
14
15    fn to_core_model(&self) -> Option<CorePlasticModel> {
16        Some(CorePlasticModel::DruckerPrager(*self))
17    }
18}