HeatPumpAirToWaterCooling and HeatPumpAirToWaterCoolingSpeedData constructors use heating-mode ratings and curves
I maintainer di solito rispondono entro 10 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
Direzione di ricerca
Leggi HeatPumpAirToWaterCooling.cpp intorno alle righe 554–556 e HeatPumpAirToWaterCoolingSpeedData.cpp intorno alle righe 239–275, quindi confronta le curve di raffreddamento suggerite con PlantLoopHeatPump_EIR_AirSource_and_AWHP.idf. Aggiorna i valori predefiniti del costruttore e i dati delle curve, quindi rivedi le aspettative in HeatPumpAirToWaterCooling_GTest.cpp (righe 65 e 87). Il lavoro è completato quando le temperature di rating e le curve predefinite corrispondono ai valori di raffreddamento nell’issue e i test riflettono i nuovi rating.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Issue overview
The constructors for the cooling side of HeatPumpAirToWater use the heating defaults:
HeatPumpAirToWaterCooling(const Model&)sets the heating rating conditions: Rated Inlet Air Temperature = 8 °C, Rated Leaving Water Temperature = 40 °C (HeatPumpAirToWaterCooling.cpp#L554-L556). EnergyPlus's IDD defaults for cooling mode are 30 °C inlet air and 8 °C leaving water. Its defaults for heating mode are 8 °C and 40 °C.HeatPumpAirToWaterCoolingSpeedData(const Model&)creates the heating curves (HeatPumpAirToWaterCoolingSpeedData.cpp#L239-L275). They are named... CapCurveFuncTempHTand... EIRCurveFuncTempHT. Their coefficients and limits are those ofCapCurveFuncTempHT2andEIRCurveFuncTempHT2in PlantLoopHeatPump_EIR_AirSource_and_AWHP.idf. The x range of 30–50 °C is a hot water leaving temperature, so with chilled water at about 7 °C, x is far outside the curve's range.
A cooling mode made with default constructors therefore uses heating ratings and heating performance curves.
Current Behavior
m = OpenStudio::Model::Model.new
c = OpenStudio::Model::HeatPumpAirToWaterCooling.new(m)
c.ratedInletAirTemperature # => 8.0
c.ratedLeavingWaterTemperature # => 40.0
s = OpenStudio::Model::HeatPumpAirToWaterCoolingSpeedData.new(m)
cap = s.normalizedCoolingCapacityFunctionofTemperatureCurve.to_CurveBiquadratic.get
cap.nameString # => "Heat Pump Air To Water Cooling Speed Data 1 CapCurveFuncTempHT"
cap.coefficient1Constant # => 0.885 (same as the heating speed data)
[cap.minimumValueofx, cap.maximumValueofx] # => [30.0, 50.0]
Expected Behavior
The cooling mode defaults to the cooling rating conditions, and the cooling speed data defaults to cooling curves.
Suggested fix
In HeatPumpAirToWaterCooling::HeatPumpAirToWaterCooling(const Model&), use the EnergyPlus IDD cooling defaults:
setRatedInletAirTemperature(30.0);
setRatedLeavingWaterTemperature(8.0);
In HeatPumpAirToWaterCoolingSpeedData::HeatPumpAirToWaterCoolingSpeedData(const Model&), use the cooling curves from the same example file. The heating default matches that unit's speed 2 (CapCurveFuncTempHT2), so its cooling counterparts are CapCurveFuncTempCL2 and EIRCurveFuncTempCL2:
CurveBiquadratic capFT(model);
capFT.setName(fmt::format("{} CapCurveFuncTempCL", this->nameString()));
capFT.setCoefficient1Constant(0.910);
capFT.setCoefficient2x(-0.00034);
capFT.setCoefficient3xPOW2(-0.00040);
capFT.setCoefficient4y(-0.0096);
capFT.setCoefficient5yPOW2(0.0208);
capFT.setCoefficient6xTIMESY(-0.000205);
capFT.setMinimumValueofx(5.0);
capFT.setMaximumValueofx(15.0);
capFT.setMinimumValueofy(15.0);
capFT.setMaximumValueofy(45.0);
capFT.setMinimumCurveOutput(0.7);
capFT.setMaximumCurveOutput(1.3);
CurveBiquadratic eirFT(model);
eirFT.setName(fmt::format("{} EIRCurveFuncTempCL", this->nameString()));
eirFT.setCoefficient1Constant(0.990);
eirFT.setCoefficient2x(0.00019);
eirFT.setCoefficient3xPOW2(0.00017);
eirFT.setCoefficient4y(0.0075);
eirFT.setCoefficient5yPOW2(-0.0078);
eirFT.setCoefficient6xTIMESY(0.000165);
eirFT.setMinimumValueofx(5.0);
eirFT.setMaximumValueofx(15.0);
eirFT.setMinimumValueofy(15.0);
eirFT.setMaximumValueofy(45.0);
eirFT.setMinimumCurveOutput(0.7);
eirFT.setMaximumCurveOutput(1.3);
(Speed 1's CapCurveFuncTempCL and EIRCurveFuncTempCL would also work. Either set is a cooling fit over chilled water leaving temperature, 5–15 °C, and outdoor air temperature, 15–45 °C.)
HeatPumpAirToWaterCooling_GTest.cpp asserts the current defaults, so its lines 65 and 87 (EXPECT_EQ(8.0, ...) and EXPECT_EQ(40.0, ...)) would change to 30.0 and 8.0.
Steps to Reproduce
- Create a
HeatPumpAirToWaterCoolingand aHeatPumpAirToWaterCoolingSpeedDatawith their default constructors. - Check the rated temperatures and the speed data's capacity and EIR curves, as shown above.
Possible Solution
See "Suggested fix" above.
Details
Environment
- Platform: Windows 11
- Version of OpenStudio: 3.11.0+241b8abb4d
Context
We found this while adding HeatPumpAirToWater to the OpenStudio Application library (OpenStudioApplication#896). In the library, we work around it by setting the cooling mode to 30 °C and 8 °C and giving its speed data CapCurveFuncTempCL and EIRCurveFuncTempCL from the example file.
- Lingua principale
- C++
- Stelle
- 657
- Fork
- 238
- Merge medio
- 4g 15h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NatLabRockies/OpenStudio
-
Triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
NatLabRockies/OpenStudio#5679 ·
I maintainer di solito rispondono entro 10 giorni
-
Design conditions not parsed for TMYx EPWForse già presa @joseph-robertson l’ha presa 2 giorni fa. Apertaseverity - Normal Bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 54/100
NatLabRockies/OpenStudio#5677 · 1 assegnatario ·
I maintainer di solito rispondono entro 10 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
NatLabRockies/OpenStudio#5674 ·
I maintainer di solito rispondono entro 10 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 49/100
NatLabRockies/OpenStudio#5673 ·
I maintainer di solito rispondono entro 10 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
NatLabRockies/OpenStudio#5672 ·
I maintainer di solito rispondono entro 10 giorni
Tutte le issue di NatLabRockies/OpenStudio
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Niko1221/Strata#5560 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
NVIDIA windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Apertakind/bug priority/medium qa_automation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37324 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
CharlotteCross1998/awesome-game-decompilations#61 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
godotengine/godot#125240 ·
I maintainer di solito rispondono entro 1 giorno