First Homogenized Cell
Tangent-plane homogenization adds beam-stiffener contributions to a skin stiffness. The energy homogenizer is the reference path — the one Tensyl trusts by default and measures the other methods against.
from tensyl import (
BeamSection,
EnergyHomogenizer,
IsotropicMaterial,
ValidityContext,
isotropic_plate,
orthogrid_cell,
)
skin = isotropic_plate(
IsotropicMaterial(E=10.6e6, nu=0.33, density=0.1),
thickness=0.080,
)
stringer = BeamSection(
EA=3.2e6, # lbf
EIy=2.4e4, # lbf*in^2
EIz=6.5e3, # lbf*in^2
GJ=4.0e3, # lbf*in^2
kGAy=1.1e6, # lbf
kGAz=0.9e6, # lbf
)
cell = orthogrid_cell(
skin=skin,
stringer_section=stringer,
rib_section=stringer,
stringer_spacing=6.0,
rib_spacing=8.0,
stringer_eccentricity=0.45,
rib_eccentricity=0.45,
)
result = EnergyHomogenizer().compute(
cell,
validity_context=ValidityContext(
characteristic_height=0.50,
pitch=8.0,
min_radius=120.0,
response_length=80.0,
),
)
stiffness = result.stiffness
print(result.validity.warnings)
The result carries:
stiffness: anABDStiffness;diagnostics: symmetry, rank, and positive-semidefinite checks;assumptions: modeling assumptions recorded by the homogenizer;validity: scale-separation and coupling warnings.
Warnings do not automatically invalidate a result. They mark assumptions that an engineering workflow should review before using the ABD stiffness in sizing, buckling, or finite-element work.
In this example the positive eccentricities place both stiffener centroids on
the +n side of the skin reference surface, so the homogenized stiffness has a
nonzero membrane-bending coupling block B.
Next: Homogenization and Results.