modelDpControlled_dp
Extends from AixLib.Fluid.Interfaces.LumpedVolumeDeclarations, AixLib.Fluid.Interfaces.PartialTwoPortInterface.
Information
This model represents a pump or fan which includes already a controller. Be aware that this model does not only represent the physical behavior of an HVAC component but also controls this HVAC component.
In addition to the standard characteristic curve (should equal per.pressure), the controller is able to store two further characteristic/control curves. This enables the user to quickly select between the two common control modes constant pressure (dpConst) and variable pressure (dpVar). The common control modes of pumps are concisely explained in the referenced white paper [1].
Often, the AixLib.Fluid.Movers.FlowControlled_dp. This means no speed control is possible. Please use AixLib.Fluid.Movers.SpeedControlled_y for this application.
The model has a standard parametrization for the three curves basing on the parameter m_flow_nominal and dp_nominal. See the figure and table below.
|
m_flow |
dp_total |
dp_constCtrl |
dp_varCtrl |
|
0 |
1.3 |
1 |
0.5 |
|
1 |
1 |
1 |
1 |
|
1.5 |
0.75 |
0.75 |
0.75 |
|
2 |
0 |
0 |
0 |
References
[1] Robinson, Reece. 2019. Pumping Control Methods and Their Impact on System Effciency. Link to PDF.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
| Boolean | nominalValuesDefineDefaultPressureCurve | false | Set to true to avoid warning if m_flow_nominal and dp_nominal are used to construct the default pressure curve |
| Machine characteristics | |||
| AixLib.Fluid.Movers.Data.Generic | per | Record with performance data | |
| AixLib.Fluid.Movers.BaseClasses.Characteristics.flowParameters | pressureCurve_default | General mover curve: volume flow rate vs. total pressure head | |
| Nominal condition | |||
| Modelica.Units.SI.PressureDifference | dp_nominal | if rho_default < 500 then 500 else 10000 | Nominal pressure raise, used to normalized the filter if use_riseTime=true, to set default values of constantHead and heads, and and for default pressure curve if not specified in record per |
| Control characteristics | |||
| AixLib.Fluid.Movers.DpControlledMovers.Types.CtrlType | ctrlType | AixLib.Fluid.Movers.DpControlledMovers.Types.CtrlType.dpTotal | Type of mover control |
| AixLib.Fluid.Movers.BaseClasses.Characteristics.flowParameters | pressureCurve_dpConst | dpConst control: volume flow rate vs. total pressure head | |
| AixLib.Fluid.Movers.BaseClasses.Characteristics.flowParameters | pressureCurve_dpVar | dpVar control: volume flow rate vs. total pressure head | |
| Advanced | |||
| Boolean | prescribeSystemPressure | false | =true, to control mover such that pressure difference is obtained across two remote points in system |
| Dynamics › Nominal condition | |||
| Modelica.Units.SI.Time | tauMov | 1 | Time constant in mover (pump or fan) of fluid volume for nominal flow, used if energy or mass balance is dynamic |
| Dynamics › Filtered speed | |||
| Boolean | use_riseTime | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
| Modelica.Units.SI.Time | riseTime | 30 | Rise time of the filter (time to reach 99.6 % of the speed) |
| Modelica.Blocks.Types.Init | init | Modelica.Blocks.Types.Init.InitialOutput | Type of initialization (no init/steady state/initial state/initial output) |
| Real | y_start | 0 | Initial value of speed |
| Modelica.Units.SI.PressureDifference | dp_start | 0 | Initial value of pressure raise |
| Sensor | |||
| Modelica.Units.SI.Time | tauSen | 0 | Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems) |
| Sensor › Initialization | |||
| Modelica.Blocks.Types.Init | initType | Modelica.Blocks.Types.Init.InitialState | Type of initialization (InitialState and InitialOutput are identical) |
| Modelica.Media.Interfaces.Types.Density | d_start | Medium.density(Medium.setState_pTX(senVolFlo.p_start, senVolFlo.T_start, senVolFlo.X_start)) | Initial or guess value of density |
| Curve / Table › Table data interpretation | |||
| Modelica.Blocks.Types.Smoothness | smoothness | Modelica.Blocks.Types.Smoothness.LinearSegments | Smoothness of table interpolation |
| Boolean | verboseExtrapolation | false | = true, if warning messages are to be printed if table input is outside the definition range |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.RealInput | dpMea | Measurement of pressure difference between two points where the set point should be obtained | |
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heatPort | Heat dissipation to environment | |
| AixLib.Fluid.Sensors.VolumeFlowRate | senVolFlo | Sensor to measure volume flow rate | |
| Modelica.Blocks.Tables.CombiTable1Dv | pressureCurveSelected | Table with points of selected curve to calculate dp from V_flow | |
| AixLib.Fluid.Movers.FlowControlled_dp | mov | Mover: pump or fan | |
| Modelica.Blocks.Interfaces.RealOutput | P | Electrical power consumed | |
| Modelica.Blocks.Interfaces.RealOutput | y_actual | Actual normalised pump speed that is used for computations | |
| Modelica.Blocks.Interfaces.RealOutput | dp_actual | Pressure difference between the mover inlet and outlet |
Contents
| Name | Description |
|---|---|
| checkDpCurvesprotected |
Revisions
- October 28, 2021, by Philipp Mehrfeld:
#1151 Added model to library.