Homogenizers API

Tangent-plane equivalent-stiffness homogenizers.

HomogenizationFailure

Bases: Exception

Base exception for homogenization failures.

HomogenizationInputError

Bases: HomogenizationFailure, ValueError

Raised when a homogenizer receives malformed or unsupported input.

ValidityContext dataclass

Optional geometric scale data for tangent-plane validity checks.

characteristic_height is a stiffness or stiffener height scale, pitch is the repeated-cell spacing, min_radius is the smallest local curvature radius, and response_length is the intended structural response length such as a buckle wavelength or analysis feature size.

characteristic_height = None class-attribute instance-attribute

min_radius = None class-attribute instance-attribute

pitch = None class-attribute instance-attribute

response_length = None class-attribute instance-attribute

__init__(characteristic_height=None, pitch=None, min_radius=None, response_length=None)

__post_init__()

ValidityThresholds dataclass

Default warning thresholds for tangent-plane scale-separation checks.

coupling_ratio = 0.1 class-attribute instance-attribute

h_over_R = 0.05 class-attribute instance-attribute

p_over_L_response = 0.05 class-attribute instance-attribute

p_over_R = 0.05 class-attribute instance-attribute

__init__(h_over_R=0.05, p_over_R=0.05, p_over_L_response=0.05, coupling_ratio=0.1)

__post_init__()

ValidityReport dataclass

Machine-readable validity diagnostics attached to a homogenized result.

coupling_ratios instance-attribute

h_over_R instance-attribute

p_over_L_response instance-attribute

p_over_R instance-attribute

warnings instance-attribute

__init__(h_over_R, p_over_R, p_over_L_response, coupling_ratios, warnings)

__post_init__()

HomogenizationResult dataclass

A homogenization result and its verification context.

The stiffness is returned with validity attached so warnings remain available when only result.stiffness is passed to fields, exports, or downstream tools.

assumptions instance-attribute

coefficients property

Return the homogenized ABD stiffness terms as named scalars.

diagnostics instance-attribute

source instance-attribute

stiffness instance-attribute

validity instance-attribute

__init__(stiffness, validity, diagnostics, assumptions, source)

__post_init__()

orthotropic_coefficients(*, tolerance=1e-09)

Return aligned orthotropic shell coefficients for stiffness.

reduced_orthotropic_properties(t_eff, *, tolerance=1e-09)

Return membrane-equivalent orthotropic properties for stiffness.

Homogenizer

Bases: Protocol

Protocol for tangent-plane homogenizers.

compute(cell, *, validity_context=None)

Compute an equivalent ABD stiffness for a canonical unit cell.

EnergyHomogenizer dataclass

Reference tangent-plane energy-equivalence homogenizer.

Computes an ABDStiffness by adding skin stiffness and member energy contributions over a CanonicalUnitCell.

thresholds = field(default_factory=ValidityThresholds) class-attribute instance-attribute

__init__(thresholds=ValidityThresholds())

compute(cell, *, validity_context=None)

DirectECHomogenizer dataclass

Direct equilibrium-compatibility homogenizer for straight member families.

Use this path for supported straight-family comparisons or accelerators, not as a replacement for the more general energy cell path.

thresholds = field(default_factory=ValidityThresholds) class-attribute instance-attribute

__init__(thresholds=ValidityThresholds())

compute(*, skin, families, validity_context=None, convention=DEFAULT_STRAIN_CONVENTION)

validity_report_for_stiffness(stiffness, *, context=None, thresholds=None)

Return tangent-plane validity diagnostics for an existing ABD stiffness.