ansys-units 0.3.2

Creator: bradpython12

Last updated:

Add to Cart

Description:

ansysunits 0.3.2

Overview
PyAnsys Units is a Python library designed for managing physical quantities,
which are combinations of numerical values and corresponding units of
measurement. This package facilitates arithmetic operations and conversions
between various units.
With a modular design, PyAnsys Units offers the flexibility to extend or
modify its extensive list of physical units and unit systems without
altering the source code. It seamlessly integrates with NumPy mathematical
operations.
PyAnsys Units comes bundled with a comprehensive set of physical units,
prefixes, and constants and boasts complete test coverage.


Documentation and issues
Documentation for the latest stable release of PyAnsys Units is hosted at
PyAnsys Units documentation.
In the upper right corner of the documentation’s title bar, there is an option for
switching from viewing the documentation for the latest stable release to viewing
the documentation for the development version or previously released versions.
On the PyAnsys Units Issues page, you can
create issues to report bugs, and request new features. On the PyAnsys Units Discussions page or the Discussions
page on the Ansys Developer portal, you can post questions, share ideas, and get community feedback.
To reach the project support team, email pyansys.core@ansys.com.


Installation
The ansys.units package supports Python 3.9 through Python 3.11 on Windows
and Linux.
Install the latest release from PyPI
with this command:
pip install ansys-units
If you plan on doing local development of PyAnsys Units with Git, install the latest release with
these commands:
git clone https://github.com/ansys/pyansys-units.git
cd pyansys-units
pip install pip -U
pip install -e .


Getting started
PyAnsys Units supports flexible instantiation of Quantity objects:
import ansys.units as ansunits

# Using unit strings

volume = ansunits.Quantity(value=1, units="m^3")

volume.value # 1.0
volume.units.name # "m^3"

# Using Unit instances

ureg = ansunits.UnitRegistry()

mass = ansunits.Quantity(value=1, units=ureg.kg)

volume.value # 1.0
volume.units.name # "kg"

# Using base dimensions

dims = ansunits.BaseDimensions
dimensions = ansunits.Dimensions({dims.LENGTH: 1, dims.TIME: -2})

acceleration = ansunits.Quantity(value=3, dimensions=dimensions)

acceleration.value # 3.0
acceleration.units.name # "m s^-2"

# Using the quantity map

torque = ansunits.Quantity(5, quantity_map={"Torque": 1})

torque.value # 5.0
torque.units.name # "N m"
torque.si_units # "kg m^2 s^-2"
With NumPy installed, you can instantiate a Quantity using either
a list of floats or a NumPy array:
from ansys.units import Quantity
import numpy as np

length_array_quantity = Quantity(value=[1.0, 6.0, 7.0], units="m")
length_array_quantity[1] # Quantity (6.0, "m")
time = Quantity(value=2, units="s")
speed = length_array_quantity / time
speed # Quantity ([0.5 3. 3.5], "m s^-1")
You can instantiate unit systems with one of two methods:
# Use a pre-defined unit system

si = ansunits.UnitSystem(unit_sys="SI")

si.base_units # ['kg', 'm', 's', 'K', 'delta_K', 'radian', 'mol', 'cd', 'A', 'sr']

# Define a custom unit system from a dictionary of base units. Any unspecified
# unit will default to the SI equivalent.

ureg = ansunits.UnitRegistry()
dims = ansunits.BaseDimensions

sys = ansunits.UnitSystem(
base_units={
dims.MASS: ureg.slug,
dims.LENGTH: ureg.ft,
dims.TEMPERATURE: ureg.R,
dims.TEMPERATURE_DIFFERENCE: ureg.delta_R,
dims.CHEMICAL_AMOUNT: ureg.slugmol,
}
)

sys.base_units # ['slug', 'ft', 's', 'R', 'delta_R', 'radian', 'slugmol', 'cd', 'A', 'sr']

Examples
Perform arithmetic operations:
import ansys.units as ansunits

deg = ansunits.Quantity(90, "degree")
math.sin(deg) # 1.0

v1 = ansunits.Quantity(10.0, "m s^-1")
v2 = ansunits.Quantity(5.0, "m s^-1")

v3 = v1 - v2
v3.value # 5.0

vpow = v1**2
vpow.value # 100.0
vpow.units # "m^2 s^-2"
Directly convert values to another set of units:
import ansys.units as ansunits

flbs = ansunits.Quantity(1, "lb ft^-1 s^-1")
flbs.value # 1

pas = flbs.to("Pa s")
pas.value # 1.4881639435695542
pas.units.name # 'Pa s'
Use a custom unit system to perform conversions:
import ansys.units as ansunits

ureg = ansunits.UnitRegistry()
dims = ansunits.BaseDimensions

sys = ansunits.UnitSystem(
base_units={
dims.MASS: ureg.slug,
dims.LENGTH: ureg.ft,
dims.TEMPERATURE: ureg.R,
dims.TEMPERATURE_DIFFERENCE: ureg.delta_R,
dims.CHEMICAL_AMOUNT: ureg.slugmol,
}
)

v = ansunits.Quantity(10, "kg m s^2")
v2 = sys.convert(v)

v2.value # 2.2480894309971045
v2.units.name # 'slug ft s^2'



License
PyAnsys Units is licensed under the MIT license. For more information, see the
LICENSE file.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.