Conversation
|
|
|
| termUnitSizing.InducRat = indUnit.InducRatio; | ||
| if (indUnit.heatCoilType == HVAC::CoilType::CoolingWater || | ||
| indUnit.heatCoilType == HVAC::CoilType::CoolingWaterDetailed) { | ||
| WaterCoils::SetCoilDesFlow(state, indUnit.heatCoilNum, termUnitSizing.AirVolFlow); |
There was a problem hiding this comment.
The diffs with 5ZoneFPIU is here. SetCoilDesFlow was called for heating and detailed cooling coils. This branch munged that call.
if (indUnit.heatCoilType == HVAC::CoilType::HeatingWater ||
indUnit.coolCoilType == HVAC::CoilType::CoolingWaterDetailed) {
src/EnergyPlus/FanCoilUnits.cc
Outdated
| state.dataSize->FinalZoneSizing(state.dataSize->CurZoneEqNum).DesCoolVolFlow); | ||
| WaterCoils::SetCoilDesFlow(state, | ||
| fanCoil.HeatCoilNum, | ||
| state.dataSize->FinalZoneSizing(state.dataSize->CurZoneEqNum).DesHeatVolFlow); |
There was a problem hiding this comment.
Diffs for FanCoilAutoSize_ASHRAE90VariableFan is here. There are 2 heating coils with HeatCoilNum = 1, one is an electric heating coil and the other is a water heating coil. When the first fan coil is processed, which has the electric heating coil, the air flow for zone 1 is passed to water heating coil 1. Then when the next fan coil calls SetCoilDesFlow for the water heating coil, it does not get set because water heating coil 1 was already set from fan coil 1 with electric heating coil num = 1.
void SetCoilDesFlow(EnergyPlusData &state, int const coilNum, Real64 const CoilDesFlow)
{
assert(coilNum > 0 && coilNum <= state.dataWaterCoils->NumWaterCoils);
if (state.dataWaterCoils->WaterCoil(coilNum).DesAirVolFlowRate <= 0.0) { <-- WaterCoil(1).DesAirVolFlowRate was set by the electric heating coil from fan coil 1
state.dataWaterCoils->WaterCoil(coilNum).DesAirVolFlowRate = CoilDesFlow;
}
}
Allowed coil types:
A11, \field Cooling Coil Object Type
\required-field
\type choice
\key Coil:Cooling:Water
\key Coil:Cooling:Water:DetailedGeometry
\key CoilSystem:Cooling:Water:HeatExchangerAssisted
A13, \field Heating Coil Object Type
\required-field
\type choice
\key Coil:Heating:Water
\key Coil:Heating:Electric
|
|
|
||
| if (HeatPump.bIsIHP) { | ||
| VSCoilNum = state.dataIntegratedHP->IntegratedHeatPumps(VSCoilNum).SCWHCoilIndex; | ||
| } |
There was a problem hiding this comment.
Issue/crash here for ASIHPMixedTank.idf where VSCoilNum is uninitialized (e.g., -858993460) when used at new line 8841. Should be:
int VSCoilNum = (HeatPump.bIsIHP) ? state.dataIntegratedHP->IntegratedHeatPumps(HeatPump.DXCoilNum)
|
|
|
|
|
@amirroth now that #11022 got merged, it's probably good to get develop merged in here. This has conflicts from that branch and possibly the curve branch as well. (And the plant location?) I will hold off and see if you want to do the conflict resolution here. If you want me to try to tackle it, just let me know and I'll give it a whirl. |
|
|
@amirroth @Myoldmopar it has been 28 days since this pull request was last updated. |
|
|
|
@amirroth @Myoldmopar it has been 29 days since this pull request was last updated. |
1 similar comment
|
@amirroth @Myoldmopar it has been 29 days since this pull request was last updated. |
|
@amirroth @Myoldmopar it has been 38 days since this pull request was last updated. |
|
@amirroth @Myoldmopar it has been 33 days since this pull request was last updated. |
|
@amirroth @Myoldmopar it has been 28 days since this pull request was last updated. |
2 similar comments
|
@amirroth @Myoldmopar it has been 28 days since this pull request was last updated. |
|
@amirroth @Myoldmopar it has been 28 days since this pull request was last updated. |
|
@amirroth @Myoldmopar it has been 28 days since this pull request was last updated. |
|
|
I'm going to try to get this into 26.1, wish me luck.
This is a simple but wide-ranging refactor because it touches coils. The main changes are:
HVAC::Coil_xfake enumeration toHVAC::CoilType::xreal enumeration, and all of the attendantgetInputconversions.HtgCoilType,ClgCoilTypeand other subset types of the mainHVAC::CoilTypeenumeration.GetCoilIndex(std::string const & coilName)andGetCoilX(int const coilNum)rather thanGetCoilX(HVAC::CoilType coilType, std::string const & coilName)pattern.HXAssistedCoolingCoilAPI.ReportCoilSelectionintermediate object (there is no need to wrap all of the data into a separate object whenstate.dataReportCoilSelectionis already an object. Propagate coil API pattern toReportCoilSelection.The next step would/could/should be making all Coils child classes of a single CoilBase (insert CoinBase joke here) class, moving them all to a single array, and then eliminating the various
switch (coil.coilType)constructs with single calls. I did not feel like doing that here.