liquepy.element

liquepy.element.models module

class liquepy.element.models.ShearTest(stress, strain, esig_v0=1, sl=None, pp=None, n_cycles=None)[source]

Bases: object

property av_stress
property csr
property delta_strain
property epp
property esig_v0
get_da_strain_series()[source]
property i_liq
property i_liq_pp
property i_liq_strain
property n_cycles
property n_points
property pp
property ru
property ru_limit
set_i_liq(ru_limit=None, esig_v_limit=None, strain_limit=None, da_strain_limit=None, or_none=True)[source]
set_pp_via_ru(ru, hydrostatic)[source]
property strain
property stress

liquepy.element.assess module

liquepy.element.assess.average_of_absolute_via_trapz(values)[source]

Calculates the average absolute value of the y-axis of a trapezium

values: array_like

y-axis values

: array_like

average absolute values series

liquepy.element.assess.calc_abs_delta_tau_et(element_test, to_liq=False, norm=False)[source]

Calculates the absolute change in shear stress of an element test

element_test: ElementTest Object to_liq: bool (default=False)

if True then only go to point of liquefaction

norm: bool (default=False)

if True then divide by vertical effective stress

: array_like

change in shear stress series

liquepy.element.assess.calc_abs_delta_tau_fd(force)[source]

Calculates the absolute change in shear stress

force: array_like

force values

: array_like

change in shear stress series

liquepy.element.assess.calc_case_et(element_test, stepped=False, to_liq=False, norm=False, peaks_from='disp')[source]

Calculates the absolute elastic work (case), cumulative absolute change in stored energy for an element test

>>> gamma = np.array([0, 4, 0, -2, 0])
>>> tau = np.array([0, 4, 0, -4, 0])
>>> element_test = liquepy.element.models.ElementTest(tau, gamma, 1)
array([ 0.,  8., 8., 20.,  24.])

element_test: ElementTest object stepped: bool

if false then values are interpolated between peaks

to_liq: bool

if true then compute only to the point where liquefaction is reached

norm: bool

if true the divide by initial vertical effective stress

Returns

array_like

liquepy.element.assess.calc_case_fd(forces, disps, stepped=False, peaks_from='disp')[source]

Calculates the cumulative change in stored energy for an oscillating system.

Note: This quantity is double the area of the triangles in a full cycle, since positive and negative triangles are counted.

>>> disp = np.array([0, 4, 0, -2, 0])
>>> force = np.array([0, 4, 0, -4, 0])
>>> calc_case_fd(force, disp, stepped=True)
array([ 0.,  8., 8., 20.,  24.])
disps: array_like,

displacement time series

forces: array_like,

force time series

stepped: bool,

if false then values are interpolated between peaks

Returns

array_like

liquepy.element.assess.calc_case_peaks_and_indices_fd(forces, disps)[source]

Calculates the cumulative change stored energy for an oscillating system at the peaks

Note: This quantity is double the area of the triangles in a full cycle, since positive and negative triangles are counted.

>>> disp = np.array([0, 4, 0, -2, 0])
>>> force = np.array([0, 4, 0, -4, 0])
>>> calc_case_peaks_and_indices_fd(disp, force)
(array([ 0.,  8., 20.,  24.]), array([0, 1, 3, 4]))
disps: array_like

displacement time series

forces: array_like

force time series

Returns

array_like

liquepy.element.assess.calc_damping_et(element_test, to_liq=False, cumulative=False)[source]

Calculates the damping ratio during the element test

element_test to_liq

liquepy.element.assess.calc_diss_energy_et(element_test, to_liq=False, norm=False)[source]

Calculates the area inside the hysteresis loops of an element test

element_test: ElementTest Object to_liq: bool (default=False)

if True then only go to point of liquefaction

norm: bool (default=False)

if True then divide by vertical effective stress

: array_like

dissipated energy series

liquepy.element.assess.calc_diss_energy_fd(force, disp)[source]

Calculates the area inside the hysteresis loops

force: array_like

force values

disp: array_like

displacement values

: array_like

dissipated energy series

liquepy.element.assess.calc_stored_energy_abs_incs_fd_peaks_and_indices(forces, disps, peaks_from='disp')[source]

Calculates the absolute change stored energy for an oscillating system

>>> disp = np.array([0, 4, 0, -2, 0])
>>> force = np.array([0, 4, 0, -4, 0])
>>> calc_stored_energy_abs_incs_fd_peaks_and_indices(force, disp)
(array([ 0.,  8., 12.,  4.]), array([0, 1, 3, 4]))
disps: array_like

displacement time series

forces: array_like

force time series

peaks_from: str or array_like

Method to determine peaks or array of peak indices

Returns

array_like

liquepy.element.assess.get_energy_peaks_for_cyclic_loading(forces, disps)[source]