Welcome to hsbalance’s documentation!

Turbomachinery-Flexible-Rotors-Balancing

Python Tools to Model and Solve the problem of High speed Rotor Balancing. hsbalance was built on the shoulders of great packages 🛠️💡😍 :

  1. CVXPY: The core package that is used to process the optimization problems needed.

  2. pandas: For printing tabulated results.

  3. Numpy: For Linear Algebra.

  4. Xpress : Solver that is used to solve the splitting mass problems.

Jump to The Walk-Through Example for a quick starter.

Introduction

The purpose of this project is to solve the problem of turbomachinery rotor balancing when more than one critical speed are required and where there are a large number of measuring points.

Rotor Balancing

When a rotating object does not have a perfect mass distribution, the center of gravity does not lay on its rotation axis. This causes rotating centrifugal force to occur and generates vibrating force transmitted to the support bearings. | The vibration forces is usually of destructive type and reduces the life of the machine. | Perfect mass distribution is generally impossible to achieve in real world, so the need to reduce the effect of unbalance force is needed.

The solution is usually to install a counter weight to produce the same magnitude of force as mush as the unbalance but in the opposite direction. This is called rotor balancing.

If you wish to be more familiar to dynamic rotor balancing and this documentation terminology refer to primer to rotor balancing

What is hsBalance?

hsBalance is Python package used as an API interface to provide programmers with tools to analyze balancing flexible rotors.

Note

This is not a user interacting program which asks for inputs and gives outputs back. A premitive trial by me was this program (which still needs software refactoring and heavy documentation to be used properly).

hsBalance Package

Downloads License: MIT pic1 pic2 Generic badge1 Generic badge2
Binder
hsBalance package is a python tool-kit that enables field engineer to do rotor balancing job on large number of measuring and balancing planes. It facilitates testing various scenarios through applying different optimization methods and applying different constraints. The package takes advantage of object oriented programming which makes it easier to build, extend and maintain.
The package also make it possible to easily use the code in a notebook which is a great advantage to work freely, try different method of optimization and splitting for your case, get to compare results and RMS errors and even plot charts and diagrams.

Binder

Use mybinder link to quickly navigate through examples with no installation required.

Installation

Warning

The installation steps were tested in Linux OS, other systems may differ accordingly.

Prerequisites

Python >= 3.8

Quick Use

  1. Create an isolated virtual environment for python 3.8. :

    Note

    This step is optional

    • for Anaconda users:
      $ conda create -n hsbalance python=3.8
      $ conda activate hsbalance
      
    • Virtualenv users:
      $ virtualenv hsbalance
      $ source hsbalance/bin/activate
      

      OR: To specify python 3.8 version

      $ virtualenv -p /usr/bin/python3.8 hsbalance
      $ source hsbalance/bin/activate
      
  2. Installing Using PIP:

    $ pip install hsbalance
    

hsBalance In Action

Take a tour in examples to see hsBalance in action.

Walkthrough Example

A walkthrough through an example with detailed discussion can be found here.

Table of Contents

Indices and tables