ross.PseudoModal
Contents
ross.PseudoModal#
- class ross.PseudoModal(method='guyan', **kwargs)#
Pseudo-modal method.
This method can be used to apply modal transformation to reduce model of the rotor system.
- Parameters:
- rotor: rs.Rotor
The rotor object.
- speedfloat
Rotor speed.
- num_modesint
The number of eigenvectors to consider in the modal transformation with model reduction. Default is 24.
Examples
>>> import ross as rs >>> rotor = rs.rotor_example() >>> size = 10000 >>> node = 3 >>> speed = 500.0 >>> t = np.linspace(0, 10, size) >>> F = np.zeros((size, rotor.ndof)) >>> F[:, rotor.number_dof * node + 0] = 10 * np.cos(2 * t) >>> F[:, rotor.number_dof * node + 1] = 10 * np.sin(2 * t) >>> mr = ModelReduction(rotor=rotor, speed=speed, method="pseudomodal", num_modes=12) >>> F_modal = mr.reduce_vector(F.T).T >>> la.norm(F_modal) 195.466...
Methods
- __init__(rotor, speed, num_modes=24, **kwargs)#
- get_transformation_matrix(speed)#
Build modal matrix
- Parameters:
- speed: np.ndarray
Rotor speed
- Returns:
- modal_matrixnp.ndarray
Modal matrix for the pseudo-modal method.
- reduce_matrix(array)#
Transform a square matrix from physical to modal space.
- Parameters:
- array: np.ndarray
Square matrix to be transformed.
- Returns:
- array_reducednp.ndarray
Reduced matrix.
- reduce_vector(array)#
Transform a vector from physical to modal space.
- Parameters:
- array: np.ndarray
Vector to be transformed.
- Returns:
- array_reducednp.ndarray
Reduced vector.
- revert_vector(array_reduced)#
Transform a vector from modal to physical space.
- Parameters:
- array_reduced: np.ndarray
Reduced vector to be reverted.
- Returns:
- arraynp.ndarray
Vector in physical space.
Attributes
subclasses