Unit#

class ansys.units.unit.Unit(units: str | None = None, config: Mapping[str, Any] | None = None, dimensions: Dimensions | None = None, system: UnitSystem | str = None, table: Mapping[Literal['Mass', 'Length', 'Time', 'Temperature', 'Current', 'SubstanceAmount', 'Light', 'Angle', 'SolidAngle', 'Acceleration', 'AngularAcceleration', 'AngularVelocity', 'Area', 'Compressibility', 'Concentration', 'DecayConstant', 'Density', 'DynamicViscosity', 'ElectricCharge', 'ElectricChargeDensity', 'ElectricCurrentDensity', 'ElectricCurrentSource', 'ElectricFluxDensity', 'Enthalpy', 'Force', 'ForceDensity', 'Frequency', 'HeatFlux', 'HeatGeneration', 'HeatTransferCoefficient', 'Impulse', 'MagneticFieldIntensity', 'MassFlowRate', 'MassFlux', 'MolarConcentration', 'MolarEnergy', 'MolarEnthalpy', 'MolarEntropy', 'MolarMass', 'MolarVolume', 'Moment', 'MomentOfInertiaOfArea', 'MomentOfInertiaOfMass', 'Momentum', 'Pressure', 'ShearStrain', 'ShearStrainRate', 'SpecificConcentration', 'SpecificEnergy', 'SpecificEnthalpy', 'SpecificEntropy', 'SpecificFlameSurfaceDensity', 'SpecificHeatCapacity', 'SpecificVolume', 'Stiffness', 'Strain', 'SurfaceChargeDensity', 'SurfaceForceDensity', 'SurfacePowerDensity', 'SurfaceTension', 'TemperatureGradient', 'ThermalCapacitance', 'ThermalConductance', 'ThermalConductivity', 'ThermalContactResistance', 'ThermalExpansionCoefficient', 'Torque', 'Velocity', 'Volume', 'VolumetricFlowRate'], float] | None = None, copy_from: Unit | None = None)#

Bases: object

A class containing the string name and dimensions of a unit.

Parameters:
units: str, optional

Name of the unit or string chain of combined units

config: dict, optional

dictionary of unit properties

dimensions: Dimensions, optional

An instance of the Dimensions class.

system: str, optional

Define the unit system for base units of dimension, default is SI.

table: dict, optional

A dictionary of api table keys from the cfg.yaml and exponent values.

copy_from: Unit, optional

A previous instance of Unit.

Attributes:
name

The unit string.

si_units

The unit string in SI units.

si_scaling_factor

The scaling factor used to convert to SI units.

si_offset

The offset used to convert to SI units.

dimensions

The units base dimensions.

See also

ansys.units.common

A collection of predefined units for use.

Examples

>>> from ansys.units import Unit, Quantity
>>> fps = Unit("ft s^-1")
>>> fps.name
'ft s^-1'
>>> fps.dimensions
{'LENGTH': 1.0, 'TIME': -1.0}
>>> speed = Quantity(value=5, units=fps)
>>> speed
Quantity(5.0, "ft s^-1")
compatible_units() set[str]#

Get all units with the same dimensions.

Returns:
set

A set of unit objects.

convert(system: UnitSystem) Unit#

Convert a unit into the unit system.

Parameters:
systemUnitSystem

Unit system to convert to.

Returns:
Unit

Unit object converted into the unit system.

Examples

>>> ur = UnitRegistry()
>>> speed_si = Unit(units= ur.m / ur.s)
>>> bt = UnitSystem(system="BT")
>>> speed_bt = speed_si.convert(bt)
property dimensions: Dimensions#

The units base dimensions.

property name: str#

The unit string.

property si_offset: float#

The offset used to convert to SI units.

property si_scaling_factor: float#

The scaling factor used to convert to SI units.

property si_units: str#

The unit string in SI units.

exception ansys.units.unit.ProhibitedTemperatureOperation#

Bases: TypeError

Raised when two absolute temperatures are added.

exception ansys.units.unit.IncorrectUnits(unit1, unit2)#

Bases: ValueError

Raised when the specified units are incorrect.

exception ansys.units.unit.InconsistentDimensions#

Bases: ValueError

Raised when units have inconsistent base dimensions.

exception ansys.units.unit.UnconfiguredUnit(unit)#

Bases: ValueError

Raised when the specified unit is unconfigured.

exception ansys.units.unit.UnknownTableItem(item)#

Bases: ValueError

Raised when a quantity table item is undefined.