Skip to main content

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.

Metadata

Release files for nodimo 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nodimo 2.0.0
File Size Uploaded
nodimo-2.0.0.tar.gz 36.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nodimo 2.0.0
File Interpreter ABI Platform
nodimo-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 68.0 kB

Release files / nodimo-2.0.0.tar.gz

Download URL nodimo-2.0.0.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
18d996bccf816b6f45e6769d9c131c084528321b913707eb02b65b5bae6c5e41
BLAKE2b-256 checksum
How to use checksums
5305c8967a505c3c85259289e94bdb812da7e34310477d46b2af3ebb3f173568
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release files / nodimo-2.0.0-py3-none-any.whl

Download URL nodimo-2.0.0-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e8ef4bddb022d6b88162f2a8f9003bb37a88a4939042801eac0a1a865528431
BLAKE2b-256 checksum
How to use checksums
cdfa882c492e91190a1aafca4aa37ee4052ee8eb4abed57dfdfbbf992787c283
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.0

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page