weac.tools module¶
Helper functions for the WEak Layer AntiCrack nucleation model.
- weac.tools.bergfeld(rho, rho0=917, C0=6.5, C1=4.4)[source]¶
Compute Young’s modulus from density according to Bergfeld et al. (2023).
- Parameters:
rho (float or ndarray) – Density (kg/m^3).
rho0 (float, optional) – Density of ice (kg/m^3). Default is 917.
C0 (float, optional) – Multiplicative constant of Young modulus parametrization according to Bergfeld et al. (2023). Default is 6.5.
C1 (float, optional) – Exponent of Young modulus parameterization according to Bergfeld et al. (2023). Default is 4.4.
- Returns:
E – Young’s modulus (MPa).
- Return type:
float or ndarray
- weac.tools.calc_center_of_gravity(layers)[source]¶
Calculate z-coordinate of the center of gravity.
- Parameters:
layers (ndarray) – 2D list of layer densities and thicknesses. Columns are density (kg/m^3) and thickness (mm). One row corresponds to one layer.
- Returns:
H (float) – Total slab thickness (mm).
zs (float) – Z-coordinate of center of gravity (mm).
- weac.tools.calc_vertical_bc_center_of_gravity(slab, phi)[source]¶
Calculate center of gravity of triangular slab segements for vertical PSTs.
- Parameters:
slab (ndarray) – List of layer densities, thicknesses, and elastic properties. Columns are density (kg/m^3), thickness (mm), Young’s modulus (MPa), shear modulus (MPa), and Poisson’s ratio. One row corresponds to one layer.
phi (fload) – Slope angle (deg).
- Returns:
xs (float) – Horizontal coordinate of center of gravity (mm).
zs (float) – Vertical coordinate of center of gravity (mm).
w (ndarray) – Weight of the slab segment that is cut off or added (t).
- weac.tools.gerling(rho, C0=6.0, C1=4.6)[source]¶
Compute Young’s modulus from density according to Gerling et al. 2017.
- Parameters:
rho (float or ndarray) – Density (kg/m^3).
C0 (float, optional) – Multiplicative constant of Young modulus parametrization according to Gerling et al. (2017). Default is 6.0.
C1 (float, optional) – Exponent of Young modulus parameterization according to Gerling et al. (2017). Default is 4.6.
- Returns:
E – Young’s modulus (MPa).
- Return type:
float or ndarray
- weac.tools.scapozza(rho)[source]¶
Compute Young’s modulus (MPa) from density (kg/m^3).
- Parameters:
rho (float or ndarray) – Density (kg/m^3).
- Returns:
E – Young’s modulus (MPa).
- Return type:
float or ndarray
- weac.tools.tensile_strength_slab(rho, unit='kPa')[source]¶
Estimate the tensile strenght of a slab layer from its density.
Uses the density parametrization of Sigrist (2006).
- Parameters:
rho (ndarray, float) – Layer density (kg/m^3).
unit (str, optional) – Desired output unit of the layer strength. Default is ‘kPa’.
- Returns:
Tensile strenght in specified unit.
- Return type:
ndarray
- weac.tools.touchdown_distance(layers: ndarray | str | None = None, C0: float = 6.5, C1: float = 4.4, Ewl: float = 0.25, t: float = 10, phi: float = 0)[source]¶
Calculate cut length at first contanct and steady-state touchdown distance.
- Parameters:
layers (list, optional) – 2D list of layer densities and thicknesses. Columns are density(kg/m ^ 3) and thickness(mm). One row corresponds to one layer. Default is [[240, 200], ].
C0 (float, optional) – Multiplicative constant of Young modulus parametrization according to Bergfeld et al. (2023). Default is 6.5.
C1 (float, optional) – Exponent of Young modulus parameterization according to Bergfeld et al. (2023). Default is 4.4.
Ewl (float, optional) – Young’s modulus of the weak layer (MPa). Default is 0.25.
t (float, optional) – Thickness of the weak layer (mm). Default is 10.
phi (float, optional) – Inclination of the slab (°). Default is 0.
- Returns:
first_contact (float) – Cut length at first contact (mm).
full_contact (float) – Cut length at which the slab comes into full contact (more than a singular point) with the base layer (mm).
steady_state (float) – Steady-state touchdown distance (mm).