weac.components.weak_layer module¶
Mechanical properties of the weak layer (Winkler foundation).
- class weac.components.weak_layer.WeakLayer(*, rho=150, h=20, f=None, collapse_height=0.0, nu=0.25, E=0.0, G=0.0, kn=0.0, kt=0.0, G_Ic=0.56, G_IIc=0.79, sigma_c=6.16, tau_c=5.09, sigma_comp=2.6, E_method='schottner_fc_dh', constitutive_model='PlaneStrain', grain_type=None, grain_size=None, hand_hardness=None)[source]¶
Bases:
BaseModelWeak layer that also behaves as a Winkler foundation.
- Parameters:
rho (Annotated[float, Gt(gt=0)])
h (Annotated[float, Gt(gt=0)])
f (float | None)
collapse_height (Annotated[float, Ge(ge=0)])
nu (Annotated[float, Ge(ge=0), Lt(lt=0.5)])
E (Annotated[float, Ge(ge=0)])
G (Annotated[float, Ge(ge=0)])
kn (float)
kt (float)
G_Ic (Annotated[float, Gt(gt=0)])
G_IIc (Annotated[float, Gt(gt=0)])
sigma_c (Annotated[float, Gt(gt=0)])
tau_c (Annotated[float, Gt(gt=0)])
sigma_comp (Annotated[float, Gt(gt=0)])
E_method (Literal['schottner_fc_dh', 'bergfeld', 'scapazzo', 'gerling'])
constitutive_model (Literal['PlaneStrain', 'PlaneStress', 'Uniaxial'])
grain_type (GrainType | None)
grain_size (float | None)
hand_hardness (HandHardness | None)
- rho¶
Density of the layer [kg m⁻³].
- Type:
float
- h¶
Height/Thickness of the layer [mm].
- Type:
float
- f¶
Resultant force of the layer [N/mm]
- Type:
float
- nu¶
Poisson’s ratio [-] Defaults to weac.constants.NU).
- Type:
float
- E¶
Young’s modulus E [MPa]. If omitted it is derived from
rho.- Type:
float, optional
- G¶
Shear modulus G [MPa]. If omitted it is derived from
Eandnu.- Type:
float, optional
- kn¶
Normal (compression) spring stiffness kₙ [N mm⁻³]. If omitted is computed as
E_plane / hwhereE_plane = E / (1 - nu²).- Type:
float, optional
- kt¶
Shear spring stiffness kₜ [N mm⁻³]. If omitted it is
G / h.- Type:
float, optional
- G_Ic¶
Mode-I fracture toughness GIc [J/m^2]. Default 0.56 J/m^2.
- Type:
float
- G_IIc¶
Mode-II fracture toughness GIIc [J/m^2]. Default 0.79 J/m^2.
- Type:
float
- rho: float¶
- h: float¶
- f: float | None¶
- collapse_height: float¶
- nu: float¶
- E: float¶
- G: float¶
- kn: float¶
- kt: float¶
- G_Ic: float¶
- G_IIc: float¶
- sigma_c: float¶
- tau_c: float¶
- sigma_comp: float¶
- E_method: Literal['schottner_fc_dh', 'bergfeld', 'scapazzo', 'gerling']¶
- constitutive_model: Literal['PlaneStrain', 'PlaneStress', 'Uniaxial']¶
- grain_size: float | None¶
- hand_hardness: HandHardness | None¶
- model_config = {'extra': 'forbid', 'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].