You can calso use the deprecated GUI interface via binder (Jupyter Notebook Examples)
BuckinghamPy is a Python code that implements the Buckingham-Pi theorem and returns all possible sets of dimensionless groups.
The methodology is discussed in the original artictle: https://www.sciencedirect.com/science/article/pii/S2352711021001291
Cite as: Karam, M., & Saad, T. (2021). BuckinghamPy: A Python software for dimensional analysis. SoftwareX, 16, 100851.
Clone the package from the github repository into the current directory
git clone https://github.com/saadgroup/BuckinghamPy.git BuckinghamPy
Now change directory to the git repo
cd BuckinghamPy
Use pip
to install the package in the active python evironment
pip install .
Note that last two steps - you must change directories to the repo directory and call pip
from within it.
Consider a fluid with density R and viscosity V, pumped in a centrifugal pump with power input P, a volume flow rate Q, an impeller diameter E, and a rotational rate G.
The homogeneous function that relates all these variables is: f(R, V, P, Q, E, G) = 0
Using the fundamental units (M, L, T), find all the sets of dimensionless terms with the power input P being part of only one dimensionless term per set.
Using BuckinghamPy, we execute the following code:
from buckinghampy import BuckinghamPi
Example = BuckinghamPi()
Example.add_variable(name='R', dimensions='M/L^(3)')
Example.add_variable(name='P', dimensions='M*L^(2)/(T^3)', non_repeating=True)
Example.add_variable(name='V', dimensions='M/(T*L)')
Example.add_variable(name='Q', dimensions='L^(3)/T')
Example.add_variable(name='E', dimensions='L')
Example.add_variable(name='G', dimensions='1/T')
Example.generate_pi_terms()
Example.print_all()
or you can import the graphic user interface only in a Jupyter cell
from buckinghampy import BuckinghamPiGui
GUI=BuckinghamPiGui()
In order to speed up the calculations, the maximum number of sets per non-repeating variable is set to 20
.
self.__flagged_var_max_sets = 20
You could change this number to -1
to get all the sets, buckinghampy/buckinghampi.py line 43
.