Rotorsystem

The Rotorsystem class is the main class of the toolbox.

class +AMrotorSIM.@Rotorsystem.Rotorsystem(c, name)

Bases: sphinxcontrib.mat_types.handle

Rotorsystem is the basis class for a rotor system.

Rotorsystem(c, name)

Constructor

Parameters
  • c (struct) – Cnfg-struct from separat Config-script

  • name (string) – Project name

Returns

Rotorsystem object

+AMrotorSIM.@Rotorsystem.assemble(obj)

Imports the data (components) from the cnfg-file in the rotorsystem object

Parameters

obj (object) – object of type rotorsystem

Returns

Filled out rotorsystem object

+AMrotorSIM.@Rotorsystem.assemble_system_controller_forces(self, t, Z)

Adds the controller force to the load vector

Parameters
  • t (double) – time step

  • Z (vector) – state-space vector [x; x_dot]

Returns

Load vector h

Return type

vector

+AMrotorSIM.@Rotorsystem.assemble_system_loads(self, time, Z)

Assembles the system loads

Parameters
  • time (double) – Time step

  • Z (vector) – State vector

Returns

System load vector h

+AMrotorSIM.@Rotorsystem.assemble_system_matrices(self, rpm, varargin)

Assembles the specific component matrices to the global matrices

Parameters
  • rpm (double) – Rotational speed

  • varargin – Placeholder

Returns

Global component matrices (M,D,G,K)

+AMrotorSIM.@Rotorsystem.calculate_bearing_force(rotorsystem, time, displacement, velocity)

Calculates the force of the sensor BearingForceSensor

Parameters
  • rotorsystem (object) – Object of type rotorsystem

  • time (double) – Time step

  • displacement (vector(double)) – Displacement vector

  • velocity (vector(double)) – Velocity vector

Returns

BearingForceSensor force

+AMrotorSIM.@Rotorsystem.calculate_controller_force(rotorsystem, time, displacement, velocity)

Calculate the force of the sensor ControllerForceSensor

Parameters
  • rotorsystem (object) – Object of type rotorsystem

  • time (vector) – Time-vector of solution

  • displacement (vector(double)) – Displacement vector

  • velocity (vector(double)) – Velocity vector

Returns

ControllerForceSensor force

+AMrotorSIM.@Rotorsystem.calculate_force_load_post_sensor(rotorsystem, time, displacement, velocity)

Calculate the force of the sensor ForceLoadPostSensor

Parameters
  • rotorsystem (object) – Object of type rotorsystem

  • time (double) – Time step

  • displacement (vector(double)) – Displacement vector

  • velocity (vector(double)) – Velocity vector

Returns

ControllerForceSensor force

+AMrotorSIM.@Rotorsystem.check_for_non_integrable_components(self)

Checks if the integrationProblemFlag is active

Returns

Call of an error message function, if flag is active

+AMrotorSIM.@Rotorsystem.check_overall_translational_mass(self, U)

Calculates the overall translational mass based on rigid body modes from the mass matrix: m_trans=u’ x M x u, to compare it with the expected mass

Parameters

U (matrix) – Eigenvector matrix (only trans. rigid body)

Returns

Overall translational mass

+AMrotorSIM.@Rotorsystem.compute_state_space_for_controller(self, Omega)

Computes the state space of the system, e.g. for controller design

Parameters

Omega (double) – Angular velocity step

Returns

[A,B,C,D] or sys of Matlab-type ss, check function

+AMrotorSIM.@Rotorsystem.compute_system_load_ss(self, t, Z)

Computes the system load in state space form for time integration: h=[0;F]

Parameters
  • t (double) – Time step

  • Z (vector(double)) – State-space vector [x; x_dot]

Returns

Load vector

+AMrotorSIM.@Rotorsystem.compute_translational_rigid_body_modes(self)

Builds the translational rigid body modes matrix u, which can be used to check the overall mass of the system using m_trans=u’ x M x u

Returns

Rigid body mode matrix u (only trans. rigid body)

+AMrotorSIM.@Rotorsystem.find_state_vector(self, position, Z)

Searches for the state-space vector of nodes regarding the position in the form u = [x; x_dot]

Parameters
  • position (double) – Position of interest along rotor axis

  • Z (vector) – Global state-space vector

Returns

Overall translational mass

+AMrotorSIM.@Rotorsystem.generate_sensor_output(obj)

Extracts position data from all sensors into a data struct

Parameters

obj (object) – Object of type rotorsystem

Returns

data

+AMrotorSIM.@Rotorsystem.get_component_matrices(self, components, rpm)

Extracts the specific component matrices (M,D,G,K)

Parameters
  • components (object) – Desired component object

  • rpm (double) – Rotational speed

Returns

Component matrices (M,D,G,K)

+AMrotorSIM.@Rotorsystem.get_sensor_mesh_position(rotorsystem)

Gives the rotor mesh node corresponding to the sensor regarding the position

Parameters

rotorsystem (object) – Object of type rotorsystem

Returns

BearingForceSensor force

+AMrotorSIM.@Rotorsystem.show(obj)

Displays all parts of the system in the command window

Parameters

obj (object) – Object of type rotorsystem

Returns

Output in command window