modelPartialHeatGenerator
Partial model for heat generators
Extends from AixLib.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models).
Information
Partial model to implement heat generator models with one heat exchanger volume.
Classes that extend this model need to implement the controller which shoud also calculate the heat flow to the heat exchanger volume.
The volume of the heat exchanger as well as the pressure loss coefficient should be set for each heat generator separately.
-
December 08, 2016 by Moritz Lauster:
Adapted to AixLib conventions - October 11, 2016 by Pooyan Jahangiri:
First implementation.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| 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 | |
| Modelica.Units.SI.PressureDifference | dp_nominal | a*(m_flow_nominal/rho_default)^n | Pressure drop at 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 |
| Advanced › Sensor Properties | |||
| Modelica.Units.SI.Time | tau | 1 | Time constant of the temperature sensors at nominal flow rate |
| Modelica.Blocks.Types.Init | initType | Modelica.Blocks.Types.Init.InitialState | Type of initialization (InitialState and InitialOutput are identical) |
| Boolean | transferHeat | false | If true, temperature T converges towards TAmb when no flow |
| Modelica.Units.SI.Temperature | TAmb | Medium.T_default | Fixed ambient temperature for heat transfer |
| Modelica.Units.SI.Time | tauHeaTra | 1200 | Time constant for heat transfer, default 20 minutes |
| Initialization | |||
| Modelica.Units.SI.Temperature | T_start | Medium.T_default | Initial or guess value of output (= state) |
| Modelica.Units.SI.AbsolutePressure | dp_start | 0 | Guess value of dp = port_a.p - port_b.p |
| Modelica.Units.SI.MassFlowRate | m_flow_start | 0 | Guess value of m_flow = port_a.m_flow |
| Modelica.Units.SI.AbsolutePressure | p_start | Medium.p_default | Start value of pressure |
| Advanced › Pressure drop | |||
| Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
| Boolean | linearized | false | = true, use linear relation between m_flow and dp for any flow rate |
| Real | deltaM | 0.3 | Fraction of nominal mass flow rate where transition to turbulent occurs |
| Real | a | Coefficient of volume flow rate dependent nominal pressure drop, dp_nominal=a*V_flow_nominal^n. | |
| Real | n | 2 | Exponent of volume flow rate dependent nominal pressure drop, dp_nominal=a*V_flow_nominal^n. |
| Modelica.Units.SI.Density | rho_default | Medium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default) | Density used for parameterization of pressure curve |
| Dynamics | |||
| Modelica.Fluid.Types.Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamics.DynamicFreeInitial | Type of energy 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) |
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 |
| AixLib.Fluid.Sensors.TemperatureTwoPort | senTRet | Temperature sensor of cold side of heat generator (return) | |
| AixLib.Fluid.Sensors.TemperatureTwoPort | senTSup | Temperature sensor of hot side of heat generator (supply) | |
| AixLib.Fluid.Sensors.MassFlowRate | senMasFlo | Sensor for mass flwo rate | |
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | heater | Prescribed heat flow | |
| AixLib.Fluid.MixingVolumes.MixingVolume | vol | Fluid volume | |
| AixLib.Fluid.FixedResistances.PressureDrop | preDro | Pressure drop |