StructTimeStepInfo
- class sharpy.utils.datastructures.StructTimeStepInfo(num_node, num_elem, num_node_elem=3, num_dof=None, num_bodies=1)[source]
Structural Time Step Class.
Contains the relevant attributes for the structural description of a single time step.
- in_global_AFoR
True
if the variables are stored in the global A FoR.False'' if they are stored in the local A FoR of each body. Always ``True
for single-body simulations- Type:
bool
- num_node
Number of nodes
- Type:
int
- num_elem
Number of elements
- Type:
int
- num_node_elem
Number of nodes per element
- Type:
int
- pos
Displacements.
[num_node x 3]
containing the vector ofx
,y
andz
coordinates (inA
frame) of the beam nodes.- Type:
np.ndarray
- pos_dot
Velocities. Time derivative of
pos
.- Type:
np.ndarray
- pos_ddot
Accelerations. Time derivative of
pos_dot
- Type:
np.ndarray
- psi
Cartesian Rotation Vector.
[num_elem x num_node_elem x 3]
CRV for each node in each element.- Type:
np.ndarray
- psi_dot
Time derivative of
psi
.- Type:
np.ndarray
- psi_ddot
Time derivative of
psi_dot
.- Type:
np.ndarray
- quat
Quaternion expressing the transformation between the
A
andG
frames.- Type:
np.ndarray
- for_pos
A
frame of reference position (with respect to the G` frame of reference).- Type:
np.ndarray
- for_vel
A
frame of reference velocity. Expressed in A FoR- Type:
np.ndarray
- for_acc
A
frame of reference acceleration. Expressed in A FoR- Type:
np.ndarray
- steady_applied_forces
Forces applied to the structure not associated to time derivatives
[num_nodes x 6]
. Expressed in B FoR- Type:
np.ndarray
- unsteady_applied_forces
Forces applied to the structure associated to time derivatives
[num_node x 6]
. Expressed in B FoR- Type:
np.ndarray
- runtime_steady_forces
Steady forces generated at runtime through runtime generators
[num_node x 6]
. Expressed in B FoR- Type:
np.ndarray
- runtime_unsteady_forces
Unsteady forces generated at runtime through runtime generators
[num_node x 6]
. Expressed in B FoR- Type:
np.ndarray
- gravity_forces
Gravity forces at nodes
[num_node x 6]
. Expressed in A FoR- Type:
np.ndarray
- total_gravity_forces
Total gravity forces on the structure
[6]
. Expressed in A FoR- Type:
np.ndarray
- total_forces
Total forces applied to the structure
[6]
. Expressed in A FoR- Type:
np.ndarray
- q
State vector associated to the structural system of equations
[num_dof + 10]
- Type:
np.ndarray
- dqdt
Time derivative of
q
- Type:
np.ndarray
- dqddt
Time derivative of
dqdt
- Type:
np.ndarray
- postproc_cell
Variables associated to cells to be postprocessed
- Type:
dict
- postproc_node
Variables associated to nodes to be postprocessed
- Type:
dict
- psi_local
Cartesian Rotation Vector for each node in each element in local FoR
- Type:
np.ndarray
- psi_dot_local
Time derivative of
psi
in the local FoR- Type:
np.ndarray
- mb_FoR_pos
Position of the local A FoR of each body
[num_bodies x 6]
- Type:
np.ndarray
- mb_FoR_vel
Velocity of the local A FoR of each body
[num_bodies x 6]
- Type:
np.ndarray
- mb_FoR_acc
Acceleration of the local A FoR of each body
[num_bodies x 6]
- Type:
np.ndarray
- mb_quat
Quaternion of the local A FoR of each body
[num_bodies x 4]
- Type:
np.ndarray
- mb_dquatdt
Time derivative of
mb_quat
- Type:
np.ndarray
- forces_constraints_nodes
Forces associated to Lagrange Constraints on nodes
[num_node x 6]
- Type:
np.ndarray
- forces_constraints_FoR
Forces associated to Lagrange Contraints on frames of reference
[num_bodies x 10]
- Type:
np.ndarray
- mb_dict
Dictionary with the multibody information. It comes from the file
case.mb.h5
- Type:
np.ndarray
- change_to_global_AFoR(for0_pos, for0_vel, quat0)[source]
Reference a
StructTimeStepInfo
to the global A frame of reference- Parameters:
for0_pos (np.ndarray) – Position of the global A FoR
for0_vel (np.ndarray) – Velocity of the global A FoR
quat0 (np.ndarray) – Quaternion of the global A FoR
- change_to_local_AFoR(for0_pos, for0_vel, quat0)[source]
Reference a
StructTimeStepInfo
to the local A frame of reference- Parameters:
for0_pos (np.ndarray) – Position of the global A FoR
for0_vel (np.ndarray) – Velocity of the global A FoR
quat0 (np.ndarray) – Quaternion of the global A FoR
- compute_psi_local_AFoR(for0_pos, for0_vel, quat0)[source]
Compute psi and psi_dot in the local A frame of reference
- Parameters:
for0_pos (np.ndarray) – Position of the global A FoR
for0_vel (np.ndarray) – Velocity of the global A FoR
quat0 (np.ndarray) – Quaternion of the global A FoR
- copy()[source]
Returns a copy of a deepcopy of a
StructTimeStepInfo
- euler_angles()[source]
Returns the 3 Euler angles (roll, pitch, yaw) for a given time step.
- Returns:
np.array (roll, pitch, yaw) in radians.
- get_body(beam, num_dof_ibody, ibody)[source]
Extract the body number
ibody
from a multibody systemThis function returns a
StructTimeStepInfo
class (ibody_StructTimeStepInfo
) that only includes the body numberibody
of the original multibody systemself
- Parameters:
beam (
Beam
) – beam information of the multibody systemnum_dof_ibody (int) – Number of degrees of freedom associated to the
ibody
ibody (int) – body number to be extracted
- Returns:
timestep information of the isolated body
- Return type:
- nodal_b_for_2_a_for(nodal, beam, filter=numpy.array, ibody=None)[source]
Projects a nodal variable from the local, body-attached frame (B) to the reference A frame.
- Parameters:
nodal (np.array) – Nodal variable of size
(num_node, 6)
beam (sharpy.datastructures.StructTimeStepInfo) – beam info.
filter (np.array) – optional argument that filters and does not convert a specific degree of freedom. Defaults to
np.array([True, True, True, True, True, True])
.
- Returns:
the
nodal
argument projected onto the referenceA
frame.- Return type:
np.array