From 55203c63f0de6e1a2a77383ef66834736fdfb15f Mon Sep 17 00:00:00 2001 From: Michael Wetter Date: Wed, 18 Sep 2024 08:03:52 -0700 Subject: [PATCH] Update actuator model (#4000) * Changed actuator model to use slew rate limiter instead of 2nd order filter. For #3965 --- Buildings/.copiedFiles.txt | 4 + .../VAV/ChillerDXHeatingEconomizer.mo | 18 +- .../Equipment/ElectricChillerParallel.mo | 7 +- .../Validation/ElectricChillerParallel.mo | 5 +- .../Equipment/Validation/PumpParallel.mo | 3 +- .../BaseClasses/PartialChillerWSE.mo | 23 +- .../PartialCoolingCoilHumidifyingHeating.mo | 67 +- .../BaseClasses/PartialHeatExchanger.mo | 28 +- .../BaseClasses/PartialIntegratedPrimary.mo | 22 +- .../BaseClasses/PartialPlantParallel.mo | 21 +- .../BaseClasses/PartialPumpParallel.mo | 37 +- .../Equipment/BaseClasses/SignalFilter.mo | 41 +- .../BaseClasses/SignalFilterParameters.mo | 33 +- .../Equipment/IntegratedPrimaryLoadSide.mo | 27 +- .../Equipment/IntegratedPrimarySecondary.mo | 34 +- ...oolingCoilHumidifyingHeating_ClosedLoop.mo | 2 +- .../Equipment/WatersideEconomizer.mo | 16 +- .../Examples/BaseClasses/PartialDataCenter.mo | 22 +- .../IntegratedPrimarySecondaryEconomizer.mo | 5 +- ...NonIntegratedPrimarySecondaryEconomizer.mo | 9 +- .../Controls/Validation/AirsideEconomizer.mo | 2 +- .../Examples/DXCooledAirsideEconomizer.mo | 11 +- .../DHC/ETS/BaseClasses/PartialDirect.mo | 4 +- .../DHC/ETS/BaseClasses/PartialIndirect.mo | 2 +- Buildings/DHC/ETS/BaseClasses/Pump_m_flow.mo | 2 +- .../Combined/BaseClasses/PartialParallel.mo | 4 +- .../Subsystems/BaseClasses/PartialHeatPump.mo | 5 +- .../DHC/ETS/Combined/Subsystems/Borefield.mo | 15 +- .../DHC/ETS/Combined/Subsystems/Chiller.mo | 26 +- .../ETS/Combined/Subsystems/HeatExchanger.mo | 7 +- .../Combined/Subsystems/HeatPumpDHWTank.mo | 4 +- .../DHC/ETS/Combined/Subsystems/SwitchBox.mo | 18 +- .../Subsystems/WatersideEconomizer.mo | 5 +- .../Cooling/ElectricChillersDirectETS.mo | 2 +- .../DHC/Loads/BaseClasses/FlowDistribution.mo | 38 +- .../Loads/BaseClasses/PartialFanCoil4Pipe.mo | 7 +- .../BaseClasses/FanCoil2PipeCooling.mo | 7 +- .../BaseClasses/FanCoil2PipeHeating.mo | 7 +- .../BaseClasses/FanCoil2PipeHeatingValve.mo | 9 +- .../Validation/BenchmarkFlowDistribution2.mo | 7 +- .../Cooling/BuildingTimeSeriesWithETS.mo | 4 +- .../Heating/BuildingTimeSeriesWithETS.mo | 4 +- .../StorageTankWithExternalHeatExchanger.mo | 4 +- .../Examples/Distribution1PipeExample.mo | 4 +- .../Examples/Distribution2PipeExample.mo | 4 +- .../Plants/Combined/AllElectricCWStorage.mo | 44 +- .../Controls/BaseClasses/PartialController.mo | 12 +- .../Subsystems/BaseClasses/MultipleValves.mo | 25 +- .../BaseClasses/PartialMultiplePumps.mo | 22 +- .../Combined/Subsystems/ChillerGroup.mo | 32 +- .../Subsystems/ChillerHeatRecoveryGroup.mo | 44 +- .../Combined/Subsystems/HeatPumpGroup.mo | 14 +- .../BaseClasses/PartialMultiplePumps.mo | 20 +- .../Validation/ValveOpeningFlowBalancing.mo | 4 +- .../Plants/Cooling/BaseClasses/IdealUser.mo | 2 +- .../Plants/Cooling/Controls/FlowControl.mo | 8 +- .../Plants/Cooling/ElectricChillerParallel.mo | 79 +-- .../Subsystems/CoolingTowersParallel.mo | 15 +- .../Subsystems/CoolingTowersWithBypass.mo | 20 +- .../PartialCoolingTowersSubsystem.mo | 3 +- .../Examples/CoolingTowersParallel.mo | 2 +- .../ChillerPlant/BaseClasses/DataCenter.mo | 42 +- .../Examples/DualFanDualDuct/ClosedLoop.mo | 14 +- .../HydronicHeating/TwoRoomsWithStorage.mo | 27 +- Buildings/Examples/SimpleHouse.mo | 4 +- Buildings/Examples/Tutorial/Boiler/System2.mo | 2 +- .../Tutorial/SimpleHouse/SimpleHouse4.mo | 2 +- .../Tutorial/SimpleHouse/SimpleHouse6.mo | 8 +- .../Examples/VAVCO2/VAVSystemCTControl.mo | 9 +- .../VAVReheat/BaseClasses/ASHRAE2006.mo | 2 +- .../VAVReheat/BaseClasses/PartialHVAC.mo | 6 +- .../VAVReheat/BaseClasses/VAVReheatBox.mo | 2 +- .../Actuators/BaseClasses/ActuatorSignal.mo | 74 ++- .../BaseClasses/PartialThreeWayValve.mo | 65 +- .../BaseClasses/PartialTwoWayValve.mo | 6 +- .../BaseClasses/PartialTwoWayValveKv.mo | 2 +- .../Actuators/Dampers/Examples/Damper.mo | 8 +- .../Fluid/Actuators/Dampers/MixingBox.mo | 8 +- .../Actuators/Dampers/MixingBoxMinimumFlow.mo | 35 +- .../Dampers/Validation/PressureIndependent.mo | 6 +- .../Fluid/Actuators/Motors/IdealMotor.mo | 4 +- .../Valves/Examples/ThreeWayValves.mo | 6 +- .../TwoWayValvePressureIndependent.mo | 6 +- .../Valves/Examples/TwoWayValveTable.mo | 2 +- .../Actuators/Valves/Examples/TwoWayValves.mo | 12 +- .../Valves/Examples/TwoWayValvesMotor.mo | 10 +- .../Valves/Examples/TwoWayValvesTable.mo | 4 +- .../Valves/TwoWayPressureIndependent.mo | 2 +- .../ThreeWayValveParameterization.mo | 14 +- .../Validation/TwoWayValveParameterization.mo | 26 +- Buildings/Fluid/Actuators/package.mo | 46 +- .../OrganicRankine/Examples/ORCHotWater.mo | 6 +- .../AbsorptionIndirectSteamVaryingLoad.mo | 2 +- .../Fluid/Examples/FlowSystem/Simplified4.mo | 24 +- .../Performance/BaseClasses/Example1.mo | 4 +- .../Fluid/Examples/Performance/Example2.mo | 2 +- .../Fluid/Examples/Performance/Example3.mo | 2 +- .../Examples/ResistanceVolumeFlowReversal.mo | 2 +- .../Examples/ThermalZoneHVACNoExhaust.mo | 2 +- .../Examples/ThermalZoneHVACWithExhaust.mo | 2 +- .../FMI/ExportContainers/Examples/FMUs/Fan.mo | 6 +- .../Examples/RectangularBorefield.mo | 2 +- .../ConstantHeatInjection_100Boreholes.mo | 2 +- .../Borefields/Validation/Sandbox.mo | 2 +- .../Examples/SeriesConnectedZones.mo | 2 +- .../Validation/TransientBoreholeDynamics.mo | 2 +- .../ActiveBeams/Validation/NumberOfBeams.mo | 8 +- .../Examples/HexElementLatentLoop.mo | 5 +- .../Examples/DryCoilDiscretizedPControl.mo | 2 +- .../Examples/WetCoilDiscretizedPControl.mo | 2 +- .../ScrollWaterToWater_OneRoomRadiator.mo | 8 +- .../PartialReversibleRefrigerantMachine.mo | 6 + .../BaseClasses/PartialOneRoomRadiator.mo | 4 +- .../ActiveNetworks/Decoupling.mo | 13 +- .../ActiveNetworks/Diversion.mo | 2 +- .../BaseClasses/PartialActivePrimary.mo | 12 +- .../BaseClasses/PartialLoadValveControl.mo | 4 +- .../ActiveNetworks/InjectionThreeWay.mo | 9 +- .../ActiveNetworks/InjectionTwoWay.mo | 9 +- .../ActiveNetworks/Throttle.mo | 14 +- .../BaseClasses/SingleMixing.mo | 9 +- .../HydronicConfigurations/Components/Pump.mo | 47 +- .../Components/ThreeWayValve.mo | 48 +- .../Components/TwoWayValve.mo | 70 +-- .../Examples/TwoWayOpenLoop.mo | 16 +- .../PassiveNetworks/DualMixing.mo | 10 +- .../Movers/BaseClasses/PartialFlowMachine.mo | 58 +- .../Fluid/Movers/Examples/MoverParameter.mo | 10 +- .../Examples/SpeedControlled_y_pumpCurves.mo | 36 +- Buildings/Fluid/Movers/FlowControlled_dp.mo | 73 +-- .../Fluid/Movers/FlowControlled_m_flow.mo | 84 ++- Buildings/Fluid/Movers/SpeedControlled_y.mo | 32 +- Buildings/Fluid/Movers/UsersGuide.mo | 46 +- .../Validation/BaseClasses/ComparePower.mo | 6 +- .../Validation/ComparePowerHydraulic.mo | 6 +- .../Movers/Validation/ComparePowerInput.mo | 10 +- .../Validation/ControlledFlowMachine.mo | 6 +- .../Movers/Validation/FlowControlled_dp.mo | 8 +- .../Validation/FlowControlled_dpSystem.mo | 24 +- .../Validation/FlowControlled_m_flow.mo | 8 +- .../Validation/PumpCurveConstruction.mo | 46 +- .../Movers/Validation/PumpCurveDerivatives.mo | 6 +- .../Fluid/Movers/Validation/Pump_stratos.mo | 8 +- .../Movers/Validation/SpeedControlled_y.mo | 8 +- .../Validation/SpeedControlled_y_linear.mo | 4 +- .../StratifiedUnloadAtMinimumTemperature.mo | 18 +- .../Movers/Validation/PowerSimplified.mo | 6 +- .../userGuide/source/modelica/FlowCircuit.mo | 2 +- .../Images/Fluid/Actuators/valveResponse.png | Bin 8389 -> 73279 bytes .../Images/Fluid/Actuators/valveResponse.svg | 583 +++++++++++++++++ .../Movers/UsersGuide/fanSpeedFiltered.png | Bin 11083 -> 71762 bytes .../Movers/UsersGuide/fanSpeedFiltered.svg | 592 ++++++++++++++++++ ...sses_Equipment_Validation_PumpParallel.txt | 12 +- ...olingCoilHumidifyingHeating_ClosedLoop.txt | 20 +- ...CoolingCoilHumidifyingHeating_OpenLoop.txt | 20 +- ...ed_Equipment_Validation_ElectricHeater.txt | 12 +- ...led_Equipment_Validation_HeatExchanger.txt | 6 +- ...lidation_HeatExchanger_ResetController.txt | 16 +- ...t_Validation_IntegratedPrimaryLoadSide.txt | 22 +- ..._Validation_IntegratedPrimarySecondary.txt | 18 +- ...es_IntegratedPrimaryLoadSideEconomizer.txt | 26 +- ...s_IntegratedPrimarySecondaryEconomizer.txt | 26 +- ...onIntegratedPrimarySecondaryEconomizer.txt | 26 +- ...led_Examples_DXCooledAirsideEconomizer.txt | 20 +- ...lasses_Validation_CollectorDistributor.txt | 56 +- ...ombined_Subsystems_Validation_HeatPump.txt | 12 +- ..._Subsystems_Validation_HeatPumpDHWTank.txt | 16 +- ...systems_Validation_WatersideEconomizer.txt | 32 +- ...ldings_DHC_ETS_Cooling_Examples_Direct.txt | 24 +- ...ings_DHC_ETS_Cooling_Examples_Indirect.txt | 26 +- ...ldings_DHC_ETS_Heating_Examples_Direct.txt | 24 +- ...ings_DHC_ETS_Heating_Examples_Indirect.txt | 26 +- ...C_Examples_Combined_SeriesConstantFlow.txt | 78 +-- ...C_Examples_Combined_SeriesVariableFlow.txt | 82 +-- ...ombined_SeriesVariableFlowAgentControl.txt | 84 +-- ...ples_Cooling_ElectricChillersDirectETS.txt | 12 +- ...ldings_DHC_Examples_Steam_SingleBoiler.txt | 34 +- ...Validation_FlowDistributionPumpControl.txt | 26 +- ...ned_Examples_BuildingTimeSeriesWithETS.txt | 12 +- ...mples_BuildingTimeSeriesWithETSDHWTank.txt | 30 +- ...ing_Examples_BuildingTimeSeriesWithETS.txt | 16 +- ...ing_Examples_BuildingTimeSeriesWithETS.txt | 14 +- ...s_StorageTankWithExternalHeatExchanger.txt | 12 +- ...s_Steam_BaseClasses_Examples_SteamTrap.txt | 12 +- ...Steam_Examples_BuildingTimeSeriesAtETS.txt | 6 +- ...am_Examples_DistributionCondensatePipe.txt | 10 +- ...Combined_Examples_AllElectricCWStorage.txt | 28 +- ...ned_Subsystems_Validation_ChillerGroup.txt | 18 +- ...ms_Validation_ChillerHeatRecoveryGroup.txt | 52 +- ...ubsystems_Validation_CoolingTowerGroup.txt | 16 +- ...ed_Subsystems_Validation_HeatPumpGroup.txt | 16 +- ..._Subsystems_Validation_MultiplePumpsDp.txt | 14 +- ...ubsystems_Validation_MultiplePumpsFlow.txt | 10 +- ...bsystems_Validation_MultiplePumpsSpeed.txt | 14 +- ...mbined_Validation_AllElectricCWStorage.txt | 104 +-- ...oling_BaseClasses_Validation_IdealUser.txt | 8 +- ...oling_Examples_ElectricChillerParallel.txt | 10 +- ...ooling_Examples_StoragePlantDualSource.txt | 34 +- ...stems_Examples_CoolingTowersWithBypass.txt | 14 +- ...DHC_Plants_Steam_Examples_SingleBoiler.txt | 16 +- ...ntrols_Examples_ChillerSetPointControl.txt | 8 +- ...gs_Examples_DualFanDualDuct_ClosedLoop.txt | 58 +- ...es_HydronicHeating_TwoRoomsWithStorage.txt | 30 +- ..._BuildingVAV_Examples_OneFloor_OneZone.txt | 16 +- ..._BuildingVAV_Examples_TwoFloor_TwoZone.txt | 18 +- .../Dymola/Buildings_Examples_SimpleHouse.txt | 12 +- ...dings_Examples_Tutorial_Boiler_System2.txt | 6 +- ...dings_Examples_Tutorial_Boiler_System3.txt | 8 +- ...dings_Examples_Tutorial_Boiler_System4.txt | 12 +- ...dings_Examples_Tutorial_Boiler_System5.txt | 12 +- ...dings_Examples_Tutorial_Boiler_System6.txt | 14 +- ...dings_Examples_Tutorial_Boiler_System7.txt | 14 +- ...uildings_Examples_Tutorial_CDL_System1.txt | 12 +- ...uildings_Examples_Tutorial_CDL_System2.txt | 12 +- ...uildings_Examples_Tutorial_CDL_System3.txt | 12 +- ...uildings_Examples_Tutorial_CDL_System4.txt | 14 +- ...uildings_Examples_Tutorial_CDL_System5.txt | 18 +- ...uildings_Examples_Tutorial_CDL_System6.txt | 18 +- ...ples_Tutorial_SimpleHouse_SimpleHouse6.txt | 10 +- ...Examples_Tutorial_SpaceCooling_System2.txt | 8 +- ...Examples_Tutorial_SpaceCooling_System3.txt | 12 +- ...ngs_Examples_VAVCO2_VAVSystemCTControl.txt | 60 +- ...uildings_Examples_VAVReheat_ASHRAE2006.txt | 52 +- ...ildings_Examples_VAVReheat_Guideline36.txt | 44 +- ...heat_Validation_Guideline36SteadyState.txt | 4 +- ...es_VAVReheat_Validation_TraceSubstance.txt | 20 +- ...d_Actuators_Dampers_Examples_MixingBox.txt | 10 +- ..._Dampers_Examples_MixingBoxMinimumFlow.txt | 12 +- ...ors_Dampers_Examples_VAVBoxExponential.txt | 12 +- ...rs_Examples_BoilerPolynomialClosedLoop.txt | 14 +- ...Ps_OrganicRankine_Examples_ORCHotWater.txt | 18 +- ...ooling_AirSource_Examples_SpaceCooling.txt | 24 +- ...ldings_Fluid_Examples_FlowSystem_Basic.txt | 8 +- ..._Fluid_Examples_FlowSystem_Simplified1.txt | 8 +- ..._Fluid_Examples_FlowSystem_Simplified2.txt | 8 +- ..._Fluid_Examples_FlowSystem_Simplified3.txt | 8 +- ..._Examples_ResistanceVolumeFlowReversal.txt | 8 +- ...xportContainers_Examples_FMUs_HVACZone.txt | 30 +- ...portContainers_Examples_FMUs_HVACZones.txt | 106 ++-- ...I_ExportContainers_Validation_RoomHVAC.txt | 20 +- ...thermal_Aquifer_Examples_CoolingOffice.txt | 6 +- ...thermal_Aquifer_Validation_NumberWells.txt | 4 +- ...rmal_Aquifer_Validation_SimulationTest.txt | 6 +- ...ngTowers_Examples_FixedApproachDryBulb.txt | 10 +- ...ngTowers_Examples_FixedApproachWetBulb.txt | 10 +- ...changers_CoolingTowers_Examples_Merkel.txt | 12 +- ...angers_CoolingTowers_Examples_YorkCalc.txt | 20 +- ...id_HeatExchangers_Examples_AirHeater_T.txt | 6 +- ...id_HeatExchangers_Examples_AirHeater_u.txt | 10 +- ...rs_Examples_DryCoilCounterFlowPControl.txt | 20 +- ...amples_DryCoilEffectivenessNTUPControl.txt | 16 +- ...eHeatExchangerEffectivenessNTUPControl.txt | 16 +- ..._HeatExchangers_Examples_WaterCooler_T.txt | 12 +- ..._HeatExchangers_Examples_WaterHeater_T.txt | 12 +- ..._HeatExchangers_Examples_WaterHeater_u.txt | 10 +- ...rs_Examples_WetCoilCounterFlowPControl.txt | 16 +- ...quationFitReversible_CoolingClosedLoop.txt | 16 +- ...ons_ActiveNetworks_Examples_Decoupling.txt | 30 +- ...tiveNetworks_Examples_DecouplingMixing.txt | 42 +- ...etworks_Examples_DecouplingTemperature.txt | 38 +- ...iveNetworks_Examples_InjectionThreeWay.txt | 24 +- ...rks_Examples_InjectionTwoWayCheckValve.txt | 36 +- ...works_Examples_InjectionTwoWayConstant.txt | 28 +- ...Examples_InjectionTwoWayConstantReturn.txt | 28 +- ...works_Examples_InjectionTwoWayVariable.txt | 34 +- ...Examples_InjectionTwoWayVariableReturn.txt | 40 +- ...s_ActiveNetworks_Examples_SingleMixing.txt | 30 +- ...ns_PassiveNetworks_Examples_DualMixing.txt | 38 +- ..._PassiveNetworks_Examples_SingleMixing.txt | 50 +- ...ngs_Fluid_Movers_Examples_ClosedLoop_y.txt | 10 +- ...gs_Fluid_Movers_Examples_PumpsParallel.txt | 14 +- ...ings_Fluid_Movers_Examples_PumpsSeries.txt | 12 +- ...ings_Fluid_Movers_Examples_StaticReset.txt | 16 +- ...ion_ControlledFlowMachinePreconfigured.txt | 16 +- ...overs_Validation_ControlledFlowMachine.txt | 16 +- ...alidation_ControlledFlowMachineDynamic.txt | 16 +- ..._Fluid_Movers_Validation_PressureCurve.txt | 4 +- ...Fluid_Movers_Validation_Pump_y_stratos.txt | 34 +- ...rCollectors_Examples_FlatPlateWithTank.txt | 10 +- ...bsolete_Examples_VAVReheat_Guideline36.txt | 42 +- ...heat_Validation_Guideline36SteadyState.txt | 8 +- ...xamples_VAVReheat_Validation_VAVBranch.txt | 8 +- ...rCollectors_Examples_FlatPlateWithTank.txt | 10 +- ...irHandlersFans_Validation_VAVMultiZone.txt | 16 +- ..._Templates_Components_Validation_Coils.txt | 16 +- ...emplates_Components_Validation_Dampers.txt | 16 +- ...s_Templates_Components_Validation_Fans.txt | 10 +- ..._Templates_Components_Validation_Pumps.txt | 28 +- ...Templates_Components_Validation_Valves.txt | 24 +- ...ponents_Validation_HeatRecoveryChiller.txt | 12 +- ...nents_Validation_PumpsPrimaryDedicated.txt | 34 +- ..._Components_Validation_ValvesIsolation.txt | 26 +- ...Plants_HeatPumps_Validation_AirToWater.txt | 54 +- ...Equipment_Validation_VAVBoxCoolingOnly.txt | 6 +- ..._ZoneEquipment_Validation_VAVBoxReheat.txt | 6 +- ..._Validation_SingleZoneFloorWithHeating.txt | 22 +- ..._Examples_SingleFamilyHouse_AirHeating.txt | 12 +- ...atPumpRadiantHeatingGroundHeatTransfer.txt | 20 +- ...amilyHouse_RadiantHeatingCooling_TRoom.txt | 26 +- ...lyHouse_RadiantHeatingCooling_TSurface.txt | 24 +- ..._Examples_SmallOffice_ASHRAE2006Spring.txt | 46 +- ..._Examples_SmallOffice_ASHRAE2006Summer.txt | 44 +- ..._Examples_SmallOffice_ASHRAE2006Winter.txt | 46 +- ...Examples_SmallOffice_Guideline36Spring.txt | 44 +- ...Examples_SmallOffice_Guideline36Summer.txt | 40 +- ...Examples_SmallOffice_Guideline36Winter.txt | 42 +- ..._0_Validation_ThermalZone_Infiltration.txt | 8 +- .../Resources/Scripts/BuildingsPy/conf.yml | 13 +- .../ConvertBuildings_from_11_to_12.0.0.mos | 76 +++ .../HeatPumps/Validation/AirToWater.mos | 2 +- .../travis/templates/AirHandlersFans.checksum | 2 +- .../templates/Plants.HeatPumps.checksum | 2 +- .../travis/templates/ZoneEquipment.checksum | 2 +- .../PartialOutdoorSectionDedicatedDampers.mo | 4 +- .../MixedAirWithDamper.mo | 2 +- .../Components/OutdoorSection/SingleDamper.mo | 2 +- .../ReliefReturnSection/NoReturn.mo | 2 +- .../ReliefReturnSection/ReliefDamper.mo | 2 +- .../ReliefReturnSection/ReliefFan.mo | 2 +- .../ReliefReturnSection/ReturnFan.mo | 2 +- .../Templates/Components/Actuators/Damper.mo | 35 +- .../Templates/Components/Actuators/Valve.mo | 127 ++-- .../Components/Coils/WaterBasedCooling.mo | 2 +- .../Components/Coils/WaterBasedHeating.mo | 2 +- .../Components/Fans/ArrayVariable.mo | 7 +- .../Components/Fans/SingleConstant.mo | 10 +- .../Components/Fans/SingleVariable.mo | 8 +- .../HeatPumps/Components/ValvesIsolation.mo | 40 +- .../ZoneEquipment/Interfaces/VAVBox.mo | 2 +- .../Examples/SingleFamilyHouse/Radiator.mo | 2 +- .../UsersGuide/ReleaseNotes/Version_12_0_0.mo | 106 +++- 331 files changed, 4345 insertions(+), 3045 deletions(-) create mode 100644 Buildings/Resources/Images/Fluid/Actuators/valveResponse.svg create mode 100644 Buildings/Resources/Images/Fluid/Movers/UsersGuide/fanSpeedFiltered.svg diff --git a/Buildings/.copiedFiles.txt b/Buildings/.copiedFiles.txt index 87c39bb5cf2..7bb00d56c54 100644 --- a/Buildings/.copiedFiles.txt +++ b/Buildings/.copiedFiles.txt @@ -2293,6 +2293,7 @@ Buildings/Resources/Images/Fluid/Actuators/Valves/Examples/TwoWayValveTable_kv.p Buildings/Resources/Images/Fluid/Actuators/threeWayValvePressureDropSeries.png Buildings/Resources/Images/Fluid/Actuators/valvePressureDropSeries.png Buildings/Resources/Images/Fluid/Actuators/valveResponse.png +Buildings/Resources/Images/Fluid/Actuators/valveResponse.svg Buildings/Resources/Images/Fluid/Actuators/valveSchematic.png Buildings/Resources/Images/Fluid/FMI/ExportContainers/Validation/RoomConvectiveHVACConvective.pdf Buildings/Resources/Images/Fluid/FMI/ExportContainers/Validation/RoomConvectiveHVACConvective.png @@ -2355,8 +2356,11 @@ Buildings/Resources/Images/Fluid/Movers/BaseClasses/Validation/NegativePressureO Buildings/Resources/Images/Fluid/Movers/BaseClasses/Validation/NegativePressureOrFlow.svg Buildings/Resources/Images/Fluid/Movers/Data/stratoscurve.png Buildings/Resources/Images/Fluid/Movers/Examples/Supply.png +Buildings/Resources/Images/Fluid/Movers/Preconfigured/PumpCharacteristic.png +Buildings/Resources/Images/Fluid/Movers/Preconfigured/PumpCharacteristic.svg Buildings/Resources/Images/Fluid/Movers/UsersGuide/2013-IBPSA-Wetter.pdf Buildings/Resources/Images/Fluid/Movers/UsersGuide/fanSpeedFiltered.png +Buildings/Resources/Images/Fluid/Movers/UsersGuide/fanSpeedFiltered.svg Buildings/Resources/Images/Fluid/Movers/UsersGuide/pumpCurve.png Buildings/Resources/Images/Fluid/Movers/Validation/PumpValidationHead.png Buildings/Resources/Images/Fluid/Movers/Validation/PumpValidationPower.png diff --git a/Buildings/Air/Systems/SingleZone/VAV/ChillerDXHeatingEconomizer.mo b/Buildings/Air/Systems/SingleZone/VAV/ChillerDXHeatingEconomizer.mo index 52712bb4618..5d59fe23743 100644 --- a/Buildings/Air/Systems/SingleZone/VAV/ChillerDXHeatingEconomizer.mo +++ b/Buildings/Air/Systems/SingleZone/VAV/ChillerDXHeatingEconomizer.mo @@ -124,14 +124,12 @@ model ChillerDXHeatingEconomizer final m_flow_nominal=mAir_flow_nominal, final nominalValuesDefineDefaultPressureCurve=true, final dp_nominal=875, - final per( - final etaHydMet=Buildings.Fluid.Movers.BaseClasses.Types.HydraulicEfficiencyMethod.NotProvided, - final etaMotMet=Buildings.Fluid.Movers.BaseClasses.Types.MotorEfficiencyMethod.NotProvided), + final per(final etaHydMet=Buildings.Fluid.Movers.BaseClasses.Types.HydraulicEfficiencyMethod.NotProvided, + final etaMotMet=Buildings.Fluid.Movers.BaseClasses.Types.MotorEfficiencyMethod.NotProvided), final energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, final allowFlowReversal=false, - final use_inputFilter=false, - redeclare package Medium = MediumA) - "Supply fan" + final use_riseTime=false, + redeclare package Medium = MediumA) "Supply fan" annotation (Placement(transformation(extent={{-30,30},{-10,50}}))); Buildings.Fluid.FixedResistances.PressureDrop totalRes( final m_flow_nominal=mAir_flow_nominal, @@ -182,7 +180,7 @@ model ChillerDXHeatingEconomizer extent={{10,-10},{-10,10}}, origin={138,-174}))); Buildings.Fluid.Movers.FlowControlled_m_flow pumChiWat( - final use_inputFilter=false, + final use_riseTime=false, final allowFlowReversal=false, redeclare package Medium = MediumW, final energyDynamics=Modelica.Fluid.Types.Dynamics.SteadyState, @@ -195,9 +193,7 @@ model ChillerDXHeatingEconomizer final dp_nominal=12000, final inputType=Buildings.Fluid.Types.InputType.Continuous, final nominalValuesDefineDefaultPressureCurve=true) - "Pump for chilled water loop" - annotation ( - Placement(transformation( + "Pump for chilled water loop" annotation (Placement(transformation( extent={{-10,-10},{10,10}}, rotation=90, origin={120,-90}))); @@ -664,4 +660,4 @@ First implementation. ")); -end ChillerDXHeatingEconomizer; \ No newline at end of file +end ChillerDXHeatingEconomizer; diff --git a/Buildings/Applications/BaseClasses/Equipment/ElectricChillerParallel.mo b/Buildings/Applications/BaseClasses/Equipment/ElectricChillerParallel.mo index 2869b111ec2..026892dac5f 100644 --- a/Buildings/Applications/BaseClasses/Equipment/ElectricChillerParallel.mo +++ b/Buildings/Applications/BaseClasses/Equipment/ElectricChillerParallel.mo @@ -4,10 +4,9 @@ model ElectricChillerParallel "Multiple identical electric chillers" redeclare final Buildings.Fluid.Chillers.ElectricEIR chi[num]( final per=per)); - replaceable parameter Buildings.Fluid.Chillers.Data.ElectricEIR.Generic per[num] - "Performance data" - annotation (choicesAllMatching = true, - Placement(transformation(extent={{42,74},{62,94}}))); + replaceable parameter Buildings.Fluid.Chillers.Data.ElectricEIR.Generic per[ + numAct] "Performance data" annotation (choicesAllMatching=true, Placement( + transformation(extent={{42,74},{62,94}}))); annotation ( Documentation(info="

This model implements a chiller parallel with num identical chillers. For the chiller model please see diff --git a/Buildings/Applications/BaseClasses/Equipment/Validation/ElectricChillerParallel.mo b/Buildings/Applications/BaseClasses/Equipment/Validation/ElectricChillerParallel.mo index 4618ea5a5e6..600c3009234 100644 --- a/Buildings/Applications/BaseClasses/Equipment/Validation/ElectricChillerParallel.mo +++ b/Buildings/Applications/BaseClasses/Equipment/Validation/ElectricChillerParallel.mo @@ -24,7 +24,6 @@ model ElectricChillerParallel "Model that test electric chiller parallel" per2 "Chiller performance data" annotation (Placement(transformation(extent={{32,50},{52,70}}))); Buildings.Applications.BaseClasses.Equipment.ElectricChillerParallel chiPar( - num=2, redeclare package Medium1 = Medium1, redeclare package Medium2 = Medium2, m1_flow_nominal=mEva_flow_nominal, @@ -104,10 +103,10 @@ equation annotation (Line(points={{-20,-50},{-16,-50},{-16,-26},{-10,-26}}, color={0,127,255})); connect(greaterThreshold.y, chiPar.on[1]) - annotation (Line(points={{-19,60},{-16,60},{-16,-17},{-12,-17}}, + annotation (Line(points={{-19,60},{-16,60},{-16,-16},{-12,-16}}, color={255,0,255})); connect(greaterThreshold.y, chiPar.on[2]) - annotation (Line(points={{-19,60},{-16,60},{-16,-15},{-12,-15}}, + annotation (Line(points={{-19,60},{-16,60},{-16,-16},{-12,-16}}, color={255,0,255})); connect(TSet.y, chiPar.TSet) annotation (Line(points={{-59,30},{-28,30},{-28,-20},{-12,-20}}, diff --git a/Buildings/Applications/BaseClasses/Equipment/Validation/PumpParallel.mo b/Buildings/Applications/BaseClasses/Equipment/Validation/PumpParallel.mo index 25e3d196737..9c851b7d305 100644 --- a/Buildings/Applications/BaseClasses/Equipment/Validation/PumpParallel.mo +++ b/Buildings/Applications/BaseClasses/Equipment/Validation/PumpParallel.mo @@ -18,8 +18,7 @@ model PumpParallel "Example that tests the model pump parallels" energyDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, threshold=thr1, tau=1, - use_inputFilter=false) - "Pumps with speed controlled" + use_riseTime=false) "Pumps with speed controlled" annotation (Placement(transformation(extent={{-18,30},{2,50}}))); Buildings.Fluid.FixedResistances.PressureDrop dp2( diff --git a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialChillerWSE.mo b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialChillerWSE.mo index 51a895fdf31..22cd2b6d9fb 100644 --- a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialChillerWSE.mo +++ b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialChillerWSE.mo @@ -12,7 +12,7 @@ partial model PartialChillerWSE numVal=4, final deltaM=deltaM1); extends Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilterParameters( - final numFil=1, + final numAct=1, final yValve_start={yValWSE_start}); extends Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.ThreeWayValveParameters( final activate_ThrWayVal=use_controller); @@ -32,7 +32,7 @@ partial model PartialChillerWSE annotation(Dialog(group="Two-way valve")); parameter Real[numChi] yValChi_start=fill(0,numChi) "Initial value of output from on/off valves in chillers" - annotation(Dialog(tab="Dynamics", group="Filtered opening",enable=use_inputFilter)); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve",enable=use_strokeTime)); //WSE parameter Modelica.Units.SI.Efficiency eta( @@ -45,10 +45,11 @@ partial model PartialChillerWSE annotation(Dialog(group="Two-way valve")); parameter Real yValWSE_start=0 "Initial value of output from on/off valve in WSE" - annotation(Dialog(tab="Dynamics", group="Filtered opening",enable=use_inputFilter)); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve",enable=use_strokeTime)); parameter Real yThrWayValWSE_start=0 "Initial value of output from three-way bypass valve in WSE" - annotation(Dialog(tab="Dynamics", group="Filtered opening",enable=use_controller and use_inputFilter)); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve", + enable=use_controller and use_strokeTime)); // Dynamics parameter Modelica.Fluid.Types.Dynamics energyDynamics=Modelica.Fluid.Types.Dynamics.DynamicFreeInitial @@ -157,8 +158,8 @@ partial model PartialChillerWSE final num=numChi, final per=perChi, final homotopyInitialization=homotopyInitialization, - final use_inputFilter=use_inputFilter, - final riseTimeValve=riseTimeValve, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final initValve=initValve, final m1_flow_nominal=m1_flow_chi_nominal, final m2_flow_nominal=m2_flow_chi_nominal, @@ -183,7 +184,8 @@ partial model PartialChillerWSE final yValve_start=yValChi_start) "Chillers with identical nominal parameters but different performance curves" annotation (Placement(transformation(extent={{-60,20},{-40,40}}))); - Buildings.Applications.DataCenters.ChillerCooled.Equipment.WatersideEconomizer wse( + Buildings.Applications.DataCenters.ChillerCooled.Equipment.WatersideEconomizer + wse( redeclare final replaceable package Medium1 = Medium1, redeclare final replaceable package Medium2 = Medium2, final CvData=Buildings.Fluid.Types.CvTypes.OpPoint, @@ -203,8 +205,8 @@ partial model PartialChillerWSE final deltaM2=deltaM2, final homotopyInitialization=homotopyInitialization, final l=lValWSE, - final use_inputFilter=use_inputFilter, - final riseTimeValve=riseTimeValve, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final initValve=initValve, final energyDynamics=energyDynamics, final p_start=p2_start, @@ -243,8 +245,7 @@ partial model PartialChillerWSE final show_T=show_T, final portFlowDirection_1=portFlowDirection_1, final portFlowDirection_2=portFlowDirection_2, - final portFlowDirection_3=portFlowDirection_3) - "Waterside economizer" + final portFlowDirection_3=portFlowDirection_3) "Waterside economizer" annotation (Placement(transformation(extent={{40,20},{60,40}}))); Buildings.Fluid.Sensors.TemperatureTwoPort senTem( redeclare final replaceable package Medium = Medium2, diff --git a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialCoolingCoilHumidifyingHeating.mo b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialCoolingCoilHumidifyingHeating.mo index fe1da604839..ab1844d4131 100644 --- a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialCoolingCoilHumidifyingHeating.mo +++ b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialCoolingCoilHumidifyingHeating.mo @@ -38,20 +38,20 @@ partial model PartialCoolingCoilHumidifyingHeating "Partial AHU model " "Valve leakage, l=Kv(y=0)/Kv(y=1)" annotation(Dialog(group="Valve")); - parameter Boolean use_inputFilterValve=false - "= true, if opening is filtered with a 2nd order CriticalDamping filter for the water-side valve" + parameter Boolean use_strokeTime=false + "Set to true to continuously open and close valve on the water-side" annotation(Dialog(tab="Dynamics", group="Valve")); - parameter Modelica.Units.SI.Time riseTimeValve=120 - "Rise time of the filter for the water-side valve (time to reach 99.6 % of an opening step)" + parameter Modelica.Units.SI.Time strokeTime=120 + "Time needed to open or close valve" annotation (Dialog( tab="Dynamics", group="Valve", - enable=use_inputFilterValve)); + enable=use_strokeTime)); parameter Modelica.Blocks.Types.Init initValve=Modelica.Blocks.Types.Init.InitialOutput "Type of initialization (no init/steady state/initial state/initial output)" - annotation(Dialog(tab="Dynamics", group="Valve",enable=use_inputFilterValve)); + annotation(Dialog(tab="Dynamics", group="Valve",enable=use_strokeTime)); parameter Real yValve_start=1 "Initial value of output" - annotation(Dialog(tab="Dynamics", group="Valve",enable=use_inputFilterValve)); + annotation(Dialog(tab="Dynamics", group="Valve",enable=use_strokeTime)); // fan parameters parameter Buildings.Fluid.Types.InputType inputType = Buildings.Fluid.Types.InputType.Continuous "Control input type" @@ -62,20 +62,20 @@ partial model PartialCoolingCoilHumidifyingHeating "Partial AHU model " parameter Modelica.Units.SI.Time tauFan=1 "Time constant at nominal flow (if energyDynamics <> SteadyState)" annotation (Dialog(tab="Dynamics", group="Fan")); - parameter Boolean use_inputFilterFan=true - "= true, if speed is filtered with a 2nd order CriticalDamping filter" + parameter Boolean use_riseTime=true + "Set to true to continuously change motor speed" annotation(Dialog(tab="Dynamics", group="Fan")); - parameter Modelica.Units.SI.Time riseTimeFan=30 - "Rise time of the filter (time to reach 99.6 % of the speed)" annotation ( + parameter Modelica.Units.SI.Time riseTime=30 + "Time needed to change motor speed between zero and full speed" annotation ( Dialog( tab="Dynamics", group="Fan", - enable=use_inputFilterFan)); + enable=use_riseTime)); parameter Modelica.Blocks.Types.Init initFan=Modelica.Blocks.Types.Init.InitialOutput "Type of initialization (no init/steady state/initial state/initial output)" - annotation(Dialog(tab="Dynamics", group="Fan",enable=use_inputFilterFan)); + annotation(Dialog(tab="Dynamics", group="Fan",enable=use_riseTime)); parameter Real yFan_start(min=0, max=1, unit="1")=0 "Initial value of speed" - annotation(Dialog(tab="Dynamics", group="Fan",enable=use_inputFilterFan)); + annotation(Dialog(tab="Dynamics", group="Fan",enable=use_riseTime)); replaceable parameter Buildings.Fluid.Movers.Data.Generic perFan "Performance data for the fan" annotation (Placement(transformation(extent={{-80,80},{-60,100}}))); @@ -127,24 +127,23 @@ if not inputType == Buildings.Fluid.Types.InputType.Stages annotation (Placement(transformation(extent={{60,-64},{80,-44}}))); replaceable Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine fan constrainedby Buildings.Fluid.Movers.BaseClasses.PartialFlowMachine( - redeclare final package Medium = Medium2, - final per=perFan, - final allowFlowReversal=allowFlowReversal2, - final show_T=show_T, - final energyDynamics=energyDynamics, - final inputType=inputType, - final tau=tauFan, - final addPowerToMedium=addPowerToMedium, - final use_inputFilter=use_inputFilterFan, - final riseTime=riseTimeFan, - final init=initFan, - final p_start=p_start, - final T_start=T_start, - final X_start=X_start, - final C_start=C_start, - final C_nominal=C_nominal, - final m_flow_small=m2_flow_small) - "Fan" + redeclare final package Medium = Medium2, + final per=perFan, + final allowFlowReversal=allowFlowReversal2, + final show_T=show_T, + final energyDynamics=energyDynamics, + final inputType=inputType, + final tau=tauFan, + final addPowerToMedium=addPowerToMedium, + final use_riseTime=use_riseTime, + final riseTime=riseTime, + final init=initFan, + final p_start=p_start, + final T_start=T_start, + final X_start=X_start, + final C_start=C_start, + final C_nominal=C_nominal, + final m_flow_small=m2_flow_small) "Fan" annotation (Placement(transformation(extent={{-50,-70},{-70,-50}}))); replaceable Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValveKv watVal constrainedby Buildings.Fluid.Actuators.BaseClasses.PartialTwoWayValveKv( @@ -157,8 +156,8 @@ if not inputType == Buildings.Fluid.Types.InputType.Stages final homotopyInitialization=homotopyInitialization, final linearized=linearizeFlowResistance1, final rhoStd=rhoStd, - final use_inputFilter=use_inputFilterValve, - final riseTime=riseTimeValve, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final init=initValve, final y_start=yValve_start, final dpValve_nominal=dpValve_nominal, diff --git a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialHeatExchanger.mo b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialHeatExchanger.mo index 31371024992..75321fd3291 100644 --- a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialHeatExchanger.mo +++ b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialHeatExchanger.mo @@ -21,23 +21,25 @@ partial model PartialHeatExchanger "Partial model for heat exchangers " start=0.8) "constant effectiveness"; // Filter opening - parameter Boolean use_inputFilter=true - "= true, if opening is filtered with a 2nd order CriticalDamping filter" - annotation(Dialog(tab="Dynamics", group="Filtered opening",enable=activate_ThrWayVal)); - parameter Modelica.Units.SI.Time riseTime=30 - "Rise time of the filter (time to reach 99.6 % of an opening step)" + parameter Boolean use_strokeTime=true + "Set to true to continuously open and close valve" + annotation(Dialog(tab="Dynamics", group= + "Time needed to open or close valve", + enable=activate_ThrWayVal)); + parameter Modelica.Units.SI.Time strokeTime=30 + "Time needed to open or close valve" annotation (Dialog( tab="Dynamics", - group="Filtered opening", - enable=(activate_ThrWayVal and use_inputFilter))); + group="Time needed to open or close valve", + enable=(activate_ThrWayVal and use_strokeTime))); parameter Modelica.Blocks.Types.Init init=Modelica.Blocks.Types.Init.InitialOutput "Type of initialization (no init/steady state/initial state/initial output)" - annotation(Dialog(tab="Dynamics", group="Filtered opening", - enable=(activate_ThrWayVal and use_inputFilter))); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve", + enable=(activate_ThrWayVal and use_strokeTime))); parameter Real yThrWayVal_start=1 "Initial value of output from the filter in the bypass valve" - annotation(Dialog(tab="Dynamics", group="Filtered opening", - enable=(activate_ThrWayVal and use_inputFilter))); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve", + enable=(activate_ThrWayVal and use_strokeTime))); parameter Modelica.Units.SI.PressureDifference dpValve_nominal( displayUnit="Pa", min=0, @@ -67,8 +69,8 @@ partial model PartialHeatExchanger "Partial model for heat exchangers " final linearized={linearizeFlowResistance2,linearizeFlowResistance2}, final rhoStd=rhoStd, final homotopyInitialization=homotopyInitialization, - final use_inputFilter=use_inputFilter, - final riseTime=riseTime, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final init=init, final R=R, final delta0=delta0, diff --git a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialIntegratedPrimary.mo b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialIntegratedPrimary.mo index 6eb1e72aca9..c7a335b7ea7 100644 --- a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialIntegratedPrimary.mo +++ b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialIntegratedPrimary.mo @@ -14,12 +14,12 @@ model PartialIntegratedPrimary parameter Real yVal5_start(min=0,max=1) = 0 "Initial value of output:0-closed, 1-fully opened" - annotation(Dialog(tab="Dynamics", group="Filtered opening", - enable=use_inputFilter)); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve", + enable=use_strokeTime)); parameter Real yVal6_start(min=0,max=1) = 1-yVal5_start "Initial value of output:0-closed, 1-fully opened" - annotation(Dialog(tab="Dynamics", group="Filtered opening", - enable=use_inputFilter)); + annotation(Dialog(tab="Dynamics", group="Time needed to open or close valve", + enable=use_strokeTime)); Modelica.Blocks.Interfaces.RealInput yVal6( final unit = "1", @@ -56,15 +56,14 @@ model PartialIntegratedPrimary final homotopyInitialization=homotopyInitialization, final linearized=linearizeFlowResistance2, final deltaM=deltaM2, - final use_inputFilter=use_inputFilter, - final riseTime=riseTimeValve, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final init=initValve, final dpFixed_nominal=0, final dpValve_nominal=dpValve_nominal[5], final l=lVal5, final rhoStd=rhoStd[5], - final y_start=yVal5_start) - "Bypass valve: closed when fully mechanic cooling is activated; + final y_start=yVal5_start) "Bypass valve: closed when fully mechanic cooling is activated; open when fully mechanic cooling is activated" annotation (Placement(transformation(extent={{60,-30},{40,-10}}))); Buildings.Fluid.Actuators.Valves.TwoWayLinear val6( @@ -77,15 +76,14 @@ model PartialIntegratedPrimary final homotopyInitialization=homotopyInitialization, final linearized=linearizeFlowResistance2, final deltaM=deltaM2, - final use_inputFilter=use_inputFilter, - final riseTime=riseTimeValve, + final use_strokeTime=use_strokeTime, + final strokeTime=strokeTime, final init=initValve, final dpFixed_nominal=0, final dpValve_nominal=dpValve_nominal[6], final l=lVal6, final rhoStd=rhoStd[6], - final y_start=yVal6_start) - "Bypass valve: closed when free cooling mode is deactivated; + final y_start=yVal6_start) "Bypass valve: closed when free cooling mode is deactivated; open when free cooling is activated" annotation (Placement(transformation(extent={{-30,-30},{-50,-10}}))); diff --git a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialPlantParallel.mo b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialPlantParallel.mo index 4adb5f50d7d..9bb7c11b76d 100644 --- a/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialPlantParallel.mo +++ b/Buildings/Applications/DataCenters/ChillerCooled/Equipment/BaseClasses/PartialPlantParallel.mo @@ -9,7 +9,7 @@ partial model PartialPlantParallel Medium2.density_pTX(101325, 273.15+4, Medium2.X_default)}, final deltaM=deltaM1); extends Buildings.Applications.DataCenters.ChillerCooled.Equipment.BaseClasses.SignalFilter( - final numFil=num); + final numAct=num); constant Boolean homotopyInitialization = true "= true, use homotopy method" annotation(HideResult=true); @@ -26,9 +26,9 @@ partial model PartialPlantParallel each dpFixed_nominal=dp2_nominal, each final show_T=show_T, each final homotopyInitialization=homotopyInitialization, - each final riseTime=riseTimeValve, + each final strokeTime=strokeTime, each final init=initValve, - each final use_inputFilter=false, + each final use_strokeTime=false, each final deltaM=deltaM2, each final l=l[2], final y_start=yValve_start, @@ -49,8 +49,8 @@ partial model PartialPlantParallel each dpFixed_nominal=dp1_nominal, each final show_T=show_T, each final homotopyInitialization=homotopyInitialization, - each final use_inputFilter=false, - each final riseTime=riseTimeValve, + each final use_strokeTime=false, + each final strokeTime=strokeTime, each final init=initValve, final y_start=yValve_start, each final deltaM=deltaM1, @@ -80,9 +80,9 @@ equation annotation (Line(points={{-40,-42},{-40,-60},{-100,-60}}, color={0,127,255})); end for; - if use_inputFilter then - connect(booToRea.y, filter.u) - annotation (Line(points={{-67.4,40},{-60,40},{-60,84},{-55.2,84}}, + if use_strokeTime then + connect(booToRea.y, actPos.u) + annotation (Line(points={{-67.4,40},{-60,40},{-60,84},{-48.8,84}}, color={0,0,127})); else connect(booToRea.y, y_actual) @@ -118,6 +118,11 @@ The signal filter is used to smoothe the on/off signal for the valves. revisions="