pub struct ModifiedCamClay {
pub m_slope: f64,
pub lambda: f64,
pub kappa: f64,
pub pc0: f64,
pub pc: f64,
pub v0: f64,
pub poisson: f64,
}Expand description
Modified Cam-Clay critical-state model.
The yield surface in (p’, q) space is:
q^2 / M^2 + p’ (p’ - p_c) = 0
where M is the critical-state stress ratio and p_c is the pre-consolidation pressure (hardening variable).
Fields§
§m_slope: f64Slope of critical state line M.
lambda: f64Slope of normal compression line lambda.
kappa: f64Slope of swelling/recompression line kappa.
pc0: f64Initial pre-consolidation pressure p_c0 [Pa].
pc: f64Current pre-consolidation pressure p_c [Pa].
v0: f64Initial specific volume v0.
poisson: f64Poisson’s ratio for elastic unloading.
Implementations§
Source§impl ModifiedCamClay
impl ModifiedCamClay
Sourcepub fn new(
m_slope: f64,
lambda: f64,
kappa: f64,
pc0: f64,
v0: f64,
poisson: f64,
) -> Self
pub fn new( m_slope: f64, lambda: f64, kappa: f64, pc0: f64, v0: f64, poisson: f64, ) -> Self
Create a new Modified Cam-Clay model.
Sourcepub fn yield_function(&self, p: f64, q: f64) -> f64
pub fn yield_function(&self, p: f64, q: f64) -> f64
Evaluate the yield function f(p’, q).
Returns < 0 inside the yield surface (elastic), 0 on the surface,
0 outside (inadmissible before return mapping).
Sourcepub fn is_yielding(&self, p: f64, q: f64) -> bool
pub fn is_yielding(&self, p: f64, q: f64) -> bool
Check whether the stress state is on or outside the yield surface.
Sourcepub fn bulk_modulus(&self, p: f64) -> f64
pub fn bulk_modulus(&self, p: f64) -> f64
Elastic bulk modulus K from current mean stress.
Sourcepub fn shear_modulus(&self, p: f64) -> f64
pub fn shear_modulus(&self, p: f64) -> f64
Elastic shear modulus G (derived from K and nu).
Sourcepub fn harden(&mut self, d_eps_v_p: f64)
pub fn harden(&mut self, d_eps_v_p: f64)
Harden: update pre-consolidation pressure from plastic volumetric strain increment d_eps_v_p (positive = compression).
Sourcepub fn stress_ratio(p: f64, q: f64) -> f64
pub fn stress_ratio(p: f64, q: f64) -> f64
Stress ratio eta = q / p’.
Sourcepub fn ncl_volumetric_strain(&self, p0: f64, p: f64) -> f64
pub fn ncl_volumetric_strain(&self, p0: f64, p: f64) -> f64
Volumetric strain on the normal compression line from p’_0 to p’.
Sourcepub fn elastic_volumetric_strain(&self, p0: f64, p: f64) -> f64
pub fn elastic_volumetric_strain(&self, p0: f64, p: f64) -> f64
Elastic (swelling-line) volumetric strain from p0 to p.
Sourcepub fn yield_surface_size(&self) -> f64
pub fn yield_surface_size(&self) -> f64
Size of the yield ellipse along the p-axis (= pc).
Sourcepub fn critical_state_p(&self, q: f64) -> f64
pub fn critical_state_p(&self, q: f64) -> f64
Critical-state mean stress for given q.
Trait Implementations§
Source§impl Clone for ModifiedCamClay
impl Clone for ModifiedCamClay
Source§fn clone(&self) -> ModifiedCamClay
fn clone(&self) -> ModifiedCamClay
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more