Nodimo is a tool that creates nondimensional models.
Project description
Nodimo
The main purpose of Nodimo is to transform a dimensional relationship between variables into a nondimensional one. The variables are gathered in nondimensional groups such that the number of groups is lower than the number of variables. The resulting nondimensional model is, at the same time, a generalization and simplification of the dimensional model.
Nodimo supports any number of dimensions and variables. It can be used for applications in science, engineering, economics and finance. The resulting nondimensional groups can be used as the basis for further studies in similarity and model testing.
Installation
Nodimo and its dependencies (numpy and sympy) are installed by:
pip install nodimo
When running Nodimo on the terminal, make sure that the terminal supports Unicode characters. For the best experience, it is recommended the use of jupyter notebook.
Getting started
Basic example
Simple pendulum:
The nondimensional model for the pendulum's period as a function of the other variables is built and displayed as:
from nodimo import Variable, NonDimensionalModel
# Variables' dimensions: Mass (M), Length (L) and Time (T)
T = Variable('T', M=0, L=0, T=1, dependent=True) # period
L = Variable('L', M=0, L=1, T=0, scaling=True) # length
m = Variable('m', M=1, L=0, T=0) # mass
g = Variable('g', M=0, L=1, T=-2, scaling=True) # gravity
t0 = Variable('theta_0') # initial angle
ndmodel = NonDimensionalModel(T, L, m, g, t0)
ndmodel.show()
And the result is:
\displaystyle \frac{T g^{\frac{1}{2}}}{L^{\frac{1}{2}}} = \Pi{\left(\theta_{0} \right)}
For more functionalities and examples, check the documentation.
License
Nodimo is open-source and released under the MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nodimo-1.0.0.tar.gz.
File metadata
- Download URL: nodimo-1.0.0.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5147a2bfa6cd06b0b1bc6411c80dee31eede87776b8d9d573c9762d13c47ca7a
|
|
| MD5 |
64bff5bc0815ba14e3495d259a062f12
|
|
| BLAKE2b-256 |
860ad8d137805853fe9fa779d5cc3ef21ab82bd0d0651c29f6b410df9266e8d4
|
File details
Details for the file nodimo-1.0.0-py3-none-any.whl.
File metadata
- Download URL: nodimo-1.0.0-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e7f05caf91cef2cf7fb953cb477acba3fa2b73a176d8c65fd36fd826e2635a2
|
|
| MD5 |
6265fb94801890807bf880ef443b616e
|
|
| BLAKE2b-256 |
ec9a503a00a57517a5bccc0d45ddfc34af80a623dab00dbc7097131612791802
|