modelPartialExpansionValve

Base model for all expansion valve models

Extends from AixLib.Fluid.Interfaces.PartialTwoPortTransport (Partial element transporting fluid between two ports without storage of mass or energy).

Information

This is a base model for simple expansion valves that are used, for example, in close-loop systems like heat pumps or chillers.

Equations needed for completion

Three equations need to be added by an extending class using this component:

  • The momentum balance specifying the relationship between the pressure drop dp and the mass flow rate m_flow. Therefore, different modeling approaches are suggested that can be easily expanded.
  • port_b.h_outflow for flow in design direction.
  • port_a.h_outflow for flow in reverse direction.

Moreover, appropriate values shall be assigned to the following parameters:

  • dp_start for a guess of the pressure drop
  • m_flow_small for regularization of zero flow.
  • dp_nominal for nominal pressure drop.
  • m_flow_nominal for nominal mass flow rate.

Modeling approaches

Actually, three different modelling approaches are suggested and saved as enumeration in AixLib.Fluid.Actuators.Valves.ExpansionValves.Utilities.Choices.CalcProc. In the following, these modeling approaches are characterised shortly:

"Modelling approaches" border="1" cellspacing="0" cellpadding="2" style="border-collapse:collapse;">
Approach Formula Comment
Linear ṁ = C Avalve dp Used for testing or initialisation
Nominal ṁ = ṁnominal / dpnominal Avalve dp Used mainly for initialisation
Flow coefficient ṁ = C Avalve sqrt(2 ρinlet dp) Chosen by default and follows from Bernoulli's law

For the third approach (i.e. flow coefficient), different calculation models are stored in AixLib.Fluid.Actuators.Valves.ExpansionValves.Utilities.Choices.FlowCoefficient. Therefore, the calculation procedure of the flow coefficient C is introduced as replaceable model and must by defined by the User.

Transient behaviour

The base model has a parameter useInpFil that is used to model the valve's transient behaviour while opening or closing. Generally, this approach uses the same modeling attempt as the stat-up and shut-down transients introtuced for flow machines (see AixLib.Fluid.Movers.UsersGuide). Therefore, just the parameter's affections are presented here:

  1. If useInpFil=false, then the input signal opeSet.y is equal to the valve's opening degree. Thus, a step change in the input signal causes a step change in the opening degree.
  2. If useInpFil=true, which is the default, then the opening degree is equal to the output of a filter. This filter is implemented as a 2nd order differential equation. Thus, a step change in the fan input signal will cause a gradual change in the opening degree. The filter has a parameter risTim, which by default is set to 1 second. The rise time is the time required to reach 99.6% of the full opening degree, or,if the ventil is closed, to reach a opening degree of 0.4%.

References

In the following, some general references are given for information about modelling expansion valves. The modelling approach presented here is alligned to the modelling approaches presented in the literature:

Li, W. (2013): Simplified modeling analysis ofmass flow characteristics in electronic expansion valve. In: Applied Thermal Engineering 53(1), S. 8–12

X. Cao, Z.-Y. Li, L.-L. Shao and C.-L. Zhang (2016): Refrigerant flow through electronic expansion valve: Experiment and neural network modeling. In: Applied Thermal Engineering 92, S. 210–218

Parameters

TypeNameDefaultDescription
Geometry
Modelica.Units.SI.AreaAVal2.5e-6Cross-sectional area of the valve when it is fully opened
Modelica.Units.SI.DiameterdInlPip7.5e-3Diameter of the pipe at valve's inlet
Transient behaviour
BooleanuseInpFiltrue= true, if transient behaviour of valve opening or closing is computed
Modelica.Units.SI.TimerisTim0.5Time until valve opening reaches 99.6 % of its set value
Flow Coefficient
Utilities.Types.CalcProccalcProcUtilities.Types.CalcProc.nominalChose predefined calculation method for flow coefficient
Flow Coefficient › Nominal calculation
Modelica.Units.SI.MassFlowRatemFlowNomm_flow_nominalMass flow at nominal conditions
Modelica.Units.SI.PressureDifferencedpNom15e5Pressure drop at nominal conditions
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)true= false to simplify equations, assuming, but not enforcing, no flow reversal
Advanced
Modelica.Units.SI.PressureDifferencedp_start (from PartialTwoPortTransport)0Guess value of dp = port_a.p - port_b.p
Medium.MassFlowRatem_flow_start (from PartialTwoPortTransport)0Guess value of m_flow = port_a.m_flow
Medium.MassFlowRatem_flow_small (from PartialTwoPortTransport)Small mass flow rate for regularization of zero flow
Medium.MassFlowRatem_flow_nominal0.1Nominal mass flow rate
Advanced › Diagnostics
Booleanshow_T (from PartialTwoPortTransport)true= true, if temperatures at port_a and port_b are computed
Booleanshow_V_flow (from PartialTwoPortTransport)true= true, if volume flow rate at inflowing port is computed
Booleanshow_flow_coefficienttrue= true, if flow coefficient model is computed
Booleanshow_staInltrue= true, if thermodynamic state at valve's inlet is computed
Booleanshow_staOutfalse= true, if thermodynamic state at valve's outlet is computed

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Blocks.Interfaces.RealInputmanVarValPrescribed expansion valve's opening
Modelica.Blocks.Interfaces.RealOutputcurManVarValCurrent expansion valve's opening

Components

TypeNameDefaultDescription
Medium.MassFlowRatem_flow (from PartialTwoPortTransport)Mass flow rate in design flow direction
Modelica.Units.SI.PressureDifferencedp (from PartialTwoPortTransport)Pressure difference between port_a and port_b (= port_a.p - port_b.p)
Modelica.Units.SI.VolumeFlowRateV_flow (from PartialTwoPortTransport)m_flow/Modelica.Fluid.Utilities.regStep(m_flow, Medium.density(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.density(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), m_flow_small)Volume flow rate at inflowing port (positive when flow from port_a to port_b)
Medium.Temperatureport_a_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_a.m_flow, Medium.temperature(Medium.setState_phX(p = port_a.p, h = inStream(port_a.h_outflow), X = inStream(port_a.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_a.p, port_a.h_outflow, port_a.Xi_outflow)), m_flow_small)Temperature close to port_a, if show_T = true
Medium.Temperatureport_b_T (from PartialTwoPortTransport)Modelica.Fluid.Utilities.regStep(port_b.m_flow, Medium.temperature(Medium.setState_phX(p = port_b.p, h = inStream(port_b.h_outflow), X = inStream(port_b.Xi_outflow))), Medium.temperature(Medium.setState_phX(port_b.p, port_b.h_outflow, port_b.Xi_outflow)), m_flow_small)Temperature close to port_b, if show_T = true
Medium.ThermodynamicStatestaInlThermodynamic state of the fluid at inlet condtions
Medium.ThermodynamicStatestaOutThermodynamic state of the fluid at outlet condtions
FlowCoefficientflowCoefficientInstance of model 'flow coefficient'
RealCFlow coefficient used to calculate mass flow and pressure drop
Modelica.Blocks.Continuous.FilterfilterOpeningSecond order filter to approximate valve opening or closing time
Modelica.Blocks.Routing.RealPassThroughopeningThroughDummy passing through of opening signal to allow usage of filter

Contents

NameDescription
FlowCoefficient

Revisions

  • October 16, 2017, by Mirko Engelpracht, Christian Vering:
    First implementation (see issue 457).