Source code for mechmat.properties.thermal.thermal
from math import inf
from mechmat.core.chainable import Chainable, Guarded
from mechmat import ureg
from mechmat.principal import thermal
[docs]class Thermal(Chainable):
def __init__(self, **kwargs):
super(Thermal, self).__init__(**kwargs)
self.set_guard('temperature', ureg.degC, [-273.15, inf], 'Temperature of the material')
self.set_guard('temperature_melt', ureg.degC, [-273.15, inf], 'Melting temperature of the material')
self.set_guard('temperature_vapor', ureg.degC, [-273.15, inf])
self.set_guard('specific_heat_capacity', ureg.J / (ureg.kg * ureg.K))
self.link_attr('specific_heat_capacity', thermal.specific_heat_capacity, thermal_conductivity='thermal_conductivity', density='density',
thermal_diffusivity='thermal_diffusivity')
self.set_guard('thermal_diffusivity', ureg.m ** 2 / ureg.s)
self.link_attr('thermal_diffusivity', thermal.thermal_diffusivity, thermal_conductivity='thermal_conductivity', specific_heat_capacity='specific_heat_capacity',
density='density')
self.set_guard('thermal_conductivity', ureg.W / (ureg.m * ureg.K))
self.link_attr('thermal_conductivity', thermal.thermal_conductivity, thermal_diffusivity='thermal_diffusivity', specific_heat_capacity='specific_heat_capacity',
density='density')
self.set_guard('thermal_expansion_coeff', ureg.um / (ureg.m * ureg.K))
temperature = Guarded()
r"""Temperature of a material """
temperature_melt = Guarded()
temperature_vapor = Guarded()
specific_heat_capacity = Guarded()
thermal_diffusivity = Guarded()
thermal_conductivity = Guarded()
thermal_expansion_coeff = Guarded()