pub struct RockModel {
pub ucs: f64,
pub mi: f64,
pub gsi: f64,
pub d: f64,
}Expand description
Rock mass model using the generalized Hoek-Brown failure criterion.
Fields§
§ucs: f64Uniaxial compressive strength of intact rock UCS [Pa].
mi: f64Intact rock parameter mi [-].
gsi: f64Geological strength index GSI [-], 0–100.
d: f64Disturbance factor D [-], 0 (undisturbed) to 1 (heavily blasted).
Implementations§
Source§impl RockModel
impl RockModel
Sourcepub fn new(ucs: f64, mi: f64, gsi: f64, d: f64) -> Self
pub fn new(ucs: f64, mi: f64, gsi: f64, d: f64) -> Self
Create a new Hoek-Brown rock mass model.
Sourcepub fn mb_parameter(&self) -> f64
pub fn mb_parameter(&self) -> f64
Reduced m_b parameter for rock mass.
mb = mi * exp((GSI - 100) / (28 - 14D))
Sourcepub fn s_parameter(&self) -> f64
pub fn s_parameter(&self) -> f64
Rock mass s parameter (intercept of HB criterion).
s = exp((GSI - 100) / (9 - 3D))
Sourcepub fn a_parameter(&self) -> f64
pub fn a_parameter(&self) -> f64
Rock mass a parameter (shape exponent).
a = 0.5 + (1/6)*(exp(-GSI/15) - exp(-20/3))
Sourcepub fn yield_hoek_brown(&self, sigma1: f64, sigma3: f64) -> bool
pub fn yield_hoek_brown(&self, sigma1: f64, sigma3: f64) -> bool
Hoek-Brown yield check: returns true if (σ1, σ3) exceeds HB envelope.
σ1 ≥ σ3 + UCS*(mb*σ3/UCS + s)^a → yielding
Sourcepub fn uniaxial_compressive_strength_rock(&self) -> f64
pub fn uniaxial_compressive_strength_rock(&self) -> f64
Uniaxial compressive strength of the rock mass [Pa].
σ_cm = UCS * s^a
Sourcepub fn tensile_strength_rock(&self) -> f64
pub fn tensile_strength_rock(&self) -> f64
Tensile strength of rock mass [Pa].
σ_t = -s * UCS / mb
Sourcepub fn deformation_modulus(&self) -> f64
pub fn deformation_modulus(&self) -> f64
Rock mass deformation modulus [Pa] (Hoek et al. 2002).
Em = (1 - D/2)*sqrt(UCS/100)*10^((GSI-10)/40) [GPa] → Pa