API Reference#

Material#

Material(name, rho[, E, G_s, Poisson, ...])

Material used on shaft and disks.

Elements#

ShaftElement(L, idl, odl[, idr, odr, ...])

A shaft element with 12 degrees of freedom.

DiskElement(n, m, Id, Ip[, tag, ...])

A disk element.

BearingElement(n, kxx, cxx[, mxx, kyy, kxy, ...])

A bearing element.

SealElement(n, kxx, cxx[, mxx, kyy, kxy, ...])

A seal element.

BallBearingElement(n, n_balls, d_balls, fs, ...)

A bearing element for ball bearings.

RollerBearingElement(n, n_rollers, ...[, ...])

A bearing element for roller bearings.

CylindricalBearing(n[, speed, weight, ...])

Cylindrical hydrodynamic bearing - Simplified analytical model.

FluidFilmBearing(n[, speed, frequency, ...])

Journal bearing solved by the fluid-film TEHD engine.

FixedGeometryBearing(n, **kwargs)

Fixed-geometry journal bearing described by per-pad arrays.

PlainJournal(n[, pad_axial_length, ...])

Plain (axial-groove) cylindrical journal bearing.

PartialArcBearing(n[, pad_arc, arc_center, ...])

Partial-arc journal bearing: a single fixed pad.

EllipticalBearing(n[, pad_arc, preload])

Elliptical (lemon-bore) journal bearing: two preloaded lobes.

OffsetHalvesBearing(n[, pad_arc, preload, ...])

Offset-halves journal bearing: two halves displaced at the split.

MultiLobeBearing(n[, n_lobes, pad_arc, ...])

Multi-lobe journal bearing: n_lobes preloaded arcs.

PressureDamBearing(n[, pad_arc, dam_arc, ...])

Pressure-dam journal bearing: a stepped pocket in selected pads.

TiltingPad(n[, journal_diameter, preload, ...])

Tilting-pad journal bearing.

ThrustPad(n, pad_inner_radius, ...[, ...])

Thermo-Hydro-Dynamic (THD) Tilting Pad Thrust Bearing.

SqueezeFilmDamper(n, frequency, ...[, ...])

Squeeze Film Damper (SFD) element in ROSS standard format.

LabyrinthSeal(n, shaft_diameter, ...[, ...])

Labyrinth seal - Compressible flow model with rotordynamic coefficients.

HolePatternSeal(n, shaft_diameter, ...[, ...])

Hole-pattern annular seal - Bulk flow model with dynamic coefficients.

HybridSeal(n, shaft_diameter, ...[, ...])

Hybrid seal - Compressible flow model with rotordynamic coefficients.

MagneticBearingElement(n, g0, i0, ag, nw[, ...])

Magnetic Bearing Element.

GearElement(n, m, Id, Ip, n_teeth[, ...])

A gear element.

GearElementTVMS(n, material, width, ...[, ...])

A gear element with Time-Varying Mesh Stiffness (TVMS) modeling.

Mesh(driving_gear, driven_gear[, ...])

A class representing the meshing behavior between two gears in contact, including stiffness and contact ratio calculations.

CouplingElement(m_l, m_r, Ip_l, Ip_r[, ...])

A coupling element.

Probe(node[, angle, direction, tag])

Class of a probe.

PointMass([n, m, mx, my, mz, tag, ...])

A point mass element.

MotorElement(n, power_rated, voltage_rated, ...)

Create a 3-phase induction motor element for rotordynamic analysis.

Rotor and Analysis#

Rotor class and available methods for analysis (run_* methods).

Rotor(shaft_elements[, disk_elements, ...])

A rotor object.

MultiRotor(driving_rotor, driven_rotor, ...)

A class representing a multi-rotor system.

Rotor.run_modal

Rotor.run_critical_speed([speed_range, ...])

Calculate the critical speeds and damping ratios for the rotor model.

Rotor.run_freq_response([speed_range, ...])

Frequency response for a mdof system.

Rotor.run_forced_response([force, ...])

Forced response for a mdof system.

Rotor.run_unbalance_response(node, ...[, ...])

Unbalanced response for a mdof system.

Rotor.run_campbell(speed_range[, ...])

Calculate the Campbell diagram.

Rotor.run_time_response(speed, F, t[, method])

Calculate the time response.

Rotor.run_level1([n, stiffness_range, num])

Plot level 1 stability analysis.

Rotor.run_ucs([stiffness_range, ...])

Run Undamped Critical Speeds analyzes.

Rotor.run_static()

Run static analysis.

Rotor.run_misalignment(node, ...[, coupling])

Run analysis for the rotor system with misalignment given an unbalance force.

Rotor.run_rubbing(n, distance, ...[, torque])

Run analysis for the rotor system with rubbing given an unbalance force.

Rotor.run_crack(n, depth_ratio, node, ...[, ...])

Run analysis for the rotor system with crack given an unbalance force.

Rotor.run_harmonic_balance_response(speed, ...)

Compute the steady-state response of the rotor using the Harmonic Balance method.

Rotor.run_amb_sensitivity(speed, t_max, dt)

Run Active Magnetic Bearing (AMB) sensitivity analysis.

Rotor.run_amb_non_collocation(magnetic_bearing)

Run a modal sensor-actuator non-collocation analysis.

Rotor.run_clearance_analysis(speed_range, ...)

Close-clearance check of the unbalance response after API 617.

Rotor.run_mesh_convergence([rtol, ...])

Find a shaft discretization with converged natural frequencies.

Rotor.run_with_motor(t, node, ...[, ...])

Run time response with electric motor torque at the motor node.

Rotor.refine(subdivisions)

Split the shaft intervals of the rotor in equal shaft elements.

Rotor.refine_mesh([max_ld, min_ld, parts])

Subdivide the shaft elements by their length-to-diameter ratio.

Rotor.api617_unbalance(mode, ...[, num_modes])

Unbalance amount and placement for a mode as defined by API 617.

Example Rotors#

Ready-to-use rotor models for tutorials, doctests, and quick experimentation.

rotor_example()

Create a rotor as example.

compressor_example()

Create a compressor as example.

rotor_example_6dof()

Create a rotor as example.

rotor_example_with_damping()

Create a rotor as example.

rotor_example_amb_simple()

rotor_example_amb_complex_controllers([ambs])

Create a rotor example with complex magnetic bearing controllers.

rotor_example_amb_general_controllers([...])

This function creates the model of a test rig rotor supported by magnetic bearings.

motor_example()

Create an example of motor element.

Results#

These are classes used to store results and to provide useful methods such as plotting.

Orbit(*, node, node_pos, ru_e, rv_e)

Class used to construct orbits for a node in a mode or deflected shape.

Shape(vector, nodes, nodes_pos, ...[, normalize])

Class used to construct a mode or a deflected shape from a eigen or response vector.

CriticalSpeedResults(_wn, _wd, log_dec, ...)

Class used to store results from run_critical_speed() method.

ModalResults(speed, evalues, evectors, wn, ...)

Class used to store results and provide plots for Modal Analysis.

CampbellResults(speed_range, wd, log_dec, ...)

Class used to store results and provide plots for Campbell Diagram.

FrequencyResponseResults(freq_resp, ...)

Class used to store results and provide plots for Frequency Response.

ForcedResponseResults(rotor, forced_resp, ...)

Class used to store results and provide plots for Forced Response analysis.

StaticResults(deformation, Vx, Bm, w_shaft, ...)

Class used to store results and provide plots for Static Analysis.

SummaryResults(df_shaft, df_disks, ...)

Class used to store results and provide plots rotor summary.

MeshConvergenceResults(rotor, subdivisions, ...)

Store and plot the results of a mesh convergence analysis.

TimeResponseResults(rotor, t, yout, xout[, ...])

Class used to store results and provide plots for Time Response Analysis.

Level1Results(stiffness_range, log_dec)

Class used to store results and provide plots for Level 1 Stability Analysis.

UCSResults(stiffness_range, stiffness_log, ...)

Class used to store results and provide plots for UCS Analysis.

HarmonicBalanceResults(rotor, speed, t, Qt, ...)

Class used to store results and provide plots for Harmonic Balance Analysis.

SensitivityResults(sensitivity_data, ...)

Results from the sensitivity analysis for the rotor AMBs.

AmbNonCollocationResults(speed, ...[, ...])

Results from a lateral AMB sensor-actuator non-collocation analysis.

ClearanceResults(speed_range, ...[, ...])

Results of the API 617 close-clearance check.

MotorResponseResults(t, electric_torque, ...)

Store and plot motor time response results.

PhaseResults(t, data, data_type[, t_eval])

Store and plot phase data.

Bearing Results#

Post-processing classes for thermo-hydro-dynamic bearing models.

BearingResults(frequency, pressure_fields, ...)

Abstract base class for fluid film bearing post-processing results.

FluidFilmBearingResults(frequency, ...[, ...])

Post-processing results for FluidFilmBearing.

ThrustPadResults(frequency, pressure_fields, ...)

Post-processing results for a ThrustPad bearing.

SqueezeFilmDamperResults(frequency, kxx, ...)

Post-processing results for a SqueezeFilmDamper bearing.

Faults#

Fault models for misalignment, rubbing, and crack analyses.

MisalignmentFlex(rotor, n, mis_type, ...[, ...])

Model misalignment on a given flexible coupling element of a rotor system.

MisalignmentRigid(rotor, n, mis_distance[, ...])

Model misalignment on a given rigid coupling element of a rotor system.

Rubbing(rotor, n, distance, ...[, torque])

Model rubbing based on Finite Element Method on a given shaft element of a rotor system.

Crack(rotor, n, depth_ratio[, crack_model, ...])

Model a crack on a given shaft element of a rotor system.

Model Reduction#

Methods for reducing the size of rotor finite element models.

ModelReduction([method])

PseudoModal([method])

Pseudo-modal method.

Guyan([method])

Guyan reduction method.

Motor Drives#

Electrical sources that feed a MotorElement.

SourceAC(voltage_net, frequency_net[, ...])

Create an ideal 3-phase AC source with harmonics and voltage unbalance support.

InverterVF(voltage_dc, frequency_s, ...[, ...])

Simulate a three-phase voltage source inverter with V/f adjustment technique.

InverterFOC(voltage_dc, frequency_s, ...[, ...])

Simulate a three-phase voltage source inverter with indirect Field-Oriented Control.

Stochastic Analysis#

Stochastic elements, rotor assembly, and results for uncertainty quantification.

ST_Material(name, rho[, E, G_s, Poisson, color])

Create instance of Material with random parameters.

ST_ShaftElement(L, idl, odl[, idr, odr, ...])

Random shaft element.

ST_DiskElement(n, m, Id, Ip[, tag, color, ...])

Random disk element.

ST_BearingElement(n, kxx, cxx[, mxx, kyy, ...])

Random bearing element.

ST_PointMass(n[, m, mx, my, tag, color, ...])

Random point mass element.

ST_Rotor(shaft_elements[, disk_elements, ...])

A random rotor object.

ST_CampbellResults(speed_range, wd, log_dec, ...)

Store stochastic results and provide plots for Campbell Diagram.

ST_FrequencyResponseResults(speed_range, ...)

Store stochastic results and provide plots for Frequency Response.

ST_ForcedResponseResults(forced_resp, ...)

Store stochastic results and provide plots for Forced Response.

ST_TimeResponseResults(t, yout, xout, ...)

Store stochastic results and provide plots for Time Response and Orbit Response.

Utilities#

Unit conversion helpers, visualization utilities and speed ranges for sweep analyses.

Q_

alias of Quantity

get_data_from_figure(fig)

Get data from a Plotly scatter plot (XY) and convert to a pd.DataFrame.

visualize_matrix(rotor, matrix[, frequency])

Visualize global matrix.

lubricants_dict

speed_range_from_endpoints(speed_start, ...)

Make an evenly spaced speed range from its end points.