modelAdsolair58HeaCoi
Adsolair 58 with additional heating coil model
Extends from IDEAS.Airflow.AHU.Adsolair58 (Menerga Adsolair type 58 air handling unit).
Information
Example model of Menerga type 58 air handling unit with
additional heating coil and corresponding controller model.
It demonstrates how the original model can easily
be extended to support additional functionality
and a new controller.
The yHea output should be connected to an external valve
that controls the secondary mass flow rate of the heating coil.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| IDEAS.Airflow.AHU.BaseClasses.Adsolair14200 | per (from Adsolair58) | ||
| Boolean | use_onOffSignal (from Adsolair58) | true | Set to true to switch device on/off using external signal |
| Boolean | onOff (from Adsolair58) | true | Set to true if device is on |
| Modelica.Units.SI.Pressure | dp_fouling_top (from Adsolair58) | 0 | Nominal pressure drop in top channel due to filter fouling |
| Modelica.Units.SI.Pressure | dp_fouling_bot (from Adsolair58) | 0 | Nominal pressure drop in bottom channel due to filter fouling |
| Dynamics › Conservation equations | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics (from LumpedVolumeDeclarations) | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | substanceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of independent mass fraction balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | traceDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of trace substance balance: dynamic (3 initialization options) or steady state |
| Advanced › Dynamics | |||
| Modelica.Fluid.Types.Dynamics | massDynamics (from LumpedVolumeDeclarations) | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
| Initialization | |||
| Medium.AbsolutePressure | p_start (from LumpedVolumeDeclarations) | Medium.p_default | Start value of pressure |
| Medium.Temperature | T_start (from LumpedVolumeDeclarations) | Medium.T_default | Start value of temperature |
| Medium.MassFraction[Medium.nX] | X_start (from LumpedVolumeDeclarations) | Medium.X_default | Start value of mass fractions m_i/m |
| Medium.ExtraProperty[Medium.nC] | C_start (from LumpedVolumeDeclarations) | fill(0, Medium.nC) | Start value of trace substances |
| Medium.ExtraProperty[Medium.nC] | C_nominal (from LumpedVolumeDeclarations) | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
| Dynamics | |||
| Real | mSenFac (from LumpedVolumeDeclarations) | 1 | Factor for scaling the sensible thermal mass of the volume |
| Assumptions | |||
| Boolean | allowFlowReversal1 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
| Boolean | allowFlowReversal2 (from PartialFourPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m1_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Modelica.Units.SI.MassFlowRate | m2_flow_nominal (from PartialFourPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Medium1.MassFlowRate | m1_flow_small (from PartialFourPortInterface) | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Medium2.MassFlowRate | m2_flow_small (from PartialFourPortInterface) | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Boolean | allowFlowReversal (from Adsolair58) | false | Flow reversal is not supported |
| Modelica.Units.SI.MassFlowRate | m_flow_small (from Adsolair58) | m1_flow_nominal/50 | Small mass flow rate for regularization of zero flow |
| Modelica.Units.SI.Time | tau (from Adsolair58) | 60 | Thermal time constant of evaporator, condensor and heat recovery unit at nominal flow rate |
| Real | alpha (from Adsolair58) | 0.5 | Pressure recovery factor for fixed pressure drop in bottom bypass channel |
| Real | k1 (from Adsolair58) | 0.45 | Flow coefficient for y=1, k1 = pressure drop divided by dynamic pressure |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialFourPortInterface) | false | = true, if actual temperature at port is computed |
Connectors
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Medium1.MassFlowRate | m1_flow (from PartialFourPortInterface) | port_a1.m_flow | Mass flow rate from port_a1 to port_b1 (m1_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp1 (from PartialFourPortInterface) | port_a1.p - port_b1.p | Pressure difference between port_a1 and port_b1 |
| Medium2.MassFlowRate | m2_flow (from PartialFourPortInterface) | port_a2.m_flow | Mass flow rate from port_a2 to port_b2 (m2_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp2 (from PartialFourPortInterface) | port_a2.p - port_b2.p | Pressure difference between port_a2 and port_b2 |
| Medium1.ThermodynamicState | sta_a1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_a1.p, noEvent(actualStream(port_a1.h_outflow)), noEvent(actualStream(port_a1.Xi_outflow))) else Medium1.setState_phX(port_a1.p, inStream(port_a1.h_outflow), inStream(port_a1.Xi_outflow)) | Medium properties in port_a1 |
| Medium1.ThermodynamicState | sta_b1 (from PartialFourPortInterface) | if allowFlowReversal1 then Medium1.setState_phX(port_b1.p, noEvent(actualStream(port_b1.h_outflow)), noEvent(actualStream(port_b1.Xi_outflow))) else Medium1.setState_phX(port_b1.p, port_b1.h_outflow, port_b1.Xi_outflow) | Medium properties in port_b1 |
| Medium2.ThermodynamicState | sta_a2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_a2.p, noEvent(actualStream(port_a2.h_outflow)), noEvent(actualStream(port_a2.Xi_outflow))) else Medium2.setState_phX(port_a2.p, inStream(port_a2.h_outflow), inStream(port_a2.Xi_outflow)) | Medium properties in port_a2 |
| Medium2.ThermodynamicState | sta_b2 (from PartialFourPortInterface) | if allowFlowReversal2 then Medium2.setState_phX(port_b2.p, noEvent(actualStream(port_b2.h_outflow)), noEvent(actualStream(port_b2.Xi_outflow))) else Medium2.setState_phX(port_b2.p, port_b2.h_outflow, port_b2.Xi_outflow) | Medium properties in port_b2 |
| Modelica.Units.SI.Energy | E (from Adsolair58) | IEH.E + eva.U + con.U | |
| Real | BPF (from Adsolair58) | min(1, max(0, IDEAS.Utilities.Math.Functions.spliceFunction(x = abs(IEH.TOutBot - eva.heatPort.T) - 0.2, pos = (eva.heatPort.T - com.Teva)*IDEAS.Utilities.Math.Functions.inverseXRegularized(x = IEH.TOutBot - com.Teva, delta = 0.1), neg = 1, deltax = 0.1))) | Fraction of air that is bypassed in the evaporator |
| Real | X_sat_evap (from Adsolair58) | IDEAS.Utilities.Psychrometrics.Functions.X_pSatpphi(pSat = IDEAS.Media.Air.saturationPressure(com.Teva), p = eva.ports[1].p, phi = 1) | Water fraction at saturation in evaporator at refrigerant temperature |
| Real | x_out (from Adsolair58) | BPF*IEH.port_b2.Xi_outflow[1] + (1 - BPF)*min(X_sat_evap, IEH.port_b2.Xi_outflow[1]) | Outlet water mass fraction based on BPF |
| Modelica.Units.SI.MassFlowRate | m_condens (from Adsolair58) | IEH.port_a2.m_flow*(IEH.port_b2.Xi_outflow[1] - x_out) | Water condensation mass flow rate in the evaporator. |
| IDEAS.Airflow.AHU.BaseClasses.AdsolairController | adsCon (from Adsolair58) | ||
| DummyExchanger | hexSupOut (from Adsolair58) | ||
| IDEAS.Airflow.AHU.BaseClasses.SimpleCompressorTable | com (from Adsolair58) | ||
| Modelica.Blocks.Sources.BooleanExpression | onExp (from Adsolair58) | AHU control signal | |
| Modelica.Blocks.Sources.RealExpression | TEvaExp (from Adsolair58) | Evaporator outlet temperature | |
| IDEAS.Fluid.HeatExchangers.IndirectEvaporativeHex | IEH (from Adsolair58) | Indirect evaporative heat exchanger | |
| IDEAS.Fluid.MixingVolumes.MixingVolume | con (from Adsolair58) | Simple condensor model for active chiller | |
| IDEAS.Fluid.Movers.FlowControlled_dp | fanTop (from Adsolair58) | Top fan | |
| IDEAS.Fluid.MixingVolumes.MixingVolumeMoistAir | eva (from Adsolair58) | Simple evaporator model for active chiller | |
| IDEAS.Fluid.Movers.FlowControlled_dp | fanBot (from Adsolair58) | Bottom fan | |
| Modelica.Blocks.Math.Sum | sum (from Adsolair58) | Total electrical power consumption | |
| IDEAS.Fluid.Sensors.TemperatureTwoPort | TSupIn (from Adsolair58) | Supply inlet air temperature | |
| Modelica.Blocks.Sources.RealExpression | m_condens_exp (from Adsolair58) | Real expression for setting water condensation mass flow rate | |
| Modelica.Thermal.HeatTransfer.Components.ThermalConductor | conCon (from Adsolair58) | Conductor describing the temperature drop in the condensor | |
| Modelica.Blocks.Sources.RealExpression[2] | fan_flow_set (from Adsolair58) | Fan flow set points | |
| Modelica.Thermal.HeatTransfer.Sources.FixedTemperature | fixedTemperature (from Adsolair58) | ||
| IDEAS.Fluid.FixedResistances.PressureDrop | resTop (from Adsolair58) | Top pressure drop component | |
| IDEAS.Fluid.FixedResistances.PressureDrop | resBot (from Adsolair58) | Bottom pressure drop component | |
| TwoWayEqualPercentageAdd | valBypassBottom (from Adsolair58) | ||
| TwoWayEqualPercentageAdd | valRecupBot (from Adsolair58) | ||
| TwoWayEqualPercentageAdd | valBypassTop (from Adsolair58) | ||
| TwoWayEqualPercentageAdd | valRecupTop (from Adsolair58) | ||
| IDEAS.Fluid.Sensors.TemperatureTwoPort | senTemFanSupOut (from Adsolair58) | Inlet temperature of the heater | |
| Modelica.Blocks.Sources.RealExpression | PPum (from Adsolair58) | Electrical power consumption of circulation pump | |
| Modelica.Blocks.Sources.BooleanConstant | booleanConstant (from Adsolair58) | Only valRecupTop has conditional Kv value | |
| Modelica.Blocks.Sources.RealExpression | PUnit (from Adsolair58) | Remaing electrical power consumption from unit | |
| Modelica.Blocks.Sources.RealExpression | THeaExp | Heater outlet temperature |
Contents
| Name | Description |
|---|---|