Skip to main content

RockModel

Struct RockModel 

Source
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: f64

Uniaxial compressive strength of intact rock UCS [Pa].

§mi: f64

Intact rock parameter mi [-].

§gsi: f64

Geological strength index GSI [-], 0–100.

§d: f64

Disturbance factor D [-], 0 (undisturbed) to 1 (heavily blasted).

Implementations§

Source§

impl RockModel

Source

pub fn new(ucs: f64, mi: f64, gsi: f64, d: f64) -> Self

Create a new Hoek-Brown rock mass model.

Source

pub fn granite() -> Self

Typical granite (hard, good rock mass).

Source

pub fn shale() -> Self

Typical shale (weak, moderate rock mass).

Source

pub fn mb_parameter(&self) -> f64

Reduced m_b parameter for rock mass.

mb = mi * exp((GSI - 100) / (28 - 14D))

Source

pub fn s_parameter(&self) -> f64

Rock mass s parameter (intercept of HB criterion).

s = exp((GSI - 100) / (9 - 3D))

Source

pub fn a_parameter(&self) -> f64

Rock mass a parameter (shape exponent).

a = 0.5 + (1/6)*(exp(-GSI/15) - exp(-20/3))

Source

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

Source

pub fn uniaxial_compressive_strength_rock(&self) -> f64

Uniaxial compressive strength of the rock mass [Pa].

σ_cm = UCS * s^a

Source

pub fn tensile_strength_rock(&self) -> f64

Tensile strength of rock mass [Pa].

σ_t = -s * UCS / mb

Source

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

Trait Implementations§

Source§

impl Clone for RockModel

Source§

fn clone(&self) -> RockModel

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RockModel

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.