Source code for cea.technologies.tabs

# -*- coding: utf-8 -*-
"""
Termoactivated building surfaces (TABS)
"""

from __future__ import division
import scipy.optimize

__author__ = "Martin Mosteiro"
__copyright__ = "Copyright 2016, Architecture and Building Systems - ETH Zurich"
__credits__ = ["Martin Mosteiro"]
__license__ = "MIT"
__version__ = "0.1"
__maintainer__ = "Daren Thomas"
__email__ = "cea@arch.ethz.ch"
__status__ = "Production"


[docs]def calc_floorheating(Qh, tm, Qh0, tsh0, trh0, Af): """ Calculates the operating conditions of the TABS system based on existing radiator model, replacing the radiator equation with the simple calculation for TABS from SIA 2044, which in turn is based on Koschenz & Lehmann "Thermoaktive Bauteilsysteme (TABS)". :param Qh: heating demand :param tm: Temperature of the thermal mass :param Qh0: nominal heating power of the heating system :param tsh0: nominal supply temperature to the TABS system :param trh0: nominal return temperature from the TABS system :param Af: heated area :return: - ``tsh``, supply temperature to the TABS system - ``trh``, return temperature from the TABS system - ``mCw``, flow rate in the TABS system """ if Qh > 0: tsh0 = tsh0 + 273 trh0 = trh0 + 273 tm = tm + 273 mCw0 = Qh0 / (tsh0 - trh0) # minimum k1 = 1 / mCw0 R_tabs = 0.08 # m2-K/W from SIA 2044 A_tabs = 0.8 * Af # m2 H_tabs = A_tabs / R_tabs def fh(x): Eq = mCw0 * k2 - (x+k2-tm) * H_tabs return Eq k2 = Qh * k1 result = scipy.optimize.newton(fh, trh0, maxiter=1000, tol=0.1) - 273 trh = result.real tsh = trh + k2 mCw = Qh / (tsh - trh) else: mCw = 0 tsh = 0 trh = 0 return tsh, trh, mCw # C,C, W/C