GithubHelp home page GithubHelp logo

saadgroup / buckinghampy Goto Github PK

View Code? Open in Web Editor NEW
28.0 2.0 7.0 1.17 MB

Python code that implement the Buckingham-Pi theorem for different variables and return all possible dimensionless pi terms

License: MIT License

Jupyter Notebook 52.02% Shell 0.44% Python 47.54%

buckinghampy's Introduction

BuckinghamPy

Use our new web app!

drawing (Launch GUI App)

Watch the youtube video



You can calso use the deprecated GUI interface via binder Binder (Jupyter Notebook Examples)

Description

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.

Installation


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.

Example

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()

Latex Rendered Results

or you can import the graphic user interface only in a Jupyter cell

from buckinghampy import BuckinghamPiGui

GUI=BuckinghamPiGui()

See Also


buckinghampy's People

Contributors

mk-95 avatar saadtony avatar

Stargazers

 avatar  avatar  avatar  avatar Christoph Renzing avatar Yi Dai avatar  avatar Kinran Lau avatar Christopher Dzuwa avatar Beng avatar Christian Waidmann avatar Ticonderoga avatar Maximilian avatar Mike G avatar Giovani Hidalgo Ceotto avatar Shane Crowley avatar Daniel Cieśliński avatar  avatar Nicolás Guarín-Zapata avatar yzhan avatar David Walz avatar Henry Goodwin avatar  avatar Iho López Tobi avatar Geraldo Rebouças avatar Andrey Byhckov avatar  avatar Xinzhe WU avatar

Watchers

 avatar Steven Hinkle avatar

buckinghampy's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.