Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses
Package with base classes for Buildings.Applications.DataCenters.ChillerCooled
Information
This package contains base classes that are used to construct the models in Buildings.Applications.DataCenters.ChillerCooled.Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
AHUParameters | Essential parameters for air handling unit |
PartialChillerWSE | Partial model for chiller and WSE package |
PartialChillerWSEInterface | Partial model that defines the interface for chiller and WSE package |
PartialControllerInterface | Partial interface model for waterside economizer temperature controller |
PartialCoolingCoilHumidifyingHeating | Partial AHU model |
PartialHeatExchanger | Partial model for heat exchangers |
PartialIntegratedPrimary | Integrated water-side economizer for primary-only chilled water system |
PartialOperationSequenceInterface | Partial interface for operation sequence |
PartialParallelElectricEIR | Partial model for electric chiller parallel |
PartialPlantParallel | Partial source plant model with associated valves |
PartialPlantParallelInterface | Partial model that implements the interface for parallel plants |
PartialPumpParallel | Partial model for pump parallel |
SignalFilter | Partial model that implements the filtered opening for valves and dampers |
ThreeWayValveParameters | Model with parameters for a three-way valve |
ValvesParameters | Model with parameters for multiple valves |
FourPortResistanceChillerWSE | Flow resistance model for the chiller and WSE package |
SignalFilterParameters | Record that contains the parameters of the filtered opening for multiple valves and dampers |
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.AHUParameters
Essential parameters for air handling unit
Information
This block declares parameters that are required by most classes in the package Buildings.Applications.DataCenters.ChillerCooled.Equipment.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Cooling coil | |||
ThermalConductance | UA_nominal | Thermal conductance at nominal flow for sensible heat, used to compute time constant [W/K] | |
Real | r_nominal | 2/3 | Ratio between air-side and water-side convective heat transfer coefficient |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSE
Partial model for chiller and WSE package
Information
Partial model that can be extended to different configurations inclduing chillers and integrated/non-integrated water-side economizers.
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSEInterface (Partial model that defines the interface for chiller and WSE package), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.FourPortResistanceChillerWSE (Flow resistance model for the chiller and WSE package), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialControllerInterface (Partial interface model for waterside economizer temperature controller), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ValvesParameters (Model with parameters for multiple valves), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilterParameters (Record that contains the parameters of the filtered opening for multiple valves and dampers), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ThreeWayValveParameters (Model with parameters for a three-way valve).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Integer | num | numChi + 1 | Total number of chillers and waterside economizer |
Boolean | use_controller | true | Set to ture if the built-in controller is enabled to maintain the outlet temperature on the load side of a heat exchanger |
Integer | numVal | 4 | Number of valves |
Integer | numFil | 1 | Number of filters |
Boolean | activate_ThrWayVal | use_controller | Activate the use of three-way valve: True-use three-way valve; False-not use the three-way valve |
Chiller | |||
MassFlowRate | m1_flow_chi_nominal | Nominal mass flow rate on the medium 1 side in the chiller [kg/s] | |
MassFlowRate | m2_flow_chi_nominal | Nominal mass flow rate on the medium 2 side in the chiller [kg/s] | |
PressureDifference | dp1_chi_nominal | Pressure difference on medium 1 side in the chillers [Pa] | |
PressureDifference | dp2_chi_nominal | Pressure difference on medium 2 side in the chillers [Pa] | |
Integer | numChi | Number of chillers | |
Generic | perChi[numChi] | redeclare parameter Building... | Performance data for chillers |
Waterside economizer | |||
MassFlowRate | m1_flow_wse_nominal | Nominal mass flow rate on the medium 1 side in the waterside economizer [kg/s] | |
MassFlowRate | m2_flow_wse_nominal | Nominal mass flow rate on the medium 2 side in the waterside economizer [kg/s] | |
PressureDifference | dp1_wse_nominal | Pressure difference on medium 1 side in the waterside economizer [Pa] | |
PressureDifference | dp2_wse_nominal | Pressure difference on medium 2 side in the waterside economizer [Pa] | |
Efficiency | eta | 0.8 | Heat exchange effectiveness [1] |
Two-way valve | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv[numVal] | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv[numVal] | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av[numVal] | Av (metric) flow coefficient [m2] | |
MassFlowRate | m_flow_nominal[numVal] | Nominal mass flow rate [kg/s] | |
PressureDifference | dpValve_nominal[numVal] | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] |
Real | lValChi[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | lValWSE[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Pressure-flow linearization | |||
Real | deltaM | deltaM1 | Fraction of nominal flow rate where linearization starts, if y=1 |
Three-way Valve | |||
PressureDifference | dpThrWayVal_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] |
Real | fraK_ThrWayVal | 0.7 | Fraction Kv(port_3→port_2)/Kv(port_1→port_2)for the three-way valve |
Real | l_ThrWayVal[2] | {0.0001,0.0001} | Bypass valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | R | 50 | Rangeability, R=50...100 typically for the three-way valve |
Real | delta0 | 0.01 | Range of significant deviation from equal percentage law for the three-way valve |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
PortFlowDirection | portFlowDirection_1 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_1 in the three-way valve |
PortFlowDirection | portFlowDirection_2 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_2 in the three-way valve |
PortFlowDirection | portFlowDirection_3 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_3 in the three-way valve |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Two-way valve | |||
Density | rhoStd[numVal] | Inlet density for which valve coefficients are defined [kg/m3] | |
Flow resistance | |||
Medium 1 | |||
Boolean | computeFlowResistance1 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | computeFlowResistance2 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Controller | |||
SimpleController | controllerType | Modelica.Blocks.Types.Simple... | Type of controller |
Real | k | 1 | Gain of controller [1] |
Time | Ti | 0.5 | Time constant of integrator block [s] |
Time | Td | 0.1 | Time constant of derivative block [s] |
Real | yMax | 1 | Upper limit of output |
Real | yMin | 0 | Lower limit of output |
Real | wp | 1 | Set-point weight for Proportional block (0..1) |
Real | wd | 0 | Set-point weight for Derivative block (0..1) |
Real | Ni | 0.9 | Ni*Ti is time constant of anti-windup compensation |
Real | Nd | 10 | The higher Nd, the more ideal the derivative block |
Boolean | reverseActing | false | Set to true for throttling the water flow rate through a cooling coil controller |
Initialization | |||
Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
Real | xi_start | 0 | Initial or guess value value for integrator output (= integrator state) |
Real | xd_start | 0 | Initial or guess value for state of derivative block |
Real | yCon_start | 0 | Initial value of output from the controller |
Integrator reset | |||
Reset | reset | Buildings.Types.Reset.Disabled | Type of controller output reset |
Real | y_reset | xi_start | Value to which the controller output is reset if the boolean trigger has a rising edge, used if reset == Buildings.Types.Reset.Parameter |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start[numFil] | {yValWSE_start} | Initial value of output:0-closed, 1-fully opened |
Real | yValChi_start[numChi] | fill(0, numChi) | Initial value of output from on/off valves in chillers |
Real | yValWSE_start | 0 | Initial value of output from on/off valve in WSE |
Real | yThrWayValWSE_start | 0 | Initial value of output from three-way bypass valve in WSE |
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Chiller | |||
Time | tauChi1 | 30 | Time constant at nominal flow in chillers [s] |
Time | tauChi2 | 30 | Time constant at nominal flow in chillers [s] |
Waterside economizer | |||
Time | tauWSE | 10 | Time constant at nominal flow for dynamic energy and momentum balance of the three-way valve [s] |
Temperature Sensor | |||
Time | tauSenT | 1 | Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems) [s] |
Init | initTSenor | Modelica.Blocks.Types.Init.I... | Type of initialization of the temperature sensor (InitialState and InitialOutput are identical) |
Initialization | |||
Medium 1 | |||
AbsolutePressure | p1_start | Medium1.p_default | Start value of pressure [Pa] |
Temperature | T1_start | Medium1.T_default | Start value of temperature [K] |
MassFraction | X1_start[Medium1.nX] | Medium1.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C1_start[Medium1.nC] | fill(0, Medium1.nC) | Start value of trace substances |
ExtraProperty | C1_nominal[Medium1.nC] | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Medium 2 | |||
AbsolutePressure | p2_start | Medium2.p_default | Start value of pressure [Pa] |
Temperature | T2_start | Medium2.T_default | Start value of temperature [K] |
MassFraction | X2_start[Medium2.nX] | Medium2.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C2_start[Medium2.nC] | fill(0, Medium2.nC) | Start value of trace substances |
ExtraProperty | C2_nominal[Medium2.nC] | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | TSet | Set point for leaving water temperature [K] |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
input BooleanInput | trigger | Resets the controller output when trigger becomes true |
input RealInput | y_reset_in | Input signal for state to which integrator is reset, enabled if reset = Buildings.Types.Reset.Input |
output RealOutput | TCHWSupWSE | Chilled water supply temperature in the waterside economizer [K] |
output RealOutput | powChi[numChi] | Electric power consumed by chiller compressor [W] |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSEInterface
Partial model that defines the interface for chiller and WSE package
Information
This model implements an interface for chillers and integrated/nonitegrated water-side economizers.
Extends from Buildings.Fluid.Interfaces.PartialFourPort (Partial model with four ports).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Integer | num | 2 | Total number of chillers and waterside economizer |
Chiller | |||
MassFlowRate | m1_flow_chi_nominal | Nominal mass flow rate on the medium 1 side in the chiller [kg/s] | |
MassFlowRate | m2_flow_chi_nominal | Nominal mass flow rate on the medium 2 side in the chiller [kg/s] | |
Waterside economizer | |||
MassFlowRate | m1_flow_wse_nominal | Nominal mass flow rate on the medium 1 side in the waterside economizer [kg/s] | |
MassFlowRate | m2_flow_wse_nominal | Nominal mass flow rate on the medium 2 side in the waterside economizer [kg/s] | |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | TSet | Set point for leaving water temperature [K] |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialControllerInterface
Partial interface model for waterside economizer temperature controller
Information
This module implements a PID controller interface.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | use_controller | true | Set to ture if the built-in controller is enabled to maintain the outlet temperature on the load side of a heat exchanger |
Controller | |||
SimpleController | controllerType | Modelica.Blocks.Types.Simple... | Type of controller |
Real | k | 1 | Gain of controller [1] |
Time | Ti | 0.5 | Time constant of integrator block [s] |
Time | Td | 0.1 | Time constant of derivative block [s] |
Real | yMax | 1 | Upper limit of output |
Real | yMin | 0 | Lower limit of output |
Real | wp | 1 | Set-point weight for Proportional block (0..1) |
Real | wd | 0 | Set-point weight for Derivative block (0..1) |
Real | Ni | 0.9 | Ni*Ti is time constant of anti-windup compensation |
Real | Nd | 10 | The higher Nd, the more ideal the derivative block |
Boolean | reverseActing | false | Set to true for throttling the water flow rate through a cooling coil controller |
Initialization | |||
Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
Real | xi_start | 0 | Initial or guess value value for integrator output (= integrator state) |
Real | xd_start | 0 | Initial or guess value for state of derivative block |
Real | yCon_start | 0 | Initial value of output from the controller |
Integrator reset | |||
Reset | reset | Buildings.Types.Reset.Disabled | Type of controller output reset |
Real | y_reset | xi_start | Value to which the controller output is reset if the boolean trigger has a rising edge, used if reset == Buildings.Types.Reset.Parameter |
Connectors
Type | Name | Description |
---|---|---|
input BooleanInput | trigger | Resets the controller output when trigger becomes true |
input RealInput | y_reset_in | Input signal for state to which integrator is reset, enabled if reset = Buildings.Types.Reset.Input |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialCoolingCoilHumidifyingHeating
Partial AHU model
Information
This model describes a partial air handling unit model, which contains a water-side valve, a cooling coil and a fan model.
The valve and fan are partial models, and should be redeclared when used in the air handling unit model.
Extends from Buildings.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.AHUParameters (Essential parameters for air handling unit), Buildings.Fluid.Actuators.BaseClasses.ValveParameters (Model with parameters for valves), Buildings.Fluid.Interfaces.FourPortFlowResistanceParameters (Parameters for flow resistance for models with four ports).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Generic | perFan | redeclare parameter Building... | Performance data for the fan |
PartialFlowMachine | fan | redeclare Buildings.Fluid.Mo... | Fan |
PartialTwoWayValveKv | watVal | redeclare Buildings.Fluid.Ac... | Two-way valve |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m2_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m_flow_nominal | m1_flow_nominal | Nominal mass flow rate [kg/s] |
PressureDifference | dpValve_nominal | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] | |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Cooling coil | |||
ThermalConductance | UA_nominal | Thermal conductance at nominal flow for sensible heat, used to compute time constant [W/K] | |
Real | r_nominal | 2/3 | Ratio between air-side and water-side convective heat transfer coefficient |
Flow Coefficient | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av | Av (metric) flow coefficient [m2] | |
Pressure-flow linearization | |||
Real | deltaM | deltaM2 | Fraction of nominal flow rate where linearization starts, if y=1 |
Valve | |||
Real | l | 0.0001 | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Fan | |||
InputType | inputType | Buildings.Fluid.Types.InputT... | Control input type |
Boolean | addPowerToMedium | true | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | true | = true, if actual temperature at port is computed |
Nominal condition | |||
Density | rhoStd | Medium1.density_pTX(101325, ... | Inlet density for which valve coefficients are defined [kg/m3] |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Valve | |||
Boolean | use_inputFilterValve | false | = true, if opening is filtered with a 2nd order CriticalDamping filter for the water-side valve |
Time | riseTimeValve | 120 | Rise time of the filter for the water-side valve (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start | 1 | Initial value of output |
Fan | |||
Time | tauFan | 1 | Time constant at nominal flow (if energyDynamics <> SteadyState) [s] |
Boolean | use_inputFilterFan | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeFan | 30 | Rise time of the filter (time to reach 99.6 % of the speed) [s] |
Init | initFan | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yFan_start | 0 | Initial value of speed [1] |
Flow resistance | |||
Medium 1 | |||
Boolean | computeFlowResistance1 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | computeFlowResistance2 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Initialization | |||
AbsolutePressure | p_start | Medium2.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium2.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium2.nX] | Medium2.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium2.nC] | fill(0, Medium2.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium2.nC] | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | uVal | Actuator position (0: closed, 1: open) on water side [1] |
input RealInput | uFan | Continuous input signal for the fan |
output RealOutput | PFan | Electrical power consumed by the fan [W] |
output RealOutput | yVal | Actual valve position [1] |
input IntegerInput | stage | Stage input signal for the pressure head |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialHeatExchanger
Partial model for heat exchangers
Information
This module simulates a heat exchanger with a three-way bypass used to modulate water flow rate.
Extends from Buildings.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), Buildings.Fluid.Interfaces.FourPortFlowResistanceParameters (Parameters for flow resistance for models with four ports), Buildings.Fluid.Interfaces.LumpedVolumeDeclarations (Declarations for lumped volumes), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ThreeWayValveParameters (Model with parameters for a three-way valve).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
replaceable package Medium | PartialMedium | Medium in the component | |
Boolean | activate_ThrWayVal | Activate the use of three-way valve: True-use three-way valve; False-not use the three-way valve | |
Efficiency | eta | constant effectiveness [1] | |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m2_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Three-way Valve | |||
PressureDifference | dpThrWayVal_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] |
Real | fraK_ThrWayVal | 0.7 | Fraction Kv(port_3→port_2)/Kv(port_1→port_2)for the three-way valve |
Real | l_ThrWayVal[2] | {0.0001,0.0001} | Bypass valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | R | 50 | Rangeability, R=50...100 typically for the three-way valve |
Real | delta0 | 0.01 | Range of significant deviation from equal percentage law for the three-way valve |
PressureDifference | dpValve_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
PortFlowDirection | portFlowDirection_1 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_1 in the three-way valve |
PortFlowDirection | portFlowDirection_2 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_2 in the three-way valve |
PortFlowDirection | portFlowDirection_3 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_3 in the three-way valve |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Dynamics | |||
Dynamics | massDynamics | energyDynamics | Type of mass balance: dynamic (3 initialization options) or steady state, must be steady state if energyDynamics is steady state |
Nominal condition | |||
Density | rhoStd | Medium2.density_pTX(101325, ... | Inlet density for which valve coefficients are defined [kg/m3] |
Flow resistance | |||
Medium 1 | |||
Boolean | computeFlowResistance1 | (dp1_nominal > Modelica.Cons... | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | computeFlowResistance2 | (dp2_nominal > Modelica.Cons... | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Real | mSenFac | 1 | Factor for scaling the sensible thermal mass of the volume |
Filtered opening | |||
Boolean | use_inputFilter | true | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTime | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yThrWayVal_start | 1 | Initial value of output from the filter in the bypass valve |
Nominal condition | |||
Time | tauThrWayVal | 10 | Time constant at nominal flow for dynamic energy and momentum balance of the three-way valve [s] |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
replaceable package Medium | Medium in the component |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialIntegratedPrimary
Integrated water-side economizer for primary-only chilled water system
Information
Partial model that implements integrated waterside economizer in primary-ony chilled water system.
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialChillerWSE (Partial model for chiller and WSE package).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Boolean | use_controller | true | Set to ture if the built-in controller is enabled to maintain the outlet temperature on the load side of a heat exchanger |
Integer | numVal | 6 | Number of valves |
Chiller | |||
MassFlowRate | m1_flow_chi_nominal | Nominal mass flow rate on the medium 1 side in the chiller [kg/s] | |
MassFlowRate | m2_flow_chi_nominal | Nominal mass flow rate on the medium 2 side in the chiller [kg/s] | |
PressureDifference | dp1_chi_nominal | Pressure difference on medium 1 side in the chillers [Pa] | |
PressureDifference | dp2_chi_nominal | Pressure difference on medium 2 side in the chillers [Pa] | |
Integer | numChi | Number of chillers | |
Generic | perChi[numChi] | redeclare parameter Building... | Performance data for chillers |
Waterside economizer | |||
MassFlowRate | m1_flow_wse_nominal | Nominal mass flow rate on the medium 1 side in the waterside economizer [kg/s] | |
MassFlowRate | m2_flow_wse_nominal | Nominal mass flow rate on the medium 2 side in the waterside economizer [kg/s] | |
PressureDifference | dp1_wse_nominal | Pressure difference on medium 1 side in the waterside economizer [Pa] | |
PressureDifference | dp2_wse_nominal | Pressure difference on medium 2 side in the waterside economizer [Pa] | |
Efficiency | eta | 0.8 | Heat exchange effectiveness [1] |
Two-way valve | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv[numVal] | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv[numVal] | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av[numVal] | Av (metric) flow coefficient [m2] | |
MassFlowRate | m_flow_nominal[numVal] | Nominal mass flow rate [kg/s] | |
PressureDifference | dpValve_nominal[numVal] | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] |
Real | lValChi[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | lValWSE[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | lVal5 | 0.0001 | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | lVal6 | 0.0001 | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Three-way Valve | |||
PressureDifference | dpThrWayVal_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] |
Real | fraK_ThrWayVal | 0.7 | Fraction Kv(port_3→port_2)/Kv(port_1→port_2)for the three-way valve |
Real | l_ThrWayVal[2] | {0.0001,0.0001} | Bypass valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | R | 50 | Rangeability, R=50...100 typically for the three-way valve |
Real | delta0 | 0.01 | Range of significant deviation from equal percentage law for the three-way valve |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_chi_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
PortFlowDirection | portFlowDirection_1 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_1 in the three-way valve |
PortFlowDirection | portFlowDirection_2 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_2 in the three-way valve |
PortFlowDirection | portFlowDirection_3 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_3 in the three-way valve |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Two-way valve | |||
Density | rhoStd[numVal] | Inlet density for which valve coefficients are defined [kg/m3] | |
Flow resistance | |||
Medium 1 | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Controller | |||
SimpleController | controllerType | Modelica.Blocks.Types.Simple... | Type of controller |
Real | k | 1 | Gain of controller [1] |
Time | Ti | 0.5 | Time constant of integrator block [s] |
Time | Td | 0.1 | Time constant of derivative block [s] |
Real | yMax | 1 | Upper limit of output |
Real | yMin | 0 | Lower limit of output |
Real | wp | 1 | Set-point weight for Proportional block (0..1) |
Real | wd | 0 | Set-point weight for Derivative block (0..1) |
Real | Ni | 0.9 | Ni*Ti is time constant of anti-windup compensation |
Real | Nd | 10 | The higher Nd, the more ideal the derivative block |
Initialization | |||
Init | initType | Modelica.Blocks.Types.Init.I... | Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output) |
Real | xi_start | 0 | Initial or guess value value for integrator output (= integrator state) |
Real | xd_start | 0 | Initial or guess value for state of derivative block |
Real | yCon_start | 0 | Initial value of output from the controller |
Integrator reset | |||
Reset | reset | Buildings.Types.Reset.Disabled | Type of controller output reset |
Real | y_reset | xi_start | Value to which the controller output is reset if the boolean trigger has a rising edge, used if reset == Buildings.Types.Reset.Parameter |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValChi_start[numChi] | fill(0, numChi) | Initial value of output from on/off valves in chillers |
Real | yValWSE_start | 0 | Initial value of output from on/off valve in WSE |
Real | yThrWayValWSE_start | 0 | Initial value of output from three-way bypass valve in WSE |
Real | yVal5_start | 0 | Initial value of output:0-closed, 1-fully opened |
Real | yVal6_start | 1 - yVal5_start | Initial value of output:0-closed, 1-fully opened |
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Chiller | |||
Time | tauChi1 | 30 | Time constant at nominal flow in chillers [s] |
Time | tauChi2 | 30 | Time constant at nominal flow in chillers [s] |
Waterside economizer | |||
Time | tauWSE | 10 | Time constant at nominal flow for dynamic energy and momentum balance of the three-way valve [s] |
Temperature Sensor | |||
Time | tauSenT | 1 | Time constant at nominal flow rate (use tau=0 for steady-state sensor, but see user guide for potential problems) [s] |
Init | initTSenor | Modelica.Blocks.Types.Init.I... | Type of initialization of the temperature sensor (InitialState and InitialOutput are identical) |
Initialization | |||
Medium 1 | |||
AbsolutePressure | p1_start | Medium1.p_default | Start value of pressure [Pa] |
Temperature | T1_start | Medium1.T_default | Start value of temperature [K] |
MassFraction | X1_start[Medium1.nX] | Medium1.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C1_start[Medium1.nC] | fill(0, Medium1.nC) | Start value of trace substances |
ExtraProperty | C1_nominal[Medium1.nC] | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Medium 2 | |||
AbsolutePressure | p2_start | Medium2.p_default | Start value of pressure [Pa] |
Temperature | T2_start | Medium2.T_default | Start value of temperature [K] |
MassFraction | X2_start[Medium2.nX] | Medium2.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C2_start[Medium2.nC] | fill(0, Medium2.nC) | Start value of trace substances |
ExtraProperty | C2_nominal[Medium2.nC] | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input RealInput | TSet | Set point for leaving water temperature [K] |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
input BooleanInput | trigger | Resets the controller output when trigger becomes true |
input RealInput | y_reset_in | Input signal for state to which integrator is reset, enabled if reset = Buildings.Types.Reset.Input |
output RealOutput | TCHWSupWSE | Chilled water supply temperature in the waterside economizer [K] |
output RealOutput | powChi[numChi] | Electric power consumed by chiller compressor [W] |
input RealInput | yVal6 | Actuator position for valve 6 (0: closed, 1: open) [1] |
input RealInput | yVal5 | Actuator position for valve 5(0: closed, 1: open) [1] |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialOperationSequenceInterface
Partial interface for operation sequence
Information
Partial model that transforms the valve signal.
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialParallelElectricEIR
Partial model for electric chiller parallel
Information
Partial model that implements parallel electric chillers with associated valves.
The model has num
identical chillers.
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallel (Partial source plant model with associated valves).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Integer | num | 2 | Number of equipment |
PartialElectric | chi[num] | redeclare Buildings.Fluid.Ch... | Chillers with identical nominal parameters but different performance curves |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m2_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Two-way valve | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv[numVal] | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv[numVal] | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av[numVal] | Av (metric) flow coefficient [m2] | |
PressureDifference | dpValve_nominal[numVal] | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] |
Real | l[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Two-way valve | |||
Density | rhoStd[numVal] | {Medium1.density_pTX(101325,... | Inlet density for which valve coefficients are defined [kg/m3] |
Flow resistance | |||
Medium 1 | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start[numFil] | fill(1, numFil) | Initial value of output:0-closed, 1-fully opened |
Nominal condition | |||
Time | tau1 | 30 | Time constant at nominal flow in chillers [s] |
Time | tau2 | 30 | Time constant at nominal flow in chillers [s] |
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Initialization | |||
Medium 1 | |||
AbsolutePressure | p1_start | Medium1.p_default | Start value of pressure [Pa] |
Temperature | T1_start | Medium1.T_default | Start value of temperature [K] |
MassFraction | X1_start[Medium1.nX] | Medium1.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C1_start[Medium1.nC] | fill(0, Medium1.nC) | Start value of trace substances |
ExtraProperty | C1_nominal[Medium1.nC] | fill(1E-2, Medium1.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Medium 2 | |||
AbsolutePressure | p2_start | Medium2.p_default | Start value of pressure [Pa] |
Temperature | T2_start | Medium2.T_default | Start value of temperature [K] |
MassFraction | X2_start[Medium2.nX] | Medium2.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C2_start[Medium2.nC] | fill(0, Medium2.nC) | Start value of trace substances |
ExtraProperty | C2_nominal[Medium2.nC] | fill(1E-2, Medium2.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
input RealInput | TSet | Set point for leaving water temperature [K] |
output RealOutput | P[num] | Electric power consumed by chiller compressor [W] |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallel
Partial source plant model with associated valves
Information
Partial model that can be extended to construct parallel chillers such as Buildings.Applications.BaseClasses.Equipment.ElectricChillerParallel and water-side economizers Buildings.Applications.DataCenters.ChillerCooled.Equipment.WatersideEconomizer.
The associated valve group val1
and val2
on medium 1
and medium 2
side are for on/off use only.
The number of valves in each group is specified by the parameter n
.
The valve parameters can be specified differently.
The signal filter is used to smoothe the on/off signal for the valves.
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallelInterface (Partial model that implements the interface for parallel plants), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ValvesParameters (Model with parameters for multiple valves), Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilter (Partial model that implements the filtered opening for valves and dampers).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Integer | num | 2 | Number of equipment |
Integer | numVal | 2 | Number of valves |
Integer | numFil | num | Number of filters |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m2_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Two-way valve | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv[numVal] | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv[numVal] | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av[numVal] | Av (metric) flow coefficient [m2] | |
MassFlowRate | m_flow_nominal[numVal] | {m1_flow_nominal,m2_flow_nom... | Nominal mass flow rate [kg/s] |
PressureDifference | dpValve_nominal[numVal] | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] |
Real | l[2] | {0.0001,0.0001} | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Pressure-flow linearization | |||
Real | deltaM | deltaM1 | Fraction of nominal flow rate where linearization starts, if y=1 |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Two-way valve | |||
Density | rhoStd[numVal] | {Medium1.density_pTX(101325,... | Inlet density for which valve coefficients are defined [kg/m3] |
Flow resistance | |||
Medium 1 | |||
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start[numFil] | fill(1, numFil) | Initial value of output:0-closed, 1-fully opened |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPlantParallelInterface
Partial model that implements the interface for parallel plants
Information
This model implements the interface for the parallel plants in the Buildings.Applications.DataCenters.ChillerCooled package. The parallel plants containnum
identical plants
that share the same temperature setpoint at port_b2
.
These plants can be operated individually by specifying different on/off signals.
Extends from Buildings.Fluid.Interfaces.PartialFourPortInterface (Partial model with four ports and declaration of quantities that are used by many models), Buildings.Fluid.Interfaces.FourPortFlowResistanceParameters (Parameters for flow resistance for models with four ports).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium1 | PartialMedium | Medium 1 in the component | |
replaceable package Medium2 | PartialMedium | Medium 2 in the component | |
Integer | num | 2 | Number of equipment |
Nominal condition | |||
MassFlowRate | m1_flow_nominal | Nominal mass flow rate [kg/s] | |
MassFlowRate | m2_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dp1_nominal | Pressure difference [Pa] | |
PressureDifference | dp2_nominal | Pressure difference [Pa] | |
Assumptions | |||
Boolean | allowFlowReversal1 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 1 |
Boolean | allowFlowReversal2 | true | = false to simplify equations, assuming, but not enforcing, no flow reversal for medium 2 |
Advanced | |||
MassFlowRate | m1_flow_small | 1E-4*abs(m1_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
MassFlowRate | m2_flow_small | 1E-4*abs(m2_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Medium 1 | |||
Boolean | computeFlowResistance1 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | computeFlowResistance2 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a1 | Fluid connector a1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_b | port_b1 | Fluid connector b1 (positive design flow direction is from port_a1 to port_b1) |
FluidPort_a | port_a2 | Fluid connector a2 (positive design flow direction is from port_a2 to port_b2) |
FluidPort_b | port_b2 | Fluid connector b2 (positive design flow direction is from port_a2 to port_b2) |
input BooleanInput | on[num] | Set to true to enable equipment, or false to disable equipment |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.PartialPumpParallel
Partial model for pump parallel
Information
Partial model for num
parallel pumps, each with an isolation valve to
avoid recirculation.
Extends from Buildings.Fluid.Interfaces.PartialTwoPortInterface (Partial model with two ports and declaration of quantities that are used by many models), Buildings.Fluid.Actuators.BaseClasses.ValveParameters (Model with parameters for valves).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Generic | per[num] | per(each motorCooledByFluid=... | Record with performance data |
Integer | num | 2 | The number of pumps |
Real | threshold | 0.05 | Hysteresis threshold |
PartialFlowMachine | pum[num] | redeclare Buildings.Fluid.Mo... | Pumps |
Nominal condition | |||
MassFlowRate | m_flow_nominal | Nominal mass flow rate [kg/s] | |
PressureDifference | dpValve_nominal | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] | |
Flow Coefficient | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av | Av (metric) flow coefficient [m2] | |
Pressure-flow linearization | |||
Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 |
Pump | |||
Boolean | addPowerToMedium | false | Set to false to avoid any power (=heat and flow work) being added to medium (may give simpler equations) |
Two-way valve | |||
Real | l | 0.0001 | Valve leakage, l=Kv(y=0)/Kv(y=1) |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Nominal condition | |||
Density | rhoStd | Inlet density for which valve coefficients are defined [kg/m3] | |
Dynamics | |||
Pump | |||
Time | tau | 1 | Time constant at nominal flow (if energyDynamics <> SteadyState) [s] |
Boolean | use_inputFilter | true | = true, if speed is filtered with a 2nd order CriticalDamping filter |
Time | riseTimePump | 30 | Rise time of the filter (time to reach 99.6 % of the speed) [s] |
Init | init | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yPump_start[num] | fill(0, num) | Initial value of pump signals |
Valve | |||
Time | riseTimeValve | riseTimePump | Rise time of the filter (time to become 99.6 % open) [s] |
Real | yValve_start[num] | fill(1, num) | Initial value of valve signals |
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | T_start | Medium.T_default | Start value of temperature [K] |
MassFraction | X_start[Medium.nX] | Medium.X_default | Start value of mass fractions m_i/m [kg/kg] |
ExtraProperty | C_start[Medium.nC] | fill(0, Medium.nC) | Start value of trace substances |
ExtraProperty | C_nominal[Medium.nC] | fill(1E-2, Medium.nC) | Nominal value of trace substances. (Set to typical order of magnitude.) |
Flow resistance | |||
Boolean | from_dp | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance | false | = true, use linear relation between m_flow and dp for any flow rate |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b | Fluid connector b (positive design flow direction is from port_a to port_b) |
input RealInput | u[num] | Continuous input signal for the flow machine [1] |
output RealOutput | P[num] | Electrical power consumed by the pumps [W] |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilter
Partial model that implements the filtered opening for valves and dampers
Information
Partial model that implements the filters that are used to approximate the travel time of the actuators.
The signal y_actual
is used to obtain the current position of the actuators.
Extends from Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilterParameters (Record that contains the parameters of the filtered opening for multiple valves and dampers).
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | numFil | 4 | Number of filters |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start[numFil] | fill(1, numFil) | Initial value of output:0-closed, 1-fully opened |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ThreeWayValveParameters
Model with parameters for a three-way valve
Information
Partial model that decribes the parameters of a three-way valve.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Boolean | activate_ThrWayVal | Activate the use of three-way valve: True-use three-way valve; False-not use the three-way valve | |
Three-way Valve | |||
PressureDifference | dpThrWayVal_nominal | 6000 | Nominal pressure drop of fully open valve [Pa] |
Real | fraK_ThrWayVal | 0.7 | Fraction Kv(port_3→port_2)/Kv(port_1→port_2)for the three-way valve |
Real | l_ThrWayVal[2] | {0.0001,0.0001} | Bypass valve leakage, l=Kv(y=0)/Kv(y=1) |
Real | R | 50 | Rangeability, R=50...100 typically for the three-way valve |
Real | delta0 | 0.01 | Range of significant deviation from equal percentage law for the three-way valve |
Advanced | |||
PortFlowDirection | portFlowDirection_1 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_1 in the three-way valve |
PortFlowDirection | portFlowDirection_2 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_2 in the three-way valve |
PortFlowDirection | portFlowDirection_3 | Modelica.Fluid.Types.PortFlo... | Flow direction for port_3 in the three-way valve |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ValvesParameters
Model with parameters for multiple valves
Information
Model that computes the flow coefficients of vectored valves. The number of vectored valves is
defined by the parameter numVal
.
Note that the numVal
valves have the same modelling option that can specify the valve
flow coefficient in fully open conditions. Details can be found in
Buildings.Fluid.Actuators.BaseClasses.ValveParameters.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | numVal | Number of valves | |
Two-way valve | |||
CvTypes | CvData | Buildings.Fluid.Types.CvType... | Selection of flow coefficient |
Real | Kv[numVal] | Kv (metric) flow coefficient [m3/h/(bar)^(1/2)] | |
Real | Cv[numVal] | Cv (US) flow coefficient [USG/min/(psi)^(1/2)] | |
Area | Av[numVal] | Av (metric) flow coefficient [m2] | |
MassFlowRate | m_flow_nominal[numVal] | Nominal mass flow rate [kg/s] | |
PressureDifference | dpValve_nominal[numVal] | fill(6000, numVal) | Nominal pressure drop of fully open valve, used if CvData=Buildings.Fluid.Types.CvTypes.OpPoint [Pa] |
Pressure-flow linearization | |||
Real | deltaM | 0.02 | Fraction of nominal flow rate where linearization starts, if y=1 |
Advanced | |||
Two-way valve | |||
Density | rhoStd[numVal] | Inlet density for which valve coefficients are defined [kg/m3] |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.FourPortResistanceChillerWSE
Flow resistance model for the chiller and WSE package
Information
This class contains parameters that are used to compute the pressure drop in the Buildings.Applications.DataCenters.ChillerCooled package.Parameters
Type | Name | Default | Description |
---|---|---|---|
Chiller | |||
PressureDifference | dp1_chi_nominal | Pressure difference on medium 1 side in the chillers [Pa] | |
PressureDifference | dp2_chi_nominal | Pressure difference on medium 2 side in the chillers [Pa] | |
Waterside economizer | |||
PressureDifference | dp1_wse_nominal | Pressure difference on medium 1 side in the waterside economizer [Pa] | |
PressureDifference | dp2_wse_nominal | Pressure difference on medium 2 side in the waterside economizer [Pa] | |
Flow resistance | |||
Medium 1 | |||
Boolean | computeFlowResistance1 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp1 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance1 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM1 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Medium 2 | |||
Boolean | computeFlowResistance2 | true | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp2 | false | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance2 | false | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM2 | 0.1 | Fraction of nominal flow rate where flow transitions to laminar |
Modelica definition
Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilterParameters
Record that contains the parameters of the filtered opening for multiple valves and dampers
Information
Record that contains essential parameters for the vectored signal filters.
The number of filters is specified by nFilter
.
Note that all the signal filters have the same on/off control signal, rising time, and initialization type,
which are specified by use_inputFilter, riseTimeValve
and initValve
respectively.
However, they can have different initial valves, specified by yValve_start
.
Parameters
Type | Name | Default | Description |
---|---|---|---|
Integer | numFil | 4 | Number of filters |
Dynamics | |||
Filtered opening | |||
Boolean | use_inputFilter | false | = true, if opening is filtered with a 2nd order CriticalDamping filter |
Time | riseTimeValve | 30 | Rise time of the filter (time to reach 99.6 % of an opening step) [s] |
Init | initValve | Modelica.Blocks.Types.Init.I... | Type of initialization (no init/steady state/initial state/initial output) |
Real | yValve_start[numFil] | fill(1, numFil) | Initial value of output:0-closed, 1-fully opened |