ROSS is a Python library for rotordynamic analysis, which allows the construction of rotor models and their numerical simulation. Shaft elements are modeled with the Timoshenko beam theory, which considers shear and rotary inertia effects, and discretized by means of the Finite Element Method. Disks are assumed to be rigid bodies, thus their strain energy is not taken into account. Bearings and seals are included as linear stiffness and damping coefficients.
After defining the elements for the model, you can plot the rotor geometry and run simulations such as static analysis, modal analysis, undamped critical speed, frequency response, unbalance response, time response, and more.
You can try ROSS instantly in your browser:
Or install it locally:
pip install ross-rotordynamicsIf you work with an AI coding agent (Claude Code, GitHub Copilot, Cursor, Codex), install the ROSS agent skill so your agent knows how to build rotors and run analyses:
ross-install-skillThe skill activates automatically whenever you ask your agent about rotordynamics with ROSS. In Claude Code you can also invoke it explicitly:
/ross create a rotor with 6 shaft elements, 2 disks and 2 bearings, then plot the Campbell diagram
Access full documentation here.
Key sections:
ROSS supports AI-assisted workflows in two ways:
- In your coding agent — the ROSS agent skill (Agent Skills open standard) teaches Claude Code, GitHub Copilot, Cursor, and Codex how to build rotor models and run analyses. Install it with
ross-install-skill(see Quick Start above); in Claude Code, invoke it explicitly with/ross. - In your browser — ROSS GPT is the official chat assistant for the ROSS package. Use it to create and modify rotor models, request practical examples for modal analysis, Campbell diagrams, unbalance response, and more, and get detailed technical explanations on elements such as shafts, disks, bearings, and couplings.
If you have questions, need guidance, or want to discuss ideas, please use the Discussions tab.
If you encounter a bug, experience unexpected behavior, or want to request a new feature, please open an Issue describing the problem and how to reproduce it.
ROSS is a community-driven project. If you want to contribute to the project, please check CONTRIBUTING.md.
The code has been initially developed by Petrobras in cooperation with the Federal University of Rio de Janeiro (UFRJ) with contributions from the Federal University from Uberlândia (UFU). Currently, Petrobras has a cooperation agreement with UFRJ (LAVI) and UFU (LMEST) to develop and maintain the code.