pub struct CartilageModel {
pub aggregate_modulus: f64,
pub e_solid: f64,
pub nu_solid: f64,
pub permeability: f64,
pub thickness: f64,
pub porosity: f64,
pub fixed_charge_density: f64,
pub density: f64,
}Expand description
Biphasic (solid + fluid) model for articular cartilage.
Based on Mow et al. (1980) biphasic theory:
- Solid phase: linear elastic with Young’s modulus
E_sand Poisson’s rationu_s. - Fluid phase: interstitial water with hydraulic permeability
k. - Creep and stress relaxation arise from fluid exudation.
Fields§
§aggregate_modulus: f64Solid-phase aggregate modulus H_A = E_s*(1-nu_s)/((1+nu_s)(1-2nu_s)) (Pa).
e_solid: f64Solid-phase Young’s modulus E_s (Pa). Typical: 0.5–2 MPa.
nu_solid: f64Solid-phase Poisson’s ratio ν_s.
permeability: f64Fluid-phase hydraulic permeability k (m⁴/N·s). Typical: ~1e-15 m⁴/N·s.
thickness: f64Cartilage thickness (m).
porosity: f64Fluid volume fraction (porosity, 0–1). Typical: 0.65–0.80.
fixed_charge_density: f64Fixed charge density (mEq/mL) — for swelling pressure computations.
density: f64Tissue density (kg/m³).
Implementations§
Source§impl CartilageModel
impl CartilageModel
Sourcepub fn articular_cartilage() -> Self
pub fn articular_cartilage() -> Self
Typical human articular cartilage (femoral condyle).
Alias for Self::human_knee_cartilage.
Sourcepub fn human_knee_cartilage() -> Self
pub fn human_knee_cartilage() -> Self
Typical human articular cartilage (femoral condyle).
Sourcepub fn compute_aggregate_modulus(e: f64, nu: f64) -> f64
pub fn compute_aggregate_modulus(e: f64, nu: f64) -> f64
Compute the aggregate modulus from E and ν.
Sourcepub fn creep_time_constant(&self) -> f64
pub fn creep_time_constant(&self) -> f64
Characteristic time constant for creep τ = h²/(H_A * k) (s).
h is the cartilage thickness (m).
Sourcepub fn creep_compliance(&self, t: f64) -> f64
pub fn creep_compliance(&self, t: f64) -> f64
Biphasic creep compliance at time t (Pa⁻¹).
Approximation using the first-term series solution from Mow et al. (1980).
Sourcepub fn donnan_swelling_pressure(&self, c_ext: f64) -> f64
pub fn donnan_swelling_pressure(&self, c_ext: f64) -> f64
Donnan osmotic swelling pressure (Pa) at a given NaCl concentration.
c_ext is the external NaCl concentration (mEq/mL).
Sourcepub fn darcy_fluid_flux(&self, dp_dz: f64) -> f64
pub fn darcy_fluid_flux(&self, dp_dz: f64) -> f64
Darcy velocity (fluid flux, m/s) under an applied pressure gradient dp_dz (Pa/m).
Sourcepub fn strain_dependent_permeability(&self, e: f64) -> f64
pub fn strain_dependent_permeability(&self, e: f64) -> f64
Strain-dependent permeability (Holmes–Mow model).
e is the dilatational strain (volumetric, negative in compression).
Trait Implementations§
Source§impl Clone for CartilageModel
impl Clone for CartilageModel
Source§fn clone(&self) -> CartilageModel
fn clone(&self) -> CartilageModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more