CONTINUOUS_MODEL TD ABSTRACT "Ventilated hollow core = TermoDeck Treat the layer containing the ducts as a boundary layer between two homogeneous layers. The slab is assumed to have the same temperature all along the air path. The air temperature approaches this temperature exponentially as a parcel travels along the path. For a small area segment dArea we get: dTAir * M * cp = - h * dArea * (TAir - TSlab) TDiff = TAir - TSlab dTDiff h * dArea ------ = - --------- TDiff M * cp The temperature as function of path length becomes: TDiff(x) = c * exp (- h * Area(x) / (M * cp)) Area = 0 at TDiff = TIn - TSlab gives: c = TIn - TSlab " /* History: */ EQUATIONS /* Get cp of humid air */ Cp := (1 - Hum) * CP_AIR + Hum * CP_VAP; /* Calculate leaving air temp */ FOR i=1, n TOutLoc[i] := TSlab[i] + (TIn - TSlab[i]) * IF /*On*/ctrl[i] > 0 THEN /* IF fraction[i]*M > 1E-6 THEN */ IF AirFract[i]*M > AlphaA[i] / (16.0 * Cp) THEN exp (- AlphaA[i] / (AirFract[i]*M * Cp)) ELSE /* 0 */ exp(-16.0) END_IF ; ELSE 1 END_IF ; END_FOR; /* Heat balance */ /* Q := SUM i=1,nreal Q_tq[i] END_SUM; */ /* Heat transfer to air stream */ FOR i=1, n Q_tq[i] = AirFract[i]*ctrl[i]*M * Cp * (TOutLoc[i] - TIn); END_FOR; /* Mean out temperature */ /* Q = M * Cp * (TOut - TIn); */ Tout = SUM i=1,nreal AirFract[i] * TOutLoc[i] END_SUM + (1-fract_tot) * TIn; /* Code for hardware lock */ /* CALL VALRES(); */ /* Calculate mode of operation for next step */ /* FOR i=1, n */ /* On[i] := event(G1,ctrl[i]-0.5) + 0.5; */ /* On[i] := ctrl[i]; END_FOR; */ LINKS /* type name variables */ FOR i=1, n TQ Term[i] Tslab[i], POS_IN Q_tq[i] END_FOR; FOR i=1, n ControlLink Control[i] ctrl[i]; END_FOR; UniAir Inlet P, POS_IN M, TIn, X, Hum ; UniAir Outlet P, POS_OUT M, TOut, X, Hum ; VARIABLES /* type name role def min max description */ Temp TSlab[n] IN 21 ABS_ZERO BIG "Temp of slab surface" Temp TIn IN 18 ABS_ZERO BIG "Inlet air temp" Temp TOut OUT 21 ABS_ZERO BIG "Mean Outlet air temp" Temp TOutLoc[n] LOC 21 ABS_ZERO BIG "Outlet air temp" /* HeatFlux Q LOC 20 -BIG BIG "Flux to air from slab" */ HeatFlux Q_tq[n] OUT 1 -BIG BIG "Heat flux each _tq" Massflow M IN 0.024 0 BIG "Air massflow through duct" Pressure P IN 1375 -BIG BIG "pressure in duct" Fraction_y X IN 594 0 BIG "pollutant fraction" HumRatio Hum IN 0.006 SMALL BIG "moisture fraction" Control ctrl[n] IN 1 0 1 "control signal1 if TD on, 0 if TD off" HeatCapM Cp LOC 1017 1006 BIG "Cp of humid air" /* Factor G1 A_S 1 0 1 "old value of event function" Factor On[n] A_S 1 0 1 "1 if TD on, 0 if TD off" */ MODEL_PARAMETERS /* type name role def min max description */ INT n SMP 1 1 BIGINT "Number of thermodecks (incl. 'boundary')" INT nReal SMP 1 1 BIGINT "Number of 'real' thermodecks" PARAMETERS /* type name role def min max description */ HeatCond AlphaA[n] S_P 50 SMALL BIG "total transfer coeff" /* Factor fraction[n] S_P 50 SMALL BIG "fraction massflow" */ Factor AirFract[n] S_P 1 SMALL 1 "Device's part of air flow" Factor fract_tot C_P 1 SMALL 1 "fraction massflow" PARAMETER_PROCESSING fract_tot := SUM i=1,nreal AirFract[i] END_SUM; END_MODEL