Source code for ladybug.datatype.uvalue
# coding=utf-8
"""U-Value data type."""
from __future__ import division
from .base import DataTypeBase
[docs]class UValue(DataTypeBase):
"""U Value
"""
_units = ('W/m2-K', 'Btu/h-ft2-F')
_si_units = ('W/m2-K')
_ip_units = ('Btu/h-ft2-F')
_min = 0
_abbreviation = 'Uval'
def _W_m2K_to_Btu_hft2F(self, value):
return value / 5.678263337
def _Btu_hft2F_to_W_m2K(self, value):
return value * 5.678263337
[docs] def to_unit(self, values, unit, from_unit):
"""Return values converted to the unit given the input from_unit."""
return self._to_unit_base('W/m2-K', values, unit, from_unit)
[docs] def to_ip(self, values, from_unit):
"""Return values in IP and the units to which the values have been converted."""
if from_unit == 'Btu/h-ft2-F':
return values, from_unit
else:
return self.to_unit(values, 'Btu/h-ft2-F', from_unit), 'Btu/h-ft2-F'
[docs] def to_si(self, values, from_unit):
"""Return values in SI and the units to which the values have been converted."""
if from_unit == 'W/m2-K':
return values, from_unit
else:
return self.to_unit(values, 'W/m2-K', from_unit), 'W/m2-K'
[docs]class ConvectionCoefficient(UValue):
_abbreviation = 'hc'
[docs]class RadiantCoefficient(UValue):
_abbreviation = 'hr'