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
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.
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.
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
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.
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.
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.
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²)
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.
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.