CONTINUOUS_MODEL BDDamp ABSTRACT " BiDirectional damper. Linear flow below limit 'dp0', and if LIN." EQUATIONS C_turb := (1-Pos)*CClose + Pos*COpen; C_lin := c_turb / sqrt (dp0) ; /*driving pressure difference*/ Rho1 := rhomois(T1,Hum1); Rho2 := rhomois(T2,Hum2); DpDamp := P1 - Rho1*G*zr1 - (P2 - Rho2*G*zr2); /* DpDamp:= P1-P2; */ /* powerlaw massflow equation */ M = IF LINEARIZE (1) THEN c_turb * DpDamp ELSE_IF ABS(DpDamp) < dp0 THEN c_lin * DpDamp ELSE_IF DpDamp < 0 THEN -c_turb * SQRT(-DpDamp) ELSE c_turb * SQRT(DpDamp) END_IF BAD_INVERSES (); /* Heat Flux */ Q = IF M > 0 THEN M*Enthal(T1,Hum1) ELSE M*Enthal(T2,Hum2) END_IF; /* Hum Flow */ Humf = IF M > 0 THEN M*Hum1 ELSE M*Hum2 END_IF; /* Fraction flow */ Xf = IF M > 0 THEN M*X1 ELSE M*X2 END_IF; LINKS /* type name variables... */ BiDirAir Terminal_1 P1, POS_IN M, T1, POS_IN Q, X1, POS_IN Xf, Hum1, POS_IN Humf; BiDirAir Terminal_2 P2, POS_OUT M, T2, POS_OUT Q, X2, POS_OUT Xf, Hum2, POS_OUT Humf; ControlLink control_in Pos; /* - - CO2 */ X_y ReadCO2 X1; VARIABLES /* type name role def min max description */ massflow M OUT 0. -BIG BIG "massflow through leak" pressure P1 IN 1325. SMALL BIG "terminal 1 pressure" pressure P2 IN 1324. SMALL BIG "terminal 2 pressure" temp T1 IN 15. ABS_ZERO BIG "temperature 1" temp T2 IN 15. ABS_ZERO BIG "temperature 2" HeatFlux Q OUT " " fraction_y X1 IN 594 0 BIG "pollutant fraction" fraction_y X2 IN 594 0 BIG "pollutant fraction" FractFlow_y Xf OUT 0 -BIG BIG "fraction moved from zone to system" HumRatio Hum1 IN .005 0 1 "hum. of neighbor 1" HumRatio Hum2 IN .005 0 1 "hum. of neighbor 2" HumFlow Humf OUT 0 -BIG BIG "hum. moved by massflow" pressure DpDamp LOC "eff pressure diff" Density Rho1 LOC 1.2 .5 3 "density of neighb.1 air" Density Rho2 LOC 1.2 .5 3 "density of neighb.2 air" Control POS IN 0.5 "0 = close 1 = open " generic c_lin LOC "laminar coefficient" generic c_turb LOC "power law coefficient" PARAMETERS /* type name role def min max description */ Factor CClose S_P .1 SMALL BIG " " Factor COpen S_P 10 SMALL BIG " " Pressure dp0 S_P .1 SMALL BIG "limit for linear flow" length zr1 S_P 0 0 BIG "leak height from floor of neighb. 1" length za1 S_P "absolute floor level of neighb. 1" length za2 S_P "absolute floor level of neighb. 2" length zr2 C_P "leak height fr floor of neighb 2" PARAMETER_PROCESSING zr2 := za1 + zr1 - za2 ; END_MODEL