ansys / pyansys-units

Pythonic interface for units, unit systems, and unit conversions.
http://units.docs.pyansys.com/
MIT License
6 stars 2 forks source link

docs: Remove temperature addition and disallow unimplemented unit construction #257

Closed hpohekar closed 7 months ago

hpohekar commented 7 months ago

Closes https://github.com/ansys/pyansys-units/issues/255, https://github.com/ansys/pyansys-units/issues/256 and https://github.com/ansys/pyansys-units/issues/258

  1. Updated temperature docs.
  2. Added test for temperature addition.
  3. Raise an exception for unimplemented units.
  4. Added test to check unimplemented units.
  5. Updated quantity doc.
seanpearsonuk commented 7 months ago

@hpohekar There is already a custom exception for such units:

>>> import ansys.units as au
>>> Q_ = au.Quantity
>>> Q_(1, "ZZ")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\quantity.py", line 100, in __init__
    units = Unit(units)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 76, in __init__
    _dimensions = _units_to_dim(units=units)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 384, in _units_to_dim
    _, unit_term, unit_term_exponent = _filter_unit_term(term)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 561, in _filter_unit_term
    raise UnconfiguredUnit(unit_term)
ansys.units.unit.UnconfiguredUnit: `ZZ` is an unconfigured unit.

Unconfigured is good because the fact is that the user can configure what they like in the yaml file.

Can we also include h for hour in the yaml file. Python console users will not know how to configure the units and h might be quite popular.

hpohekar commented 7 months ago

@hpohekar There is already a custom exception for such units:

>>> import ansys.units as au
>>> Q_ = au.Quantity
>>> Q_(1, "ZZ")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\quantity.py", line 100, in __init__
    units = Unit(units)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 76, in __init__
    _dimensions = _units_to_dim(units=units)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 384, in _units_to_dim
    _, unit_term, unit_term_exponent = _filter_unit_term(term)
  File "C:\ANSYSDev\pyfluent\.venv\lib\site-packages\ansys\units\unit.py", line 561, in _filter_unit_term
    raise UnconfiguredUnit(unit_term)
ansys.units.unit.UnconfiguredUnit: `ZZ` is an unconfigured unit.

Unconfigured is good because the fact is that the user can configure what they like in the yaml file.

Can we also include h for hour in the yaml file. Python console users will not know how to configure the units and h might be quite popular.

@seanpearsonuk Yes, sure.