IGLFEAPost

Module: cae

Collection of finite element post-processing utilities for deriving scalar result fields from tensor and vector simulation data. This class provides common stress and displacement post-processing operations used in structural FEA visualization workflows, including: - Principal stress/strain computation - Von Mises stress/strain - Tresca stress - Maximum shear stress - Hydrostatic pressure - Stress intensity - Octahedral shear stress - Mean stress - Individual stress/strain tensor components - Displacement magnitude and components - Force magnitude and components All operations return visualization-ready scalar fields preserving the original field location and entity IDs.

principal_stresses

staticmethod
principal_stresses(stress_field: IGLTensorField)
Compute principal stresses from a symmetric 3D stress tensor field.

The stress tensor is assumed to be stored in the order:

[SXX, SYY, SZZ, SXY, SYZ, SXZ]

Principal stresses are computed using eigenvalue decomposition of the
symmetric stress tensor and returned in descending order:

[P1, P2, P3]

where:

- P1 = maximum principal stress
- P2 = intermediate principal stress
- P3 = minimum principal stress

Parameters

Name Type Description
stress_field IGLTensorField Tensor stress field containing 3D stress components.

Returns

np.ndarray Array of shape (N, 3) containing principal stresses for each tensor entry.

von_mises

staticmethod
von_mises(stress_field: IGLTensorField)
Compute Von Mises equivalent stress.

Von Mises stress is commonly used in ductile material yield criteria
and is derived from the deviatoric stress state.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing Von Mises stress values.

tresca

staticmethod
tresca(stress_field: IGLTensorField)
Compute Tresca equivalent stress.

Tresca stress is based on the maximum shear stress failure criterion.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing Tresca stress values.

max_principal

staticmethod
max_principal(stress_field: IGLTensorField)
Extract maximum principal stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing maximum principal stress values.

mid_principal

staticmethod
mid_principal(stress_field: IGLTensorField)
Extract intermediate principal stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing intermediate principal stress values.

min_principal

staticmethod
min_principal(stress_field: IGLTensorField)
Extract minimum principal stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing minimum principal stress values.

max_shear

staticmethod
max_shear(stress_field: IGLTensorField)
Compute maximum shear stress.

The value is computed as:

τ_max = (P1 - P3) / 2

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing maximum shear stress values.

pressure

staticmethod
pressure(stress_field: IGLTensorField)
Compute hydrostatic pressure from the stress tensor.

Pressure is defined as the negative mean normal stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing hydrostatic pressure values.

stress_intensity

staticmethod
stress_intensity(stress_field: IGLTensorField)
Compute stress intensity.

Stress intensity is the maximum absolute difference between any two
principal stresses.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing stress intensity values.

octahedral_shear

staticmethod
octahedral_shear(stress_field: IGLTensorField)
Compute octahedral shear stress.

Octahedral shear stress is derived from the Von Mises equivalent stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing octahedral shear stress values.

mean_stress

staticmethod
mean_stress(stress_field: IGLTensorField)
Compute mean normal stress.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing mean stress values.

stress_xx

staticmethod
stress_xx(stress_field: IGLTensorField)
Extract normal stress component SXX.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SXX values.

stress_yy

staticmethod
stress_yy(stress_field: IGLTensorField)
Extract normal stress component SYY.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SYY values.

stress_zz

staticmethod
stress_zz(stress_field: IGLTensorField)
Extract normal stress component SZZ.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SZZ values.

stress_xy

staticmethod
stress_xy(stress_field: IGLTensorField)
Extract shear stress component SXY.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SXY values.

stress_yz

staticmethod
stress_yz(stress_field: IGLTensorField)
Extract shear stress component SYZ.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SYZ values.

stress_xz

staticmethod
stress_xz(stress_field: IGLTensorField)
Extract shear stress component SXZ.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.

Returns

IGLScalarField Scalar field containing SXZ values.

displacement_magnitude

staticmethod
displacement_magnitude(vector_field: IGLVectorField)
Compute displacement magnitude from a vector displacement field.

Parameters

Name Type Description
vector_field IGLVectorField Vector displacement field.

Returns

IGLScalarField Scalar field containing total displacement magnitude.

displacement_x

staticmethod
displacement_x(vector_field: IGLVectorField)
Extract X-direction displacement component.

Parameters

Name Type Description
vector_field IGLVectorField Vector displacement field.

Returns

IGLScalarField Scalar field containing UX displacement values.

displacement_y

staticmethod
displacement_y(vector_field: IGLVectorField)
Extract Y-direction displacement component.

Parameters

Name Type Description
vector_field IGLVectorField Vector displacement field.

Returns

IGLScalarField Scalar field containing UY displacement values.

displacement_z

staticmethod
displacement_z(vector_field: IGLVectorField)
Extract Z-direction displacement component.

Parameters

Name Type Description
vector_field IGLVectorField Vector displacement field.

Returns

IGLScalarField Scalar field containing UZ displacement values.

force_magnitude

staticmethod
force_magnitude(vector_field: IGLVectorField)
Compute resultant force magnitude from a vector force field.

The magnitude is computed as:

F = sqrt(FX² + FY² + FZ²)

Parameters

Name Type Description
vector_field IGLVectorField Vector force field containing force components.

Returns

IGLScalarField Scalar field containing resultant force magnitudes.

force_x

staticmethod
force_x(vector_field: IGLVectorField)
Extract X-direction force component.

Parameters

Name Type Description
vector_field IGLVectorField Vector force field.

Returns

IGLScalarField Scalar field containing FX force values.

force_y

staticmethod
force_y(vector_field: IGLVectorField)
Extract Y-direction force component.

Parameters

Name Type Description
vector_field IGLVectorField Vector force field.

Returns

IGLScalarField Scalar field containing FY force values.

force_z

staticmethod
force_z(vector_field: IGLVectorField)
Extract Z-direction force component.

Parameters

Name Type Description
vector_field IGLVectorField Vector force field.

Returns

IGLScalarField Scalar field containing UZ force values.

strain_xx

staticmethod
strain_xx(strain_field: IGLTensorField)
Extract normal strain component EXX.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EXX values.

strain_yy

staticmethod
strain_yy(strain_field: IGLTensorField)
Extract normal strain component EYY.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EYY values.

strain_zz

staticmethod
strain_zz(strain_field: IGLTensorField)
Extract normal strain component EZZ.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EZZ values.

strain_xy

staticmethod
strain_xy(strain_field: IGLTensorField)
Extract shear strain component EXY.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EXY values.

strain_yz

staticmethod
strain_yz(strain_field: IGLTensorField)
Extract shear stress component EYZ.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EYZ values.

strain_xz

staticmethod
strain_xz(strain_field: IGLTensorField)
Extract shear stress component EXZ.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing EXZ values.

max_principal_strain

staticmethod
max_principal_strain(strain_field: IGLTensorField)
Extract maximum principal strain.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing maximum principal strain values.

mid_principal_strain

staticmethod
mid_principal_strain(strain_field: IGLTensorField)
Extract intermediate principal strain.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing intermediate principal strain values.

min_principal_strain

staticmethod
min_principal_strain(strain_field: IGLTensorField)
Extract minimum principal strain.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing minimum principal strain values.

equivalent_strain

staticmethod
equivalent_strain(strain_field: IGLTensorField)
Compute Von Mises equivalent strain.

The strain tensor is assumed to be stored as:

[EXX, EYY, EZZ, EXY, EYZ, EXZ]

where EXY, EYZ and EXZ are engineering shear strains.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.

Returns

IGLScalarField Scalar field containing equivalent strain values.

compute_stress

staticmethod
compute_stress(stress_field: IGLTensorField, stress_type: str)
Compute a derived scalar stress quantity by name.

Parameters

Name Type Description
stress_field IGLTensorField Input stress tensor field.
stress_type str Requested stress result type.

Returns

IGLScalarField Computed scalar stress field.

Raises

ValueError If the requested stress type is unsupported.

compute_strain

staticmethod
compute_strain(strain_field: IGLTensorField, strain_type: str)
Compute a derived scalar strain quantity by name.

Parameters

Name Type Description
strain_field IGLTensorField Input strain tensor field.
stress_type str Requested strain result type.

Returns

IGLScalarField Computed scalar strain field.

Raises

ValueError If the requested strain type is unsupported.

compute_displacement

staticmethod
compute_displacement(vector_field: IGLVectorField, component: str)
Compute a displacement scalar component by name.

Parameters

Name Type Description
vector_field IGLVectorField Input vector displacement field.
component str Requested displacement component.

Returns

IGLScalarField Computed displacement scalar field.

Raises

ValueError If the requested displacement component is unsupported.

compute_force

staticmethod
compute_force(vector_field: IGLVectorField, component: str)
Compute a force scalar component by name.

Parameters

Name Type Description
vector_field IGLVectorField Input vector force field.
component str Requested force component.

Returns

IGLScalarField Computed force scalar field.

Raises

ValueError If the requested force component is unsupported.