ross.Guyan#

class ross.Guyan(method='guyan', **kwargs)#

Guyan reduction method.

This method can be used to reduce model of the rotor system to a defined list of degrees of freedom (DOF).

Parameters:
rotor: rs.Rotor

The rotor object.

speedfloat

Rotor speed.

include_nodeslist of int, optional

List of the nodes to be included in the reduction.

dof_mappinglist of str, optional

List of the local DOFs to be considered in the reduction. Valid values are: ‘x’, ‘y’, ‘z’, ‘alpha’, ‘beta’, ‘theta’, corresponding to:

  • ‘x’ and ‘y’: lateral translations

  • ‘z’: axial translation

  • ‘alpha’: rotation about the x-axis

  • ‘beta’: rotation about the y-axis

  • ‘theta’: torsional rotation (about the z-axis)

Default is [‘x’, ‘y’].

include_dofslist of int, optional

List of DOFs to be included in the reduction, e.g., DOFs with applied forces or probe locations.

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))
>>> dofx = rotor.number_dof * node + 0
>>> dofy = rotor.number_dof * node + 1
>>> F[:, dofx] = 10 * np.cos(2 * t)
>>> F[:, dofy] = 10 * np.sin(2 * t)
>>> mr = ModelReduction(
...     rotor=rotor,
...     speed=speed,
...     method="guyan",
...     include_dofs=[dofx, dofy]
... )
>>> F_reduct = mr.reduce_vector(F.T).T
>>> np.where(F_reduct[5000, :] != 0)[0]
array([4, 5])

Methods

__init__(rotor, speed, include_nodes=None, dof_mapping=None, include_dofs=None, **kwargs)#
get_transformation_matrix()#

Build transformation matrix

Returns:
Tgnp.ndarray

Transformation matrix for Guyan method.

reduce_matrix(array)#

Transform a square matrix from complete to reduced model.

Parameters:
array: np.ndarray

Square matrix to be transformed.

Returns:
array_reducednp.ndarray

Reduced matrix.

reduce_vector(array)#

Transform a vector from complete to reduced model.

Parameters:
array: np.ndarray

Vector to be transformed.

Returns:
array_reducednp.ndarray

Reduced vector.

revert_vector(array_reduced)#

Transform a vector from reduced to complete model.

Parameters:
array_reduced: np.ndarray

Reduced vector to be reverted.

Returns:
arraynp.ndarray

Vector of complete model.

Attributes

subclasses