Open macumber opened 1 year ago
The IDD default in E+ has always been CounterFlow, at least since E+ 7.2.0.
The confusion probably came from the documentation (Input/Output reference), that was changed in E+ 8.9
E+ 8.8 and below:
The coil is operable in two modes, Cross Flow for general A/C applications and Counter flow mode. Air-conditioning systems generally use cross flow heat exchangers, hence the default is set to cross flow
E+ 8.9:
The coil is operable in two modes, Cross Flow for general A/C applications and Counter Flow mode. Air-conditioning systems generally use cross flow heat exchangers. The default is set to Counter Flow mode
E+ 9.1:
The coil is operable in two configurations: CounterFlow or CrossFlow. Chilled water coils are generally built as counter-flow. The default is CounterFlow..
E+ 9.2 till today:
The coil is operable in two configurations: CounterFlow or CrossFlow. Chilled water coils are generally built as counter-flow. The default is CounterFlow. The detailed NTU-Effectiveness relationships for each flow setting are described in the Engineering Reference, Section ‘Effectiveness Equations’ in ‘Simulation Models - Encyclopedic Reference: Coil’ chapter.
OpenStudio.idd
OS:Coil:Cooling:Water,
[...]
A9; \field Heat Exchanger Configuration
\type choice
- \default CrossFlow
\key CrossFlow
\key CounterFlow
E+ 7.2.0 Energy+.idd until today:
Coil:Cooling:Water,
[...]
A8 , \field Heat Exchanger Configuration
\type choice
\key CrossFlow
\key CounterFlow
+ \default CounterFlow
I'm not very inclined to change the default now. This is going to create a few problems:
CoilCoolingWater
that are present in a Ruby testCrossFlow
to maintain EUI results.The key thing is that we are EXPLICITLY setting the HX Configuration in the IDF. I would definitely address the issue if we didn't do that and we had different IDD defaults between OS SDK and E+ IDF as it would be VERY confusing.
m = Model.new
cc = CoilCoolingWater.new(m)
raise if cc.heatExchangerConfiguration != "CrossFlow"
puts cc
=> OS:Coil:Cooling:Water,
{93ce03ac-42af-4d89-ba0f-87a29aebcb42}, !- Handle
Coil Cooling Water 1, !- Name
[...]
, !- Type of Analysis
; !- Heat Exchanger Configuration
p = PlantLoop.new(m)
p.addDemandBranchForComponent(cc)
ft = OpenStudio::EnergyPlus::ForwardTranslator.new
w = ft.translateModel(m)
puts w.getObjectsByType("Coil:Cooling:Water")
=> Coil:Cooling:Water,
Coil Cooling Water 1, !- Name
[...]
SimpleAnalysis, !- Type of Analysis
CrossFlow; !- Heat Exchanger Configuration
Issue overview
The default cooling coil OS:Coil:Cooling:Water from the HVAC library has
Heat Exchanger Configuration
as nil. This is correct and should be translated to EnergyPlus as the default (CounterFlow for cooling coils).Current Behavior
When translated to EnergyPlus, the default field is translated to EnergyPlus as CrossFlow instead of the IDD default CounterFlow .
Expected Behavior
When translated to EnergyPlus, the default field is translated to EnergyPlus as the IDD default CounterFlow .
Steps to Reproduce
Heat Exchanger Configuration
blankPossible Solution
Respect IDD default on translation or remove IDD default
Details
Originally reported at https://github.com/openstudiocoalition/OpenStudioApplication/issues/581 by @Ski90Moo