Skip to content

Repository files navigation

ROSS — Rotordynamic Open-Source Software

Binder github actions Documentation Status Code style: Ruff DOI

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.

🚀 Quick Start

You can try ROSS instantly in your browser:

👉 Launch ROSS in Binder

Or install it locally:

pip install ross-rotordynamics

If 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-skill

The 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

📚 Documentation

Access full documentation here.

Key sections:

🤖 AI Assistance

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 browserROSS 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.

❓ Support & Questions

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.

🤝 Contributing

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.

About

ROSS is a library written in Python for rotordynamic analysis.

Resources

Code of conduct

Contributing

Stars

194 stars

Watchers

18 watching

Forks

Releases

Packages

Used by

Contributors

Languages