IGLFEAStep
Module: cae
Container class representing a single finite element analysis step with
support for multiple increments and modal result data.
This class stores:
- Increment-based simulation fields
- Time-dependent result states
- Modal analysis metadata
- Mode shapes and frequencies
- Buckling factors
- Global modal tables
It acts as the primary storage structure for static , nonlinear,
modal, and buckling analysis result data.
Notes
-----
Increment data structure:
self.increments = {
increment_id : {
"time": float,
"fields": {
field_name : field
}
}
}
Modal data structure:
self.modal_data = {
"modes": {
mode_number : {
"frequency" : float,
"MODE_SHAPE" : IGLVectorField,
"buckling_factor" : float
}
},
"mode_data" : {
"eigenvalues" : ndarray,
"participation_factors" : ndarray,
"effective_modal_mass" : ndarray,
}
}
__init__
method
__init__(self)
Initialize an empty finite element analysis step container.
create_increment
method
create_increment(self, increment_id: int, time_value: float)
Create an increment entry if it does not already exist.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| time_value | float, optional | Simulation time associated with the increment. |
add_increment_field
method
add_increment_field(self, increment_id: int, field)
Add a result field to a specific increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| field | object | Result field object. The field is expected to expose a `name` attribute. |
get_increment_field
method
get_increment_field(self, increment_id: int, field_name: str)
Retrieve a field from a specific increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| field_name | str | Name of the result field. |
Returns
object | None
Field object if found, otherwise None.
get_increment_time
method
get_increment_time(self, increment_id: int)
Get the simulation time associated with an increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
Returns
float | None
Simulation time value if the increment exists, otherwise None.
get_increment_ids
method
get_increment_ids(self)
Get all available increment identifiers.
Returns
-------
list[int]
Sorted list of increment IDs.
add_field
method
add_field(self, increment_id: int, field)
Add a result field to an increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| field | object | Result field object. |
has_field
method
has_field(self, increment_id: int, name: str)
Check whether a field exists for an increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| name | str | Field name. |
Returns
bool
True if the field exists, otherwise False.
get_field
method
get_field(self, increment_id: int, name: str)
Retrieve a field from an increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| name | str | Field name. |
Returns
object | None
Field object if found, otherwise None.
field_names
method
field_names(self, increment_id: int)
Get all field names available for an increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
Returns
list[str]
List of field names.
get_value
method
get_value(self, increment_id: int, field_name: str, entity_id: int)
Retrieve a field value for a mesh entity from a specific increment.
Parameters
| Name | Type | Description |
|---|---|---|
| increment_id | int | Increment or substep identifier. |
| field_name | str | Name of the result field. |
| entity_id | int | Mesh entity ID such as a node or element ID. |
Returns
object | None
Field value associated with the entity, or None if the field or
increment does not exist.
create_mode
method
create_mode(self, mode_number: int)
Create a modal result entry if it does not already exist.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
add_mode_data
method
add_mode_data(self, mode_number: int, frequency: float, modeshape)
Add modal frequency and mode shape data.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
| frequency | float | Natural frequency associated with the mode. |
| modeshape | object | Mode shape vector field. |
set_mode_frequency
method
set_mode_frequency(self, mode_number: int, frequency: float)
Set the natural frequency for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
| frequency | float | Natural frequency value. |
set_mode_shape
method
set_mode_shape(self, mode_number: int, field)
Set the mode shape field for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
| field | object | Mode shape vector field. |
set_mode_buckling_factor
method
set_mode_buckling_factor(self, mode_number: int, value: float)
Set the buckling load factor for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Buckling mode number. |
| value | float | Buckling load factor or eigenvalue. |
get_mode_shape
method
get_mode_shape(self, mode_number: int)
Retrieve the mode shape field for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
Returns
object | None
Mode shape field (IGLVectorField) if available, otherwise None.
get_mode_frequency
method
get_mode_frequency(self, mode_number: int)
Retrieve the natural frequency for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Modal or buckling mode number. |
Returns
float | None
Natural frequency if available, otherwise None.
get_mode_buckling_factor
method
get_mode_buckling_factor(self, mode_number: int)
Retrieve the buckling factor for a mode.
Parameters
| Name | Type | Description |
|---|---|---|
| mode_number | int | Buckling mode number. |
Returns
float | None
Buckling factor if available, otherwise None.
get_mode_numbers
method
get_mode_numbers(self)
Get all available modal or buckling mode numbers.
Returns
-------
list[int]
Sorted list of mode numbers.
set_eigenvalues
method
set_eigenvalues(self, values)
Store modal eigenvalues.
Parameters
| Name | Type | Description |
|---|---|---|
| values | array-like | Modal eigenvalue array. |
set_participation_factors
method
set_participation_factors(self, values)
Store modal participation factors.
Parameters
| Name | Type | Description |
|---|---|---|
| values | array-like | Modal participation factor table. |
set_effective_modal_mass
method
set_effective_modal_mass(self, values)
Store effective modal mass data.
Parameters
| Name | Type | Description |
|---|---|---|
| values | array-like | Effective modal mass table. |