Skip to main content

Nodimo is a tool that creates dimensionless models

Project description

Nodimo Logo


Docs Docs Status Badge
Tests Tests Status Badge Coverage Badge
Python Python Versions Badge
Version PyPI Version Badge Conda Version Badge
License License Badge

Nodimo

The main purpose of Nodimo is to transform a dimensional relationship between quantities into a dimensionless one. This is done by grouping dimensional quantities into dimensionless products in such a way that the resulting number of products is always lower than or equal to the starting number of quantities. Therefore, the ensuing dimensionless model is, at the same time, a generalization and simplification of the dimensional model.

Nodimo supports any number of dimensions and quantities. It can be used for applications in science, engineering, economics and finance. The resulting dimensionless relations can be used as the basis for further studies in similarity and model testing.

Notes

  • The use of Nodimo requires basic knowledge of dimensional analysis, specially on choosing the appropriate set of scaling parameters and indentifying established dimensionless groups.

  • It is recommended the use of jupyter notebook for a better displaying of the results.

Installation

Via PyPI, Nodimo and its dependency Sympy is installed by:

pip install nodimo

Alternatively, via Conda:

conda install nodimo --channel rodrigopcastro018

Getting started

Basic example

  • Simple pendulum

Simple Pendulum

The dimensionless relation between the pendulum's period T and the other quantities presented in the figure above is built and displayed as:

from nodimo import Quantity, Model

T = Quantity('T', mass=0, length=0, time=1, dependent=True)  # period
L = Quantity('L', mass=0, length=1, time=0, scaling=True)    # length
m = Quantity('m', mass=1, length=0, time=0)                  # mass
g = Quantity('g', mass=0, length=1, time=-2, scaling=True)   # gravity
t0 = Quantity('theta_0')                                     # initial angle

model = Model(T, L, m, g, t0)
model.show()

And the result is:

$$\displaystyle \frac{T g^{\frac{1}{2}}}{L^{\frac{1}{2}}} = \Phi{\left(\theta_{0} \right)}$$

For more applications and functionalities, check the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nodimo-2.0.0.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nodimo-2.0.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file nodimo-2.0.0.tar.gz.

File metadata

  • Download URL: nodimo-2.0.0.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for nodimo-2.0.0.tar.gz
Algorithm Hash digest
SHA256 18d996bccf816b6f45e6769d9c131c084528321b913707eb02b65b5bae6c5e41
MD5 cf7711ee935e322aff0764fb1a258fc3
BLAKE2b-256 5305c8967a505c3c85259289e94bdb812da7e34310477d46b2af3ebb3f173568

See more details on using hashes here.

File details

Details for the file nodimo-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: nodimo-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for nodimo-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5e8ef4bddb022d6b88162f2a8f9003bb37a88a4939042801eac0a1a865528431
MD5 cb7a4dd1ffd02d3654a77411e7914d59
BLAKE2b-256 cdfa882c492e91190a1aafca4aa37ee4052ee8eb4abed57dfdfbbf992787c283

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page