liquepy.num

This subpackage provides objects and functions assisting common numerical analyses (e.g. site response analysis and finite element modeling)

liquepy.num.general

liquepy.num.general.calc_rayleigh_damping_parameters(f1, f2, d)[source]

liquepy.num.models

General liquefaction constitutive models

class liquepy.num.models.ManzariDafaliasModel(pw=9800, liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: sfsimodels.models.soils.StressDependentSoil

a_o = None
c_c = None
c_h = None
c_z = None
crr_n15 = None
e_0 = None
property g0
property g0_mod
get_crit_angle()[source]
get_peak_angle(p)[source]
h_0 = None
ksi = None
lambda_c = None
m_c = None
m_yield = None
n_b = None
n_d = None
set_big_m_from_phi_cv(phi_cv)[source]
type = 'manzaridafalias_model'
z_max = None
class liquepy.num.models.PM4Sand(pw=9800, liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: sfsimodels.models.soils.StressDependentSoil

a_do = None
c_dr = None
c_e = None
c_kaf = None
c_z = None
property crr_n15
property csr_n15
f_sed = None
g_degr = None
g_mod_at_v_eff_stress(sigma_v_eff)[source]
get_g_mod_at_v_eff_stress(sigma_v_eff)[source]
get_peak_angle(p)[source]
property h_o

Copy description from manual page 79 :return:

property h_po
property hp0
m_par = None
mc_c = None
mc_ratio = None
n_b = None
n_d = None
p_sed = None
phi_cv = None
q_bolt = None
r_bolt = None
set_g0_mod_from_g_mod_at_v_eff_stress(g_mod, sigma_v_eff)[source]
type = 'pm4sand'
z_max = None
class liquepy.num.models.StressDensityModel(pw=9800, liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: sfsimodels.models.soils.StressDependentSoil

a1 = None
a2 = None
a3 = None
b1 = None
b2 = None
b3 = None
big_a = None
big_m = None
property crr_n15
fd = None
property g0_mod
g_mod_at_v_eff_stress(sigma_v_eff)[source]
get_g_mod_at_v_eff_stress(sigma_v_eff)[source]
hsl = None
mu_0 = None
mu_cyc = None
property n_e
ps = None
sc = None
set_g0_mod_from_g_mod_at_v_eff_stress(g_mod, sigma_v_eff)[source]
ssls = None
type = 'stress_density_model'
liquepy.num.models.calc_peak_angle_for_pm4sand(d_r, p, p_atm=101000.0, phi_cv=33.0, n_b=0.5, q_bolt=10, r_bolt=1.5)[source]

liquepy.num.flac

Support for Itasca FLAC software

class liquepy.num.flac.FlacSoil(pw=9800, liq_mass_density=None, g=9.8)[source]

Bases: sfsimodels.models.soils.Soil

property all_flac_parameters
property density
find_units(parameter)[source]
property flac_permeability
hyst_str = ''
set_prop_dict()[source]
sm_to_fis_name(sm_name)[source]
property tension
to_fis_mohr_coulomb(group_name=None, as_values=False)[source]
class liquepy.num.flac.PM4Sand(pw=9800, liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: liquepy.num.flac.FlacSoil, liquepy.num.models.PM4Sand

to_fis(group_name=None, as_values=False)[source]
type = 'pm4sand'
liquepy.num.flac.calc_flac_default_l1_from_ip_millen_2020(i_p)[source]
liquepy.num.flac.calc_flac_default_l2_from_ip_millen_2020(i_p)[source]
liquepy.num.flac.calc_hp0_from_crr_n15_and_relative_density_millen_et_al_2019(crr_n15, d_r)[source]
liquepy.num.flac.calc_pm4sand_h_po_from_crr_n15_and_relative_density_millen_et_al_2019(crr_n15, d_r)[source]
liquepy.num.flac.calc_rayleigh_damping_params(f1, f2, d)[source]
liquepy.num.flac.check_max_char_limit(fnames, run_loc)[source]

Fis files have a maximum character limit of 200. This function checks that the fis files do not exceed it

Parameters
  • fnames

  • run_loc

Returns

liquepy.num.flac.load_element_test(ffp, esig_v0, hydrostatic=0)[source]
liquepy.num.flac.load_file_and_dt(fname)[source]
liquepy.num.flac.load_file_and_time(fname)[source]
liquepy.num.flac.load_input_motion_and_dt(ffp)[source]

Loads acceleration values and time step that were saved in FLAC input format.

ffp: str

Full file path to output file

values: array_like

An array of values

dt: float

Time step

liquepy.num.flac.pip_freeze_to_run_loc(run_loc)[source]

Saves current list of python packages to the run location

Parameters

run_loc

Returns

liquepy.num.flac.save_input_motion(ffp, name, values, dt)[source]

Exports acceleration values to the FLAC input format.

Parameters
  • ffp – str, full file path to output file

  • name – str, name of records

  • values – array, acceleration values

  • dt – float, time step

Returns

None

liquepy.num.flac.save_input_motion_and_dt(ffp, values, dt, label='unlabelled')[source]

Exports acceleration values to the FLAC input format.

ffp: str

Full file path to output file

values: array_like

An array of values

dt: float

Time step

label: str

A label of the data

liquepy.num.flac.write_obj_to_fis_str(obj, parameters, required='')[source]
liquepy.num.flac.write_parameters_to_fis_models(obj, parameters, ncols=3, not_null=False, group_name=None, as_values=False)[source]
liquepy.num.flac.write_soil_profile_obj_to_fis_str(soil_profile, auto_name=True)[source]

This file defines the contents of the soil profile object as parameters in fis language

Parameters

soil_profile

Returns

liquepy.num.o3

Support for the python based o3seespy Object-oriented OpenSees package

class liquepy.num.o3.ManzariDafaliasModel(liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: liquepy.num.models.ManzariDafaliasModel

o3_type = 'manzaridafalias_model'
class liquepy.num.o3.PM4Sand(liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: liquepy.num.models.PM4Sand

o3_type = 'pm4sand'
type = 'pm4sand'
class liquepy.num.o3.StressDensityModel(liq_mass_density=None, g=9.8, p_atm=101000.0, **kwargs)[source]

Bases: liquepy.num.models.StressDensityModel

type = 'stress_density_model'

liquepy.num.mrd_curves

liquepy.num.mrd_curves.calc_alpha_via_menq_2003(p_eff, p_atm=101000.0)[source]

Calculate the reference strain for a modulus reduction curve from Menq

Parameters

p_eff

Returns

liquepy.num.mrd_curves.calc_gamma_ref_via_darendeli_2001(i_p, ocr, p_eff, p_atm=101000.0)[source]

Calculate the reference strain for a modulus reduction curve from [Darendeli:2001thesis]

Parameters
  • i_p – float Plasticity index (as a ratio not percentage)

  • ocr

  • p_eff

Returns

liquepy.num.mrd_curves.calc_gamma_ref_via_menq_2003(c_u, p_eff, p_atm=101000.0)[source]

Calculate the reference strain for a modulus reduction curve from Menq

Parameters
  • c_u – float Uniformity coefficient (Grain size ratio d_60 / d_10)

  • p_eff

Returns

liquepy.num.mrd_curves.calc_ip_from_ss_ratio_vardanega_2013(ss_ratio, gamma_target=0.005)[source]

Calculates the appropriate plasticity index for a soil based on the strength-stiffness ratio (ss_ratio).

The strength stiffness ratio uses the undrained strength and the initial stiffness.

ss_ratio: float

Strength-stiffness ratio

gamma_target: float

Strain where backbone response should reach undrained strength

liquepy.num.mrd_curves.calc_min_damping_via_menq_2003(c_u, d_50, p_eff, p_atm=101000.0)[source]

Minimum damping for hyperbolic model according to Menq 2003 Parameters ———- c_u: float

Uniformity coefficient (Grain size ratio d_60 / d_10)

d_50: float

Median grain diameter in mm

p_eff p_atm

liquepy.num.mrd_curves.calc_mr_daren_mod(gamma, a=0.92, gamma_ref=0.001)[source]
liquepy.num.mrd_curves.calc_mr_elastic(gamma)[source]
liquepy.num.mrd_curves.calc_mr_flac_default_curve(gamma, l_1, l_2)[source]
liquepy.num.mrd_curves.calc_mr_mohr_coloumb(gamma, elastic_mod, cu)[source]
liquepy.num.mrd_curves.calc_mr_seed_and_sun_mod(gamma)[source]
liquepy.num.mrd_curves.calc_mr_vardanega_2013_mod(gamma, i_p)[source]
liquepy.num.mrd_curves.calc_ss_ratio_from_ip_vardanega_2013(i_p, gamma_target=0.005)[source]

Calculates an appropriate strength-stiffness ratio for a soil based on the plasticity index. Parameters ———- i_p gamma_target

liquepy.num.mrd_curves.set_hyp_params_from_op_pimy_or_pdmy_model(sl, p_ref=100000.0, hyp=True)[source]