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.isnotebook()[source]

Identify shell environment.

weac.tools.load_dummy_profile(profile_id)[source]

Define standard layering types for comparison.

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.time()[source]

Return current time in milliseconds.

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).