weac.core.slab_touchdown module

This module handles the calculation of slab touchdown events. Handling the touchdown situation in a PST.

class weac.core.slab_touchdown.SlabTouchdown(scenario, eigensystem)[source]

Bases: object

Handling the touchdown situation in a PST. Calculations follow paper Rosendahl et al. (2024)

The effect of slab touchdown on anticrack arrest in propagation saw tests

Types of Touchdown:
A_free_hangingSlab is free hanging (not in contact with the collapsed weak layer)

touchdown_distance = cut_length -> the unsupported segment (touchdown_distance) equals the cut length

B_point_contactEnd of slab is in contact with the collapsed weak layer

touchdown_distance = cut_length -> the unsupported segment (touchdown_distance) equals the cut length

C_in_contactmore of the slab is in contact with the collapsed weak layer

touchdown_distance < cut_length -> the unsupported segment (touchdown_distance) is strictly smaller than the cut length

The Module does: 1. Calculation of Zones of modes [A_free_hanging, B_point_contact, C_in_contact]:

|+++++++++++++++++++|-------A-------|-------B-------|--------C-------- [...]
| supported segment | free-hanging  | point contact |  in contact
                    0            `l_AB`           `l_BC`
through calculation of boundary touchdown_distance `l_AB` and `l_BC`

Parameters:

scenario: Scenario eigensystem: Eigensystem

Attributes:

l_ABfloat

Length of the crack for transition of stage A to stage B [mm]

l_BCfloat

Length of the crack for transition of stage B to stage C [mm]

touchdown_modeLiteral[“A_free_hanging”, “B_point_contact”, “C_in_contact”]

Type of touchdown mode

touchdown_distancefloat

Length of the touchdown segment [mm]

collapsed_weak_layer_kROptional[float]

Rotational spring stiffness of the collapsed weak layer segment

collapsed_weak_layer: WeakLayer
straight_scenario: Scenario
l_AB: float
l_BC: float
touchdown_mode: Literal['A_free_hanging', 'B_point_contact', 'C_in_contact']
touchdown_distance: float
collapsed_weak_layer_kR: float | None = None
__init__(scenario, eigensystem)[source]
Parameters:
scenario: Scenario
eigensystem: Eigensystem
collapsed_eigensystem: Eigensystem
Parameters: