sfepy.mechanics.units module¶

Some utilities for work with units of physical quantities.

class `sfepy.mechanics.units.``Quantity`(name, unit_set)[source]

A physical quantity in a given set of basic units.

Examples

Construct the stress quantity:

```>>> from sfepy.mechanics.units import Unit, Quantity
>>> units = ['m', 's', 'kg', 'C']
>>> unit_set = [Unit(key) for key in units]
>>> q1 = Quantity('stress', unit_set)
>>> q1()
'1.0 Pa'
```

Show its unit using various prefixes:

```>>> q1('m')
'1000.0 mPa'
>>> q1('')
'1.0 Pa'
>>> q1('k')
'0.001 kPa'
>>> q1('M')
'1e-06 MPa'
```

Construct the stress quantity in another unit set:

```>>> units = ['mm', 's', 'kg', 'C']
>>> unit_set = [Unit(key) for key in units]
>>> q2 = Quantity('stress', unit_set)
>>> q2()
'1.0 kPa'
```

Show its unit using various prefixes:

```>>> q2('m')
'1000000.0 mPa'
>>> q2('')
'1000.0 Pa'
>>> q2('k')
'1.0 kPa'
>>> q2('M')
'0.001 MPa'
```
class `sfepy.mechanics.units.``Unit`(name)[source]

A unit of a physical quantity. The prefix and coefficient of the unit are determined from to its name.

Examples

Construct some units:

```>>> from sfepy.mechanics.units import Unit
>>> unit = Unit('mm')
>>> print unit
Unit:mm
coef:
0.001
name:
mm
prefix:
m
prefix_length:
1
unit:
m
>>> unit = Unit('kg')
>>> print unit
Unit:kg
coef:
1000.0
name:
kg
prefix:
k
prefix_length:
1
unit:
g
```

Get prefixes for a coefficient:

```>>> Unit.get_prefix(100.0)
('d', 10.0)
>>> Unit.get_prefix(100.0, omit=('d',))
('k', 0.10000000000000001)
```
static `get_prefix`(coef, bias=0.1, omit=None)[source]

Get the prefix and numerical multiplier corresponding to a numerical coefficient, omitting prefixes in omit tuple.

`sfepy.mechanics.units.``apply_unit_multipliers`(values, unit_kinds, unit_multipliers)[source]

Apply time, length and mass unit multipliers to given values with units corresponding to unit kinds.

Returns
new_valueslist

The new values with applied unit multipliers

`sfepy.mechanics.units.``apply_units_to_pars`(pars, pars_kinds, unit_multipliers)[source]

Apply units in unit_multipliers to pars according to their kinds.

Parameters
parsdict

The input parameters given as name : value items.

pars_kindsdict

The kinds of the parameters given as name : kind items, with kinds defined in `apply_unit_multipliers()`.

unit_multiplierstuple

The time, length and mass unit multipliers.

Returns
new_parsdict

The output parameters.

`sfepy.mechanics.units.``get_consistent_unit_set`(length=None, time=None, mass=None, temperature=None)[source]

Given a set of basic units, return a consistent set of derived units for quantities listed in the units_of_quantities dictionary.