Karana.FEMBridge.ReadH5PhysicalModalBody#
Classes associated with creating a ModalBodyDS from an H5 file.
Classes#
Configuration options for ReadH5PhysicalModalBody. |
|
Create a ModalBodyDS from an H5 file. |
Module Contents#
- class Karana.FEMBridge.ReadH5PhysicalModalBody.H5PhysicalModalBodyDS(/, **data: Any)[source]#
Bases:
Karana.KUtils.DataStruct.DataStructConfiguration options for ReadH5PhysicalModalBody.
- Parameters:
filename (Path | str) – The name of the H5 file to read the flexible body data from.
mass_conversion (float = 1.0) – Conversion factor for mass.
distance_conversion (float = 1.0) – Conversion factor for distance.
p_node_grid (int | None) – The grid point number associated with the pnode. This can be None if and only if the hinge type is 6 DoF.
sensor_nodes (dict[int, str]) – This dictionary defines the sensor nodes to add to the body. The keys are grid point numbers from the NASTRAN file, and the values are the names of the sensor nodes that will be created and are associated with those grid point numbers.
force_nodes (dict[int, str]) – This dictionary defines the force nodes to add to the body. The keys are grid point numbers from the NASTRAN file, and the values are the names of the force nodes that will be created and are associated with those grid point numbers.
constraint_nodes (dict[int, str]) – This dictionary defines the constraint nodes to add to the body. The keys are grid point numbers from the NASTRAN file, and the values are the names of the constraint nodes that will be created and are associated with those grid point numbers.
damping (NonNegativeFloat | Vec) – Defines the damping. If given as a NonNegativeFloat, then the damping vector will be computed as 2*zeta*w, where w are the individual frequencies in rad/s. If given as a Vec, then this will be used as the damping vector directly.
- filename: pathlib.Path | str#
- mass_conversion: float = 1.0#
- distance_conversion: float = 1.0#
- p_node_grid: int | None#
- sensor_nodes: dict[int, str]#
- force_nodes: dict[int, str]#
- constraint_nodes: dict[int, str]#
- damping: Karana.KUtils.Ktyping.NonNegativeFloat | Karana.KUtils.Ktyping.Vec = 0.0#
- class Karana.FEMBridge.ReadH5PhysicalModalBody.ReadH5PhysicalModalBody(c: H5PhysicalModalBodyDS)[source]#
Create a ModalBodyDS from an H5 file.
Also, can be used to add inboard body information for child bodies of this modal body.
- f#
- n_rigid_modes#
- getNodalMatrix(grid: int) numpy.typing.NDArray[source]#
Retrieve the nodal matrix associated with the given grid point ID.
- Parameters:
grid (int) – The ID associated with the grid point to get the nodal matrix for.
- Returns:
Nodal matrix for the given grid point.
- Return type:
NDArray
- addInbNodeToDS(body_ds: Karana.Dynamics.SOADyn_types.BodyDS, grid_id: int)[source]#
Add inboard body node (hinge o-node) to incoming BodyDS.
- Parameters:
body_ds (BodyDS) – The BodyDS to add the inboard node information to.
grid_id (int) – The grid ID to use as the inboard node.
- getModalBodyDS(name: str, hinge: Karana.Dynamics.SOADyn_types.HingeDS) Karana.Dynamics.SOAFlexDyn_types.ModalBodyDS[source]#
Create the ModalBodyDS from the H5 file given in the configuration.
- Parameters:
name (str) – The name to use for the ModalBodyDS.
hinge (HingeDS) – The HingeDS to use for the ModalBodyDS.
- Returns:
The ModalBodyDS associated with the configuration and method options.
- Return type: