pub struct SoaMaterialPoints {Show 27 fields
pub n: usize,
pub strain_xx: Vec<f64>,
pub strain_yy: Vec<f64>,
pub strain_zz: Vec<f64>,
pub strain_xy: Vec<f64>,
pub strain_yz: Vec<f64>,
pub strain_xz: Vec<f64>,
pub stress_xx: Vec<f64>,
pub stress_yy: Vec<f64>,
pub stress_zz: Vec<f64>,
pub stress_xy: Vec<f64>,
pub stress_yz: Vec<f64>,
pub stress_xz: Vec<f64>,
pub plastic_strain: Vec<f64>,
pub yield_stress: Vec<f64>,
pub damage: Vec<f64>,
pub temperature: Vec<f64>,
pub fatigue_damage: Vec<f64>,
pub f11: Vec<f64>,
pub f12: Vec<f64>,
pub f13: Vec<f64>,
pub f21: Vec<f64>,
pub f22: Vec<f64>,
pub f23: Vec<f64>,
pub f31: Vec<f64>,
pub f32: Vec<f64>,
pub f33: Vec<f64>,
}Expand description
Structure-of-Arrays storage for n material integration points.
All arrays have the same length n so batch kernels can iterate over them
with simple index loops that LLVM can auto-vectorize.
Fields§
§n: usizeNumber of material points.
strain_xx: Vec<f64>Normal strain εxx.
strain_yy: Vec<f64>Normal strain εyy.
strain_zz: Vec<f64>Normal strain εzz.
strain_xy: Vec<f64>Shear strain εxy (engineering = 2 * tensorial).
strain_yz: Vec<f64>Shear strain εyz.
strain_xz: Vec<f64>Shear strain εxz.
stress_xx: Vec<f64>Normal stress σxx (output from constitutive kernels).
stress_yy: Vec<f64>Normal stress σyy.
stress_zz: Vec<f64>Normal stress σzz.
stress_xy: Vec<f64>Shear stress σxy.
stress_yz: Vec<f64>Shear stress σyz.
stress_xz: Vec<f64>Shear stress σxz.
plastic_strain: Vec<f64>Accumulated equivalent plastic strain p̄.
yield_stress: Vec<f64>Current yield stress σ_y (may harden).
damage: Vec<f64>Scalar damage variable D ∈ [0, 1].
temperature: Vec<f64>Temperature (K).
fatigue_damage: Vec<f64>Accumulated fatigue damage (Miner’s rule) ∈ [0, 1].
f11: Vec<f64>F₁₁ components (one per point).
f12: Vec<f64>F₁₂.
f13: Vec<f64>F₁₃.
f21: Vec<f64>F₂₁.
f22: Vec<f64>F₂₂.
f23: Vec<f64>F₂₃.
f31: Vec<f64>F₃₁.
f32: Vec<f64>F₃₂.
f33: Vec<f64>F₃₃.
Implementations§
Source§impl SoaMaterialPoints
impl SoaMaterialPoints
Sourcepub fn zero_stress(&mut self)
pub fn zero_stress(&mut self)
Reset all stresses to zero.
Sourcepub fn von_mises_stress(&self) -> Vec<f64>
pub fn von_mises_stress(&self) -> Vec<f64>
Compute Von Mises equivalent stress for each point.
σ_vm = √( ½ [(σxx−σyy)² + (σyy−σzz)² + (σzz−σxx)²] + 3(σxy² + σyz² + σxz²) )
Sourcepub fn hydrostatic_stress(&self) -> Vec<f64>
pub fn hydrostatic_stress(&self) -> Vec<f64>
Mean (hydrostatic) stress for each point.
Trait Implementations§
Source§impl Clone for SoaMaterialPoints
impl Clone for SoaMaterialPoints
Source§fn clone(&self) -> SoaMaterialPoints
fn clone(&self) -> SoaMaterialPoints
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more