geolib_plus.robertson_cpt_interpretation package

Submodules

geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation module

class geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation.OCRMethod(value)

Bases: IntEnum

An enumeration.

MAYNE = 2
ROBERTSON = 1
class geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation.RelativeDensityMethod(value)

Bases: IntEnum

An enumeration.

BALDI = 1
KULHAWY = 2
KULHAWY_SIMPLE = 3
class geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation.RobertsonCptInterpretation(*, unitweightmethod: UnitWeightMethod = UnitWeightMethod.ROBERTSON, ocrmethod: OCRMethod = OCRMethod.ROBERTSON, shearwavevelocitymethod: ShearWaveVelocityMethod = ShearWaveVelocityMethod.ROBERTSON, relativedensitymethod: RelativeDensityMethod = RelativeDensityMethod.BALDI, data: AbstractCPT = None, gamma: Iterable = [], polygons: Iterable = [], path_to_water_level_file: Union[str, Path] = PosixPath('/home/runner/work/GEOLib-Plus/GEOLib-Plus/geolib_plus/robertson_cpt_interpretation/resources'), name_water_level_file: str = 'peilgebieden_jp_250m.nc', user_defined_water_level: bool = False)

Bases: AbstractInterpretationMethod, BaseModel

Robertson soil classification.

Classification of soils according to Robertson chart.

../_images/robertson.png
IC_calc()

IC, following Robertson and Cabal [1].

Ic=[(3.47log(Qtn))2+(log(Fr)+1.22)2]0.5
NEN_calc()

Computes the consistency according to the NEN 997-1:2016

The NEN method is based on the tip resistance.

static calculate_corrected_depth(penetration_length: Iterable, inclination: Iterable)

Correct the penetration length with the inclination angle

Parameters:
  • penetration_length – measured penetration length

  • inclination – measured inclination of the cone

Returns:

corrected depth

damp_calc(method: OCRMethod = OCRMethod.MAYNE, d_min: float = 2, Cu: float = 2.0, D50: float = 0.2, Ip: float = 40.0, freq: float = 1.0)

Damping calculation.

For clays and peats, the damping is assumed as the minimum damping following Darendeli [2].

Dmin=(0.8005+0.0129PIOCR0.1069)σv00.2889[1+0.2919ln(freq)]

The OCR can be computed according to Mayne [3] or Robertson and Cabal [1].

OCRMayne=0.33qtσv0σv0OCRRob=0.25(Qt)1.25

For sand the damping is assumed as the minimum damping following Menq :cite`menq_2003`.

Dmin=0.55Cu0.1d500.3(σvpa)0.08

:param : :type : param method: (optional) Method for calculation of OCR. Default is Mayne :param : :type : param d_min: (optional) Minimum damping. Default is 2% :param : :type : param Cu: (optional) Coefficient of uniformity. Default is 2.0 :param : :type : param D50: (optional) Median grain size. Default is 0.2 mm :param : :type : param Ip: (optional) Plasticity index. Default is 40 :param : :type : param freq: (optional) Frequency. Default is 1 Hz

data: AbstractCPT
filter(lithologies: List[str] = [''], key='', value: float = 0)

Filters the values of the CPT object. The filter removes the index of the object for the defined lithologies, where the key is smaller than the value The filter only removes the first consecutive samples.

Parameters:
  • lithologies – list of lithologies to be filtered

  • key – Key of the object to be filtered

  • value – value of the key to be limited

Returns:

gamma: Iterable
gamma_calc(method: UnitWeightMethod = UnitWeightMethod.ROBERTSON, gamma_min: float = 10.5, gamma_max: float = 22)

Computes unit weight.

Computes the unit weight following Robertson and Cabal [1]. If unit weight is infinity, it is set to gamma_limit. The formula for unit weight is:

γ=(0.27log(Rf)+0.36log(qtPa)+1.236)γw

Alternative method of Lengkeek et al. [4]:

γ=γsat,refβ(log(qt,refqt)log(Rf,refRf))

:param : :type : param method: (optional) Method to compute unit weight. Default is Robertson :param : :type : param gamma_max: (optional) Maximum gamma. Default is 22 :param : :type : param gamma_min: (optional) Minimum gamma. Default is 10.5

interpret(data: AbstractCPT)

Function that interprets the cpt inputs. Lithology for each layer is determined according to the robertson’s method. Note that the pre_process method should be run before the interpret method.

lithology(Qtn: Iterable, Fr: Iterable)

Identifies lithology of CPT points, following Robertson and Cabal [1].

:param : :type : return: lithology array, Qtn, Fr

lithology_calc()

Lithology calculation.

Parameters:

soil_classification – shape file with soil classification

name_water_level_file: str
norm_calc(n_method: bool = False)

normalisation of qc and friction into Qtn and Fr, following Robertson and Cabal [1].

Qtn=(qtσv0Pa)(Paσv0)nFr=fsqtσv0100

:param : :type : param n_method: (optional) parameter n stress exponent. Default is n computed in an iterative way.

norm_cone_resistance_clean_sand_calc()

Calculates the clean sand equivalent normalised cone resistance, following Robertson and Cabal [1].

Qtn,cs=KcQtn

Where K_{c} is defined as follows:

When [$I_{c} leq 1.64$]

Kc=1.0

When [$1.64 < I_{c} leq 2.5$]

Kc=5.58Ic30.403Ic421.63Ic2+33.65Ic17.88

When [$1.64 < I_{c} <2.36$] and [$F_{r} < 0.5%$]

Kc=1.0

When [$2.5 < I_{c} <2.7$]

Kc=6107(Ic16.76
ocrmethod: OCRMethod
path_to_water_level_file: Union[str, Path]
permeability_calc()

Permeability calculation. Following Robertson [1].

When [$1.0 < I_{c} leq 3.27$]

k=100.9523.04Ic

When [$3.27 < I_{c} < 4.0$]

k=104.521.37Ic
poisson_calc()

Poisson ratio. Following Mayne [3].

polygons: Iterable
pwp_level_calc()

Computes the estimated pwp level for the cpt coordinate. If the user has not defined a pwp in the cpt class.

qt_calc()

Corrected cone resistance, following Robertson and Cabal [1].

qt=qc+u2(1a)
relative_density_calc(method: RelativeDensityMethod = RelativeDensityMethod.BALDI, c_0: Union[ndarray, float] = 15.7, c_2: Union[ndarray, float] = 2.41, Q_c: Union[ndarray, float] = 1, OCR: Union[ndarray, float] = 1, age: Union[ndarray, float] = 1000)

Computes relative density. Following methods described in Robertson [1]. This method calculates the relative density for all the non cohesive soils along the whole cpt, i.e. RD is calculated when the lithology index is either 6, 7, 8 or 9.

The relative density can be computed according to Baldi [5] or Kulhawy and Mayne [6]. Furthermore Kulhawy method can be simplified for most young, uncemented-based sands.

RDBaldi=(1C2)LN(QcnC0)
RDKulhawy2=Qcn305QcQocrQA
Qocr=OCR0.18
QA=1.2+0.05log(age/100)
RDKulhawysimple2=Qtn350
Parameters:
  • method – Method for calculation of relative density.

  • c_0 – (optional float or np array) soil constant for Baldi method. Default is 15.7

  • c_2 – (optional float or np array) soil constant for Baldi method. Default is 2.41

  • Q_c – (optional float or np array) compressibility factor, 0.9 for low compressibility, 1.1 for high compressibility. Default is 1.0

  • OCR – (optional float or np array) Over consolidation ratio. Default = 1.0

  • age – (optional float or np array) age of the soil in years. Default is 1000

relativedensitymethod: RelativeDensityMethod
rho_calc()

Computes density of soil.

The formula for density is:

ρ=γg
shearwavevelocitymethod: ShearWaveVelocityMethod
soil_types(path_shapefile: Path = PosixPath('resources'), model_name: str = 'Robertson')

Function that read shapes from shape file and passes them as Polygons.

Parameters:
  • path_shapefile – Path to the shapefile

  • model_name – Name of model and shapefile

Returns:

list of the polygons defining the soil types

state_parameter_calc()

Calculates state parameter from relationship with clean sand equivalent normalised cone resistance [7].

ψ=0.560.33log(Qtn,cs)
stress_calc()

Computes total and effective stress

unitweightmethod: UnitWeightMethod
user_defined_water_level: bool
vs_calc(method: ShearWaveVelocityMethod = ShearWaveVelocityMethod.ROBERTSON)

Shear wave velocity and shear modulus. The following methods are available:

  • Robertson and Cabal [1]:

vs=(αvsqtσv0Pa)0.5αvs=100.55Ic+1.68G0=γgvs2
  • Mayne [3]:

vs=eγsat+4.034.17(σv0σatm)0.25vs=118.8log(fs)+18.5
  • Andrus et al. [8]:

vs=2.27qt0.412Ic0.989D0.033ASF(Holocene)vs=2.62qt0.395Ic0.912D0.124SF(Pleistocene)
  • Zhang and Tong [9]:

vs=10.915qt0.317Ic0.210D0.057SFa(Holocene)
  • Ahmed [10]:

vs=1000e0.887Ic((1+0.443Fr)(σvpa)(γwγ))0.5
young_calc()

Young modulus calculation.

Computes the Young modulus:

E=2G(1+μ)
class geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation.ShearWaveVelocityMethod(value)

Bases: IntEnum

An enumeration.

AHMED = 5
ANDRUS = 3
MAYNE = 2
ROBERTSON = 1
ZANG = 4
class geolib_plus.robertson_cpt_interpretation.robertson_cpt_interpretation.UnitWeightMethod(value)

Bases: IntEnum

An enumeration.

LENGKEEK = 2
ROBERTSON = 1

Module contents