modelVarTSupplyDpFixedTempDifferenceBypass
Substation with variable supply temperature and fixed dT
Extends from AixLib.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).
Information
A simple substation model using a fixed temperature difference and the actual supply temperature to calculate the mass flow rate drawn from the network. This model uses an open loop design to prescribe the required flow rate.
- Novemver 22, 2019, by Nils Neuland:
Revised variable names and documentation to follow guidelines. - October 23, 2018, by Tobias Blacha:
First implementation.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.HeatFlowRate | Q_flow_nominal | Nominal heat flow rate added to medium | |
| Modelica.Units.SI.TemperatureDifference | dTDesign | Constant temperature difference for the substation's heat exchanger | |
| Modelica.Units.SI.MassFlowRate | m_flo_bypass | Minimum bypass flow through substation | |
| Assumptions | |||
| Boolean | allowFlowReversal (from PartialTwoPort) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Nominal condition | |||
| Modelica.Units.SI.MassFlowRate | m_flow_nominal (from PartialTwoPortInterface) | Nominal mass flow rate | |
| Advanced | |||
| Modelica.Units.SI.MassFlowRate | m_flow_small (from PartialTwoPortInterface) | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_T (from PartialTwoPortInterface) | false | = true, if actual temperature at port is computed |
| Design parameter | |||
| Modelica.Units.SI.Pressure | dp_nominal | 30000 | Pressure difference at nominal flow rate |
| Flow resistance | |||
| Real | deltaM | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
| Dynamics | |||
| Modelica.Units.SI.Time | tau | 30 | Time constant at nominal flow (if energyDynamics <> SteadyState) |
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.SteadyState | Type of energy balance: dynamic (3 initialization options) or steady state |
| Modelica.Fluid.Types.Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialTwoPort) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPort_b | port_b (from PartialTwoPort) | Fluid connector b (positive design flow direction is from port_a to port_b) | |
| Modelica.Blocks.Interfaces.RealInput | Q_flow_input | Prescribed heat flow | |
| Modelica.Blocks.Interfaces.RealOutput | dpOut | Output signal of pressure difference |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Units.SI.MassFlowRate | m_flow (from PartialTwoPortInterface) | port_a.m_flow | Mass flow rate from port_a to port_b (m_flow > 0 is design flow direction) |
| Modelica.Units.SI.PressureDifference | dp (from PartialTwoPortInterface) | port_a.p - port_b.p | Pressure difference between port_a and port_b |
| Medium.ThermodynamicState | sta_a (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_a.p, noEvent(actualStream(port_a.h_outflow)), noEvent(actualStream(port_a.Xi_outflow))) else Medium.setState_phX(port_a.p, noEvent(inStream(port_a.h_outflow)), noEvent(inStream(port_a.Xi_outflow))) | Medium properties in port_a |
| Medium.ThermodynamicState | sta_b (from PartialTwoPortInterface) | if allowFlowReversal then Medium.setState_phX(port_b.p, noEvent(actualStream(port_b.h_outflow)), noEvent(actualStream(port_b.Xi_outflow))) else Medium.setState_phX(port_b.p, noEvent(port_b.h_outflow), noEvent(port_b.Xi_outflow)) | Medium properties in port_b |
| Sensors.TemperatureTwoPort | senT_supply | Supply flow temperature sensor | |
| Sensors.TemperatureTwoPort | senT_return | Return flow temperature sensor | |
| Modelica.Blocks.Math.Gain | gain | ||
| Modelica.Blocks.Math.Division | hea2MasFlo | ||
| Sources.MassFlowSource_T | sink | Sink extracting prescribed flow from the network | |
| Modelica.Blocks.Math.Gain | changeSign | Changes sign of prescribed flow for extraction from network | |
| Sources.MassFlowSource_T | source | Source sending prescribed flow back to the network | |
| Modelica.Blocks.Sources.Constant | deltaT | Fixed temperature difference between supply and return | |
| Modelica.Blocks.Math.Add | temRet | ||
| Utilities.Math.SmoothMax | smoothMax | ||
| Modelica.Blocks.Sources.RealExpression | m_flo_min | ||
| Utilities.Logical.SmoothSwitch | switch1 | ||
| Modelica.Blocks.Logical.LessEqualThreshold | lessEqualThreshold | ||
| MixingVolumes.MixingVolume | vol |