modelModularExpansionValves
Model of modular expansion valves, i.g. each valves is in front
of an evaporator
Extends from BaseClasses.PartialModularExpansionVavles (Base model for all modular expansion valve models).
Information
This is a model of modular expansion valves that are used, for
example, in close-loop systems like heat pumps or chillers.
It consists of nVal expansion valves in parallel and
also nVal PID conrollers if no external controller is
used.
Modeling approaches
This base model mainly consists of two sub-models. Therefore, please checkout these sub-models for further information of underlying modeling approaches and parameterisation:
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| General › Modular approach | |||
| Integer | nVal (from PartialModularExpansionVavles) | 1 | Number of valves - each valve will be connected to an individual port_b |
| Expansion valves › Geometry | |||
| Modelica.Units.SI.Area[nVal] | AVal (from PartialModularExpansionVavles) | fill(2e-6, nVal) | Cross-sectional areas of the valves when they are fully opened |
| Modelica.Units.SI.Diameter[nVal] | dInlPip (from PartialModularExpansionVavles) | fill(7.5e-3, nVal) | Diameters of the pipes at valves' inlets |
| Expansion valves › Transient behaviour | |||
| Boolean[nVal] | useInpFil (from PartialModularExpansionVavles) | fill(false, nVal) | = true, if transient behaviours of valves opening or closing are computed |
| Modelica.Units.SI.Time[nVal] | risTim (from PartialModularExpansionVavles) | fill(0.5, nVal) | Time until valves opening reach 99.6 % of the set values |
| Expansion valves › Flow Coefficient | |||
| Utilities.Types.CalcProc[nVal] | calcProc (from PartialModularExpansionVavles) | fill(Utilities.Types.CalcProc.flowCoefficient, nVal) | Chose predefined calculation method for flow coefficients |
| Modelica.Units.SI.MassFlowRate[nVal] | mFlowNom (from PartialModularExpansionVavles) | {m_flow_nominal/sum(AVal)*AVal[i] for i in 1:nVal} | Mass flow at nominal conditions |
| Modelica.Units.SI.PressureDifference[nVal] | dpNom (from PartialModularExpansionVavles) | fill(dp_nominal, nVal) | Pressure drop at nominal conditions |
| Controller › Base setup | |||
| Boolean | useExt (from PartialModularExpansionVavles) | false | = true, if external signal is used instead of internal controllers |
| Modelica.Blocks.Types.SimpleController[nVal] | controllerType (from PartialModularExpansionVavles) | fill(Modelica.Blocks.Types.SimpleController.PID, nVal) | Type of controller |
| Boolean[nVal] | reverseAction (from PartialModularExpansionVavles) | fill(false, nVal) | = true, if medium flow rate is throttled through cooling coil controller |
| AixLib.Types.Reset[nVal] | reset (from PartialModularExpansionVavles) | fill(AixLib.Types.Reset.Disabled, nVal) | Type of controller output reset |
| Controller › PID setup | |||
| Real[nVal] | k (from PartialModularExpansionVavles) | fill(1, nVal) | Gain of controller |
| Modelica.Units.SI.Time[nVal] | Ti (from PartialModularExpansionVavles) | fill(0.5, nVal) | Time constant of integrator block |
| Real[nVal] | Ni (from PartialModularExpansionVavles) | fill(0.9, nVal) | Ni*Ti is time constant of anti-windup compensation |
| Modelica.Units.SI.Time[nVal] | Td (from PartialModularExpansionVavles) | fill(0.1, nVal) | Time constant of derivative block |
| Real[nVal] | Nd (from PartialModularExpansionVavles) | fill(10, nVal) | The higher Nd, the more ideal the derivative block |
| Controller › Weighting and limits | |||
| Real[nVal] | wp (from PartialModularExpansionVavles) | fill(1, nVal) | Set-point weight for Proportional block (0..1) |
| Real[nVal] | wd (from PartialModularExpansionVavles) | fill(0, nVal) | Set-point weight for Derivative block (0..1) |
| Real[nVal] | yMax (from PartialModularExpansionVavles) | fill(1, nVal) | Upper limit of output |
| Real[nVal] | yMin (from PartialModularExpansionVavles) | fill(0, nVal) | Lower limit of output |
| Advanced › Initialisation Controller | |||
| Modelica.Blocks.Types.Init[nVal] | initType (from PartialModularExpansionVavles) | fill(Modelica.Blocks.Types.Init.InitialState, nVal) | Init: (1: no init, 2: steady state, 3: initial state, 4: initial output) |
| Real[nVal] | xi_start (from PartialModularExpansionVavles) | fill(0, nVal) | Initial or guess value value for integrator output (= integrator state) |
| Real[nVal] | xd_start (from PartialModularExpansionVavles) | fill(0, nVal) | Initial or guess value for state of derivative block |
| Real[nVal] | y_start (from PartialModularExpansionVavles) | fill(0, nVal) | Initial value of output |
| Modular approach | |||
| Integer | nPorts (from PartialModularPort_b) | 1 | Number of outlet ports |
| Assumptions › General | |||
| Boolean | allowFlowReversal (from PartialModularPort_b) | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
| Advanced › Initialisation medium | |||
| Modelica.Units.SI.PressureDifference | dp_start (from PartialModularPort_b) | 1e5 | Guess value of pressure difference for subcomponents |
| Medium.MassFlowRate | m_flow_start (from PartialModularPort_b) | 0.5*m_flow_nominal | Guess value of m_flow = port_a.m_flow |
| Advanced › Numeric limitations | |||
| Modelica.Units.SI.PressureDifference | dp_nominal (from PartialModularPort_b) | 7.5e5 | Pressure drop at nominal conditions |
| Medium.MassFlowRate | m_flow_nominal (from PartialModularPort_b) | 0.1 | Nominal mass flow rate |
| Medium.MassFlowRate | m_flow_small (from PartialModularPort_b) | 1e-6*m_flow_nominal | Small mass flow rate for regularization of zero flow |
| Advanced › Diagnostics | |||
| Boolean | show_parVal (from PartialModularExpansionVavles) | false | = true, if expansions valves' input parameters are shown in results |
| Boolean | show_parCon (from PartialModularExpansionVavles) | false | = true, if controller's input parameters are shown in results |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Fluid.Interfaces.FluidPort_a | port_a (from PartialModularPort_b) | Fluid connector a (positive design flow direction is from port_a to port_b) | |
| Modelica.Fluid.Interfaces.FluidPorts_b[nPorts] | ports_b (from PartialModularPort_b) | Fluid connectors b (positive design flow direction is from port_a to port_b) | |
| Controls.Interfaces.ModularHeatPumpControlBus | dataBus (from PartialModularExpansionVavles) | Data bus connector |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SimpleExpansionValve[nVal] | modExpVal (from PartialModularExpansionVavles) | Array of expansion valves | |
| ModularController | expValCon (from PartialModularExpansionVavles) | Model of internal controller |
Revisions
- October 17, 2017, by Mirko Engelpracht, Christian Vering:
First implementation (see issue 457).