@@ -255,7 +255,7 @@ namespace VariableSpeedCoils {
255255 // Allocate Arrays
256256 if (state.dataVariableSpeedCoils->NumVarSpeedCoils > 0) {
257257 state.dataVariableSpeedCoils->VarSpeedCoil.allocate(state.dataVariableSpeedCoils->NumVarSpeedCoils);
258- state.dataHeatBal->HeatReclaimVS_DXCoil .allocate(state.dataVariableSpeedCoils->NumVarSpeedCoils);
258+ state.dataHeatBal->HeatReclaimVS_Coil .allocate(state.dataVariableSpeedCoils->NumVarSpeedCoils);
259259 }
260260
261261 state.dataInputProcessing->inputProcessor->getObjectDefMaxArgs(
@@ -313,6 +313,8 @@ namespace VariableSpeedCoils {
313313
314314 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).bIsDesuperheater = false;
315315 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name = AlphArray(1);
316+ state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).Name = state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name;
317+ state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).SourceType = CurrentModuleObject;
316318 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).CoolHeatType = "COOLING";
317319 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).VSCoilType = HVAC::Coil_CoolingWaterToAirHPVSEquationFit;
318320 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).VarSpeedCoilType =
@@ -848,8 +850,8 @@ namespace VariableSpeedCoils {
848850 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).bIsDesuperheater = false;
849851 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name = AlphArray(1);
850852 // Initialize DataHeatBalance heat reclaim variable name for use by heat reclaim coils
851- state.dataHeatBal->HeatReclaimVS_DXCoil (DXCoilNum).Name = state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name;
852- state.dataHeatBal->HeatReclaimVS_DXCoil (DXCoilNum).SourceType = CurrentModuleObject;
853+ state.dataHeatBal->HeatReclaimVS_Coil (DXCoilNum).Name = state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Name;
854+ state.dataHeatBal->HeatReclaimVS_Coil (DXCoilNum).SourceType = CurrentModuleObject;
853855 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).CoolHeatType = "COOLING";
854856 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).VSCoilType = HVAC::Coil_CoolingAirToAirVariableSpeed;
855857 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).VarSpeedCoilType = HVAC::cAllCoilTypes(HVAC::Coil_CoolingAirToAirVariableSpeed);
@@ -4267,7 +4269,7 @@ namespace VariableSpeedCoils {
42674269 }
42684270
42694271 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).SimFlag = true;
4270- state.dataHeatBal->HeatReclaimVS_DXCoil (DXCoilNum).AvailCapacity = 0.0;
4272+ state.dataHeatBal->HeatReclaimVS_Coil (DXCoilNum).AvailCapacity = 0.0;
42714273
42724274 state.dataVariableSpeedCoils->MyEnvrnFlag(DXCoilNum) = false;
42734275
@@ -4395,7 +4397,7 @@ namespace VariableSpeedCoils {
43954397 state.dataVariableSpeedCoils->VSHPWHHeatingCapacity = 0.0; // Used by Heat Pump:Water Heater object as total water heating capacity [W]
43964398 state.dataVariableSpeedCoils->VSHPWHHeatingCOP = 0.0; // Used by Heat Pump:Water Heater object as water heating COP [W/W]
43974399 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).OutletWaterTemp = state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).InletWaterTemp;
4398- state.dataHeatBal->HeatReclaimVS_DXCoil (DXCoilNum).AvailCapacity = 0.0;
4400+ state.dataHeatBal->HeatReclaimVS_Coil (DXCoilNum).AvailCapacity = 0.0;
43994401 }
44004402
44014403 void SizeVarSpeedCoil(EnergyPlusData &state, int const DXCoilNum, bool &ErrorsFound)
@@ -6362,13 +6364,11 @@ namespace VariableSpeedCoils {
63626364 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).QSensible = state.dataVariableSpeedCoils->QSensible;
63636365 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).QLatent =
63646366 state.dataVariableSpeedCoils->QLoadTotal - state.dataVariableSpeedCoils->QSensible;
6365- state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).QSource = state.dataVariableSpeedCoils->QSource;
63666367 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).Energy = state.dataVariableSpeedCoils->Winput * TimeStepSysSec;
63676368 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EnergyLoadTotal = state.dataVariableSpeedCoils->QLoadTotal * TimeStepSysSec;
63686369 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EnergySensible = state.dataVariableSpeedCoils->QSensible * TimeStepSysSec;
63696370 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EnergyLatent =
63706371 (state.dataVariableSpeedCoils->QLoadTotal - state.dataVariableSpeedCoils->QSensible) * TimeStepSysSec;
6371- state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EnergySource = state.dataVariableSpeedCoils->QSource * TimeStepSysSec;
63726372 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).CrankcaseHeaterConsumption =
63736373 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).CrankcaseHeaterPower * TimeStepSysSec;
63746374 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EvapWaterConsump =
@@ -6400,7 +6400,9 @@ namespace VariableSpeedCoils {
64006400 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).WaterMassFlowRate = 0.0;
64016401 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).OutletWaterTemp = 0.0;
64026402 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).OutletWaterEnthalpy = 0.0;
6403- state.dataHeatBal->HeatReclaimVS_DXCoil(DXCoilNum).AvailCapacity = state.dataVariableSpeedCoils->QSource;
6403+ state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).AvailCapacity = state.dataVariableSpeedCoils->QSource;
6404+ if (state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).WaterHeatingDesuperheaterReclaimedHeatTotal > 0.0)
6405+ state.dataVariableSpeedCoils->QSource -= state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).WaterHeatingDesuperheaterReclaimedHeatTotal;
64046406 } else {
64056407 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).WaterMassFlowRate = state.dataVariableSpeedCoils->SourceSideMassFlowRate;
64066408 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).OutletWaterTemp =
@@ -6409,7 +6411,12 @@ namespace VariableSpeedCoils {
64096411 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).OutletWaterEnthalpy =
64106412 state.dataVariableSpeedCoils->SourceSideInletEnth +
64116413 state.dataVariableSpeedCoils->QSource / state.dataVariableSpeedCoils->SourceSideMassFlowRate;
6414+ state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).AvailCapacity = state.dataVariableSpeedCoils->QSource;
6415+ if (state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).WaterHeatingDesuperheaterReclaimedHeatTotal > 0.0)
6416+ state.dataVariableSpeedCoils->QSource -= state.dataHeatBal->HeatReclaimVS_Coil(DXCoilNum).WaterHeatingDesuperheaterReclaimedHeatTotal;
64126417 }
6418+ state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).QSource = state.dataVariableSpeedCoils->QSource;
6419+ state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).EnergySource = state.dataVariableSpeedCoils->QSource * TimeStepSysSec;
64136420
64146421 state.dataVariableSpeedCoils->VarSpeedCoil(DXCoilNum).QWasteHeat = QWasteHeat;
64156422
0 commit comments