Xrockstrength

require.mx('mxjs/geotech/xrockstrength.js');

This library contains functions for the formulation of rock mass strength.
The Hoek-Brown strength envelope is based on the 2002 strength envelope formulation.
Hoek-Brown strength parameters for rockmasses under squeezing and spalling conditions is based on
Carter et al. (2008) Application of modified Hoek-Brown transition relationships for assessing strength and post yield behaviour at both ends of the rock competence scale. J. S.A. Ist. Min. Metal., vol 108, pp 325-338
The General formulation contains a seamless transition between Carter et al. (2008) formulation from squeezing through general Hoek-Brown behaviour to spalling conditions.
The Xgeneral formulation provides a Generalised Hoek-Brown failure criterion with implicit Tensile strength.
Please note: Carter et al. (2008) and other papers published by the authors on the same subject contains a typing error in one of the equations that is corrected in this implementation.

StatusName
Number Carter.General.a ( Number UCS, Number T, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown rockmass a

Number Carter.General.m ( Number UCS, Number mi, Number T, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown rockmass m

Number Carter.General.s ( Number UCS, Number T, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown rockmass s

Number Carter.General.sigma1 ( Number s3, Number UCS, Number mi, Number T, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown failure criterion

Number Carter.Spall.a ( Number UCS, Number T, Number GSI, Number D, Number a_spl )

returns the Hoek-Brown rock mass a for spalling conditions

Number Carter.Spall.m ( Number UCS, Number mi, Number T, Number Fi, Number GSI, Number D, Number a_spl )

returns the Hoek-Brown rock mass m for spalling conditions

Number Carter.Spall.s ( Number UCS, Number T, Number Fi, Number GSI, Number D, Number a_spl )

returns the Hoek-Brown rock mass s for spalling conditions

Number Carter.Squeeze.a ( Number UCS, Number GSI )

returns the Hoek-Brown rock mass a for squeezing conditions

Number Carter.Squeeze.m ( Number UCS, Number mi, Number GSI, Number D )

returns the Hoek-Brown rock mass m for squeezing conditions

Number Carter.Squeeze.s ( Number UCS, Number GSI, Number D )

returns the Hoek-Brown rock mass s for squeezing conditions

Number Carter.Xgeneral.a ( Number UCS, Number mi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown with implicit T rockmass a

Number Carter.Xgeneral.m ( Number UCS, Number mi, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown with implicit T rockmass m

Number Carter.Xgeneral.s ( Number UCS, Number mi, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown with implicit T rockmass s

Number Carter.Xgeneral.sigma1 ( Number s3, Number UCS, Number mi, Number Fi, Number GSI, Number D, Number a_spl )

Generalised Hoek-Brown with implicit T failure criterion

Number HoekBrown.a ( Number GSI )

returns the Hoek-Brown rock mass a

Number HoekBrown.failureValue ( Number s1, Number s3, Number UCS, Number m, Number s, Number a )

returns a strength factor formulation of the given (s1, s3) stress state

Value = s1 - lib.Hoekbrown.sigma1(s3, UCS, m, s, a), value >= 0 --> fail

Number HoekBrown.failureValue3D ( Number I1, Number J2, Number theta, Number UCS, Number m, Number s, Number a )

returns a value quantifying the distance from the hoek-brown failure locus.

Number HoekBrown.fit_hypercube_in_tangent ( Number GSI )

returns ...

boolean HoekBrown.hasFailed ( Number s1, Number s3, Number UCS, Number m, Number s, Number a )

returns "true" for failure state and "false" otherwise

boolean HoekBrown.hasFailed3D ( Number I1, Number J2, Number theta, Number UCS, Number m, Number s, Number a )

returns "true" for failure state and "false" otherwise

Number HoekBrown.m ( Number mi, Number GSI, Number D )

returns the Hoek-Brown rock mass m

Number HoekBrown.s ( Number GSI, Number D )

returns the Hoek-Brown rock mass s

Number HoekBrown.sigma1 ( Number s3, Number UCS, Number m, Number s, Number a )

Number HoekBrown.sigma3 ( Number s1, Number UCS, Number m, Number s, Number a )

Hoek-Brown strength envelope σ 3 as a function of σ 1. for intact rock only as the current formulation assumes a = 0.5


Category: Carter

returns parameters for the Hoek-Brown failure criteria for the squeezing and spalling conditions based on the methods proposed by Carter et al. (2008)


Category: Carter.General

Generalised Hoek-Brown failure criterion as defined by Carter et al. 2008 Transition is done from Squeezing and Spalling formulations through the standard hoek Brown fomulation

a = Lib.Carter.General.a ( UCS, T, GSI, D, a_spl )

Generalised Hoek-Brown rockmass a

Parameters: Returns: Number a
m = Lib.Carter.General.m ( UCS, mi, T, Fi, GSI, D, a_spl )

Generalised Hoek-Brown rockmass m

Parameters: Returns: Number m
s = Lib.Carter.General.s ( UCS, T, Fi, GSI, D, a_spl )

Generalised Hoek-Brown rockmass s

Parameters:
  • Number UCS
  • Number T - tensile strength of intact rock
  • Number Fi - (fracture initiation stress)/UCS
  • Number GSI
  • Number D
  • Number a_spl - 0.25 for peak strength, 0.75 for residual strength
Returns: Number s
sigma1 = Lib.Carter.General.sigma1 ( s3, UCS, mi, T, Fi, GSI, D, a_spl )

Generalised Hoek-Brown failure criterion

Parameters: Returns: Number sigma1

Category: Carter.Spall

returns the Hoek-Brown rock mass parameters for spalling conditions.

a = Lib.Carter.Spall.a ( UCS, T, GSI, D, a_spl )

returns the Hoek-Brown rock mass a for spalling conditions

Parameters: Returns: Number a
m = Lib.Carter.Spall.m ( UCS, mi, T, Fi, GSI, D, a_spl )

returns the Hoek-Brown rock mass m for spalling conditions

Parameters: Returns: Number m
s = Lib.Carter.Spall.s ( UCS, T, Fi, GSI, D, a_spl )

returns the Hoek-Brown rock mass s for spalling conditions

Parameters:
  • Number UCS
  • Number T - tensile strength of intact rock
  • Number Fi - (fracture initiation stress)/UCS
  • Number GSI
  • Number D
  • Number a_spl - 0.25 for peak strength, 0.75 for residual strength
Returns: Number s

Category: Carter.Squeeze

returns the Hoek-Brown rock mass parameters for squeezing conditions.

a = Lib.Carter.Squeeze.a ( UCS, GSI )

returns the Hoek-Brown rock mass a for squeezing conditions

Parameters: Returns: Number a
m = Lib.Carter.Squeeze.m ( UCS, mi, GSI, D )

returns the Hoek-Brown rock mass m for squeezing conditions

Parameters: Returns: Number m
s = Lib.Carter.Squeeze.s ( UCS, GSI, D )

returns the Hoek-Brown rock mass s for squeezing conditions

Parameters: Returns: Number s

Category: Carter.Xgeneral

Having to specify the value for T leaves a lot of room for error. Assuming the Hoek-Brown failure criterion, we can substitute the T with UCS/mi to get a more robust formulation. Generalised Hoek-Brown failure criterion with implicit T

a = Lib.Carter.Xgeneral.a ( UCS, mi, GSI, D, a_spl )

Generalised Hoek-Brown with implicit T rockmass a

Parameters: Returns: Number a
m = Lib.Carter.Xgeneral.m ( UCS, mi, Fi, GSI, D, a_spl )

Generalised Hoek-Brown with implicit T rockmass m

Parameters: Returns: Number m
s = Lib.Carter.Xgeneral.s ( UCS, mi, Fi, GSI, D, a_spl )

Generalised Hoek-Brown with implicit T rockmass s

Parameters: Returns: Number s
sigma1 = Lib.Carter.Xgeneral.sigma1 ( s3, UCS, mi, Fi, GSI, D, a_spl )

Generalised Hoek-Brown with implicit T failure criterion

Parameters: Returns: Number sigma1

Category: HoekBrown

Functions for the Hoek-Brown Failure criteria 2002

a = Lib.HoekBrown.a ( GSI )

returns the Hoek-Brown rock mass a

Parameters: Returns: Number a
SF = Lib.HoekBrown.failureValue ( s1, s3, UCS, m, s, a )

returns a strength factor formulation of the given (s1, s3) stress state

Value = s1 - lib.Hoekbrown.sigma1(s3, UCS, m, s, a), value >= 0 --> fail

Parameters: Returns: Number SF
Value. = Lib.HoekBrown.failureValue3D ( I1, J2, theta, UCS, m, s, a )

returns a value quantifying the distance from the hoek-brown failure locus.

Parameters: Returns: Number Value. - For Value=0 => on the locus, Value>0 ourside the locus, i.e. failure, Value < 0 => inside locus
a = Lib.HoekBrown.fit_hypercube_in_tangent ( GSI )

returns ...

Parameters: Returns: Number a
failed = Lib.HoekBrown.hasFailed ( s1, s3, UCS, m, s, a )

returns "true" for failure state and "false" otherwise

Parameters: Returns: boolean failed
failed = Lib.HoekBrown.hasFailed3D ( I1, J2, theta, UCS, m, s, a )

returns "true" for failure state and "false" otherwise

Parameters: Returns: boolean failed
m = Lib.HoekBrown.m ( mi, GSI, D )

returns the Hoek-Brown rock mass m

Parameters: Returns: Number m
s = Lib.HoekBrown.s ( GSI, D )

returns the Hoek-Brown rock mass s

Parameters: Returns: Number s
Hbstrength = Lib.HoekBrown.sigma1 ( s3, UCS, m, s, a )

Parameters: Returns: Number Hbstrength
σ<sub>3</sub> = Lib.HoekBrown.sigma3 ( s1, UCS, m, s, a )

Hoek-Brown strength envelope σ 3 as a function of σ 1. for intact rock only as the current formulation assumes a = 0.5

Parameters: Returns: Number σ<sub>3</sub>