weac.components.criteria_config module

Module for configuring failure-mode interaction criteria and stress failure envelope selection.

Main fields: - fn, fm: interaction exponents for normal (sigma) and shear (tau) stresses (> 0). - gn, gm: interaction exponents for mode-I (G_I) and mode-II (G_II) energy release rates (> 0). - stress_envelope_method: one of

{“adam_unpublished”, “schottner”, “mede_s-RG1”, “mede_s-RG2”, “mede_s-FCDH”}.

  • scaling_factor, order_of_magnitude: positive scalars applied to the stress envelope.

Typical usage:

from weac.components.criteria_config import CriteriaConfig

config = CriteriaConfig(

stress_envelope_method=”schottner”, scaling_factor=1.0, order_of_magnitude=1.0,

)

See also: - weac.analysis.criteria_evaluator for how these parameters influence failure checks.

class weac.components.criteria_config.CriteriaConfig(*, fn=2.0, fm=2.0, gn=5.0, gm=2.2222222222222223, stress_envelope_method='adam_unpublished', scaling_factor=1, order_of_magnitude=1)[source]

Bases: BaseModel

Parameters defining the interaction between different failure modes.

Parameters:
  • fn (Annotated[float, Gt(gt=0)])

  • fm (Annotated[float, Gt(gt=0)])

  • gn (Annotated[float, Gt(gt=0)])

  • gm (Annotated[float, Gt(gt=0)])

  • stress_envelope_method (Literal['adam_unpublished', 'schottner', 'mede_s-RG1', 'mede_s-RG2', 'mede_s-FCDH'])

  • scaling_factor (Annotated[float, Gt(gt=0)])

  • order_of_magnitude (Annotated[float, Gt(gt=0)])

fn

Failure mode interaction exponent for normal stress (sigma). Default is 2.0.

Type:

float

fm

Failure mode interaction exponent for shear stress (tau). Default is 2.0.

Type:

float

gn

Failure mode interaction exponent for closing energy release rate (G_I). Default is 5.0.

Type:

float

gm

Failure mode interaction exponent for shearing energy release rate (G_II). Default is 2.22.

Type:

float

stress_envelope_method

Method to calculate the stress failure envelope. Default is “adam_unpublished”.

Type:

str

scaling_factor

Scaling factor for stress envelope. Default is 1.0.

Type:

float

order_of_magnitude

Order of magnitude for stress envelope. Default is 1.0.

Type:

float

fn: float
fm: float
gn: float
gm: float
stress_envelope_method: Literal['adam_unpublished', 'schottner', 'mede_s-RG1', 'mede_s-RG2', 'mede_s-FCDH']
scaling_factor: float
order_of_magnitude: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].