CONTINUOUS_MODEL HCSimCtr ABSTRACT " SIMplified air-to-liq Heating Coil w liquid massflow ConTRol. Coil is characterized by an effectiveness parameter (etaAir) and for the wet side a given temperature drop dTLiq. A temperature setpoint signal selects leaving air dry bulb, within the control band. Leaving coolant temperature, in normal operation, is TLiqIn + dTLiq. Liquid massflow is selected to supply required heat if available pressure head exceeds a parameter dp0. Date: March 19, 1997 Made by: Mika Vuolle Revisions: 980506 MV eta < 0.001 to set coil off 980503 PS Default dp0 set to 200 Pa 980316 PS Default etaAir changed to 1.0 980226 MV Enthalpy function is used in air part. 971108 AB MLiq limited by mmin 971107 AB Offset 0.01 on TSet 971030 AB Bug in Sat := fixed 971029 MV. Change model similar as Axel's cooling coil model. 970510 PS. Change in control strategy for dealing with low liquid temperatures. Improved independence of initial states. Call: Enthalp from Psychro1.nmf " EQUATIONS TLiqOut = IF NINT(On) == 0 THEN TLiqIn - 1E-4 ELSE_IF NINT(Sat) == 0 THEN TLiqIn - dTLiq ELSE TAirIn END_IF; /* Maximum leaving air temperature */ TMax := TAirIn + etaAir * (TLiqIn - TAirIn); TAirOut = IF NINT(On) == 0 THEN /* coil is off*/ TAirIn ELSE_IF NINT(Cap) == 1 THEN /* coil is running at full capacity */ TMax ELSE /* modulated region, requested temperature is met */ TSet - 0.01 END_IF; Dp := PLiqIn - PLiqOut; dTLiqAct := IF TLiqIn - TLiqOut > 1e-4 THEN TLiqIn - TLiqOut ELSE 1e-4 END_IF; MLiqBal := MAir * (Enthal(TAirOut,WAir) - Enthal(TAirIn,WAir)) / (cpLiq * dtLiqAct); MLiq = IF NINT(On) == 0 OR MLiqBal < mmin OR Min(Dp - Dp0, TLiqIn - TAirIn, TSet-0.01 - TAirIn) <= 0 THEN mmin ELSE MLiqBal END_IF; /* calculate mode of operation for next step */ /* no dp , no heat, no need */ On := IF etaAir < 0.001 THEN 0 ELSE_IF Event(G0, Min(Dp - Dp0, TLiqIn - TAirIn, TSet-0.01 - TAirIn)) <= 0 THEN 0 /* off*/ ELSE 1 END_IF; Cap :=IF Eventn(G1, TMax-TSet+0.01) < 0 THEN 1 /* full capacity*/ ELSE 0 END_IF; Sat:= IF Event(G2, TLiqIn - dTLiq - (TAirIn+1e-4)) < 0 THEN 1 /* saturated */ ELSE 0 END_IF; LINKS /* type name variables .... */ UniAir AirFlowIn PAir, POS_IN MAir, TAirIn, XAir, WAir; UniAir AirFlowOut PAir, POS_OUT MAir, TAirOut, XAir, WAir; PMT LiqFlowIn PLiqIn, POS_IN MLiq, TLiqIn; PMT LiqFlowOut PLiqOut, POS_OUT MLiq, TLiqOut; T TempSetpoint TSet; /*leaving air dry bulb temperature setpoint*/ VARIABLES /* type name role def min max description*/ Pressure PAir IN 1325 -BIG BIG "Pressure of entering and leaving air" Pressure PLiqIn IN 1000 SMALL BIG "Pressure of entering liquid" Pressure PLiqOut IN 900 SMALL BIG "Pressure of leaving liquid" MassFlow MAir IN 0.36 0 BIG "Dry air massflow rate" MassFlow MLiq OUT 0.0001 0 BIG "Liquid massflow rate" MassFlow MLiqBal LOC 0.06 0 BIG "Liquid massflow rate" Temp TAirIn IN 20 ABS_ZERO BIG "Temp of entering air" Temp TAirOut OUT 25 ABS_ZERO BIG "Temp of leaving air" Temp TLiqIn IN 30 ABS_ZERO BIG "Temp of entering liquid" Temp TLiqOut OUT 29 ABS_ZERO BIG "Temp of leaving liquid" Temp TSet IN 20 ABS_ZERO BIG "Leaving air dry bulb temp. setpoint" Temp TMax LOC 25 ABS_ZERO BIG "Minimum achievable leaving drybulb" Temp dTLiqAct LOC 5 SMALL BIG "Liq side actual temp rise" HumRatio WAir IN 0.007 0 1 "Humidity ratio of entering air" Fraction_y XAir IN 594 0 BIG "Pollutant fraction" Pressure dP LOC 100 SMALL BIG "Pressure difference of water stream" GENERIC On A_S 1 0 1 "On/Off mode" GENERIC Cap A_S 0 0 1 "Cap/Modulated mode" GENERIC Sat A_S 1 0 1 "Saturated/normal mode" GENERIC G0 A_S -1 "G-stop On" GENERIC G1 A_S 1 "G-stop Cap" GENERIC G2 A_S 1 "G-stop Cap" PARAMETERS /* type name role def min max description */ HeatCapM cpLiq S_P 4187 SMALL BIG "Liquid specific heat" MassFlow mmin S_P 1e-4 SMALL BIG "Liquid mass flow when coil is off" Pressure dP0 S_P 200 SMALL BIG "Water Dp limit for coil operation" Factor etaAir S_P 1.0 0 1 "Air side effectiveness at capacity" Temp dTLiq S_P 20 SMALL BIG "Liq side temperature drop" END_MODEL