Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new data center HVAC simulation model #4624

Merged
merged 39 commits into from
Mar 6, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
5bf23c4
Initial Coding of enhancements for Data Center HVAC:
Nigusse Oct 16, 2014
d1a9f6b
IDD update.
Nigusse Oct 16, 2014
157e21e
Initial code changes and a new example file.
Nigusse Oct 16, 2014
a037b91
Merge branch 'develop' into 75127368_DCFSEC
Nigusse Oct 17, 2014
a72758e
Commented out the standard ratings reporting for the ASHRAE Std 127.
Nigusse Oct 17, 2014
c71ba48
75127368_DCFSEC Cleaned.
Nigusse Oct 17, 2014
7a4a0ee
75127368_DCFSEC
Nigusse Oct 20, 2014
7e458a4
75127368_DCFSEC Cleanup.
Nigusse Oct 21, 2014
bfb785f
Merge branch 'develop' into 75127368_DCFSEC
Nigusse Oct 21, 2014
d3177dc
75127368_DCFSEC Final Coding.
Nigusse Oct 27, 2014
c22c534
Merge branch 'develop' into 75127368_DCFSEC
Nigusse Oct 27, 2014
d29c776
75127368_DCFSEC Added one more Example File.
Nigusse Oct 30, 2014
beef31c
Merge develop, resolve conflicts;
Myoldmopar Feb 23, 2015
beefe1b
Fix duplicate test file from merge
Myoldmopar Feb 23, 2015
beef617
Clean up formatting, move namespace variable to struct member variable
Myoldmopar Feb 23, 2015
beef3ef
Remove const-ness from format specifier
Myoldmopar Feb 23, 2015
beef1d1
Rename 2ZoneEconomizer file
Myoldmopar Feb 23, 2015
beef830
Add unit test stubs for evap cooler functions
Myoldmopar Feb 23, 2015
beef15a
Initial commit of transition changes; havent tested yet
Myoldmopar Feb 23, 2015
68e0bd9
IDD merge conflict cleanup and code update.
Nigusse Feb 23, 2015
beef33b
Correct transition changes
Myoldmopar Feb 23, 2015
2e20289
Merge branch '75127368_DCFSEC' of github.com:NREL/EnergyPlus into 751…
Myoldmopar Feb 23, 2015
beef007
Fix IDD Field case
Myoldmopar Feb 23, 2015
beef24f
Update 2 example files using evap coolers
Myoldmopar Feb 23, 2015
beefb65
Merge remote-tracking branch 'origin/develop' into 75127368_DCFSEC
Myoldmopar Feb 24, 2015
d00d02d
Remove optional attribute from residual argument
Myoldmopar Feb 24, 2015
beefb64
Updated remaining evap cooler files
Myoldmopar Feb 24, 2015
1460c47
Evap Cooler Unit Test Update.
Nigusse Feb 24, 2015
b8d6df2
Add missing table object-list references for ElectricEquipment:ITE:Ai…
mjwitte Mar 2, 2015
1b1fbe7
Merge remote-tracking branch 'origin/develop' into 75127368_DCFSEC
Myoldmopar Mar 2, 2015
34a2a19
Merge remote-tracking branch 'origin/89435026-initialize-SysTotCoolCa…
Myoldmopar Mar 2, 2015
b8e6f3f
Merge branch '75127368_DCFSEC' of https://github.com/NREL/EnergyPlus …
Nigusse Mar 3, 2015
db026d7
Transitioned test files.
Nigusse Mar 3, 2015
a75dbf6
Cleaned up test files.
Nigusse Mar 4, 2015
130c60a
Merge remote-tracking branch 'origin/develop' into 75127368_DCFSEC
Myoldmopar Mar 4, 2015
af9bc81
Fix getinput and IDD errors for ElectricEquipment:ITE:AirCooled
mjwitte Mar 5, 2015
9b0989c
More unit test cleanup. Attempt to fix EvaporativeCoolers.IndEvapCoo…
mjwitte Mar 5, 2015
c19269b
Another attempt to fix EvaporativeCoolers.IndEvapCoolerPower unit test.
mjwitte Mar 6, 2015
eac710e
3rd attempt to fix EvaporativeCoolers.IndEvapCoolerPower unit test
mjwitte Mar 6, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
252 changes: 210 additions & 42 deletions idd/Energy+.idd.in

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion src/EnergyPlus/DXCoils.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1390,6 +1390,16 @@ namespace DXCoils {
if ( DXCoil( DXCoilNum ).SHRFTemp( 1 ) > 0 && DXCoil( DXCoilNum ).SHRFFlow( 1 ) > 0 ) {
DXCoil( DXCoilNum ).UserSHRCurveExists = true;
}
// get User Input flag for ASHRAE Standard 127 Standard Ratings Reporting
if ( lAlphaBlanks( 17 ) ) {
DXCoil( DXCoilNum ).ASHRAE127StdRprt = false;
} else {
if ( Alphas( 17 ) == "YES" || Alphas( 17 ) == "Yes" ) {
DXCoil( DXCoilNum ).ASHRAE127StdRprt = true;
} else {
DXCoil( DXCoilNum ).ASHRAE127StdRprt = false;
}
}

} // end of the Doe2 DX coil loop

Expand Down Expand Up @@ -6022,7 +6032,7 @@ namespace DXCoils {

// Call routine that computes AHRI certified rating for single-speed DX Coils
if ( ( DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_CoolingSingleSpeed && DXCoil( DXCoilNum ).CondenserType( 1 ) == AirCooled ) || DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_HeatingEmpirical ) {
CalcDXCoilStandardRating( DXCoil( DXCoilNum ).Name, DXCoil( DXCoilNum ).DXCoilType, DXCoil( DXCoilNum ).DXCoilType_Num, 1, DXCoil( DXCoilNum ).RatedTotCap( 1 ), DXCoil( DXCoilNum ).RatedCOP( 1 ), DXCoil( DXCoilNum ).CCapFFlow( 1 ), DXCoil( DXCoilNum ).CCapFTemp( 1 ), DXCoil( DXCoilNum ).EIRFFlow( 1 ), DXCoil( DXCoilNum ).EIRFTemp( 1 ), DXCoil( DXCoilNum ).PLFFPLR( 1 ), DXCoil( DXCoilNum ).RatedAirVolFlowRate( 1 ), DXCoil( DXCoilNum ).FanPowerPerEvapAirFlowRate( 1 ), DXCoil( DXCoilNum ).RegionNum, DXCoil( DXCoilNum ).MinOATCompressor, DXCoil( DXCoilNum ).OATempCompressorOn, DXCoil( DXCoilNum ).OATempCompressorOnOffBlank, DXCoil( DXCoilNum ).DefrostControl );
CalcDXCoilStandardRating( DXCoil( DXCoilNum ).Name, DXCoil( DXCoilNum ).DXCoilType, DXCoil( DXCoilNum ).DXCoilType_Num, 1, DXCoil( DXCoilNum ).RatedTotCap( 1 ), DXCoil( DXCoilNum ).RatedCOP( 1 ), DXCoil( DXCoilNum ).CCapFFlow( 1 ), DXCoil( DXCoilNum ).CCapFTemp( 1 ), DXCoil( DXCoilNum ).EIRFFlow( 1 ), DXCoil( DXCoilNum ).EIRFTemp( 1 ), DXCoil( DXCoilNum ).PLFFPLR( 1 ), DXCoil( DXCoilNum ).RatedAirVolFlowRate( 1 ), DXCoil( DXCoilNum ).FanPowerPerEvapAirFlowRate( 1 ), DXCoil( DXCoilNum ).RegionNum, DXCoil( DXCoilNum ).MinOATCompressor, DXCoil( DXCoilNum ).OATempCompressorOn, DXCoil( DXCoilNum ).OATempCompressorOnOffBlank, DXCoil( DXCoilNum ).DefrostControl, DXCoil( DXCoilNum ).ASHRAE127StdRprt );
}
// Call routine that computes AHRI certified rating for multi-speed DX cooling Coils
if ( DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_MultiSpeedCooling || DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_MultiSpeedHeating ) {
Expand Down
10 changes: 7 additions & 3 deletions src/EnergyPlus/DXCoils.hh
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,7 @@ namespace DXCoils {
// (function of actual supply air flow vs rated air flow)
int SHRFTempCurveType2; // type of curve for SHRFTemp (cubic,quadratic,bi-quadratic)
bool UserSHRCurveExists; // TRUE if user specified SHR modifier curve exists
bool ASHRAE127StdRprt; // TRUE if user wishes to report ASHRAE 127 standard ratings

// Default Constructor
DXCoilData() :
Expand Down Expand Up @@ -613,7 +614,8 @@ namespace DXCoils {
SHRFTemp2( 0 ),
SHRFFlow2( 0 ),
SHRFTempCurveType2( 0 ),
UserSHRCurveExists( false )
UserSHRCurveExists( false ),
ASHRAE127StdRprt( false )
{}

// Member Constructor
Expand Down Expand Up @@ -851,7 +853,8 @@ namespace DXCoils {
int const SHRFTemp2, // index of sensible heat ratio modifier curve
int const SHRFFlow2, // index of sensible heat ratio modifier curve
int const SHRFTempCurveType2, // type of curve for SHRFTemp (cubic,quadratic,bi-quadratic)
bool const UserSHRCurveExists // TRUE if user specified SHR modifier curve exists
bool const UserSHRCurveExists, // TRUE if user specified SHR modifier curve exists
bool const ASHRAE127StdRprt // TRUE if user wishes to report ASHRAE 127 standard ratings
) :
Name( Name ),
DXCoilType( DXCoilType ),
Expand Down Expand Up @@ -1086,7 +1089,8 @@ namespace DXCoils {
SHRFTemp2( SHRFTemp2 ),
SHRFFlow2( SHRFFlow2 ),
SHRFTempCurveType2( SHRFTempCurveType2 ),
UserSHRCurveExists( UserSHRCurveExists )
UserSHRCurveExists( UserSHRCurveExists ),
ASHRAE127StdRprt( ASHRAE127StdRprt )
{}

};
Expand Down
1,153 changes: 1,033 additions & 120 deletions src/EnergyPlus/EvaporativeCoolers.cc

Large diffs are not rendered by default.

370 changes: 99 additions & 271 deletions src/EnergyPlus/EvaporativeCoolers.hh

Large diffs are not rendered by default.

13 changes: 7 additions & 6 deletions src/EnergyPlus/InternalHeatGains.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2211,7 +2211,7 @@ namespace InternalHeatGains {
AlphaName = BlankString;
IHGNumbers = 0.0;

GetObjectItem( CurrentModuleObject, Item, AlphaName, NumAlpha, IHGNumbers, NumNumber, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames );
GetObjectItem( CurrentModuleObject, Loop, AlphaName, NumAlpha, IHGNumbers, NumNumber, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames );

ZoneITEq( Loop ).Name = AlphaName( 1 );
ZoneITEq( Loop ).ZonePtr = FindItemInList( AlphaName( 2 ), Zone.Name( ), NumOfZones );
Expand All @@ -2223,6 +2223,9 @@ namespace InternalHeatGains {
if ( lNumericFieldBlanks( 1 ) ) {
ShowWarningError( RoutineName + CurrentModuleObject + "=\"" + AlphaName( 1 ) + "\", specifies " + cNumericFieldNames( 1 ) + ", but that field is blank. 0 IT Equipment will result." );
}
if ( lNumericFieldBlanks( 2 ) ) {
ShowWarningError( RoutineName + CurrentModuleObject + "=\"" + AlphaName( 1 ) + "\", specifies " + cNumericFieldNames( 2 ) + ", but that field is blank. 0 IT Equipment will result." );
}

} else if ( equipmentLevel == "WATTS/AREA" ) {
if ( ZoneITEq( Loop ).ZonePtr != 0 ) {
Expand All @@ -2241,11 +2244,9 @@ namespace InternalHeatGains {
}

} else {
if ( Item1 == 1 ) {
ShowSevereError( RoutineName + CurrentModuleObject + "=\"" + AlphaName( 1 ) + "\", invalid " + cAlphaFieldNames( 4 ) + ", value =" + AlphaName( 4 ) );
ShowContinueError( "...Valid values are \"Watts/Unit\" or \"Watts/Area\"." );
ErrorsFound = true;
}
ShowSevereError( RoutineName + CurrentModuleObject + "=\"" + AlphaName( 1 ) + "\", invalid " + cAlphaFieldNames( 3 ) + ", value =" + AlphaName( 3 ) );
ShowContinueError( "...Valid values are \"Watts/Unit\" or \"Watts/Area\"." );
ErrorsFound = true;
}}

if ( lAlphaFieldBlanks( 4 ) ) {
Expand Down
23 changes: 23 additions & 0 deletions src/EnergyPlus/OutputReportPredefined.cc
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,17 @@ namespace OutputReportPredefined {
int pdchDXCoolCoilEERIP; // EER value in IP unit at AHRI std. 340/360 conditions [Btu/W-h]
int pdchDXCoolCoilIEERIP; // IEER value in IP unit at AHRI std. 340/360 conditions

// DX Cooling Coil subtable per ANSI/ASHRAE Std 127 for Tests A, B, C and D
int pdstDXCoolCoil2;
int pdchDXCoolCoilNetCapSIA; // Standard Rated (Net) Cooling Capacity [W], Test A
int pdchDXCoolCoilElecPowerA; // Standard Rated Electric Power [W], Test A
int pdchDXCoolCoilNetCapSIB; // Standard Rated (Net) Cooling Capacity [W], Test B
int pdchDXCoolCoilElecPowerB; // Standard Rated Electric Power [W], Test B
int pdchDXCoolCoilNetCapSIC; // Standard Rated (Net) Cooling Capacity [W], Test C
int pdchDXCoolCoilElecPowerC; // Standard Rated Electric Power [W], Test C
int pdchDXCoolCoilNetCapSID; // Standard Rated (Net) Cooling Capacity [W], Test D
int pdchDXCoolCoilElecPowerD; // Standard Rated Electric Power [W], Test D

// VAV DX Cooling Ratings Details
int pdstVAVDXCoolCoil; // details for Packaged VAV rating under AHRI 340/360
int pdchVAVDXCoolCoilType;
Expand Down Expand Up @@ -877,6 +888,18 @@ namespace OutputReportPredefined {
pdchDXCoolCoilSEERIP = newPreDefColumn( pdstDXCoolCoil, "SEER [Btu/W-h]" );
pdchDXCoolCoilIEERIP = newPreDefColumn( pdstDXCoolCoil, "IEER [Btu/W-h]" );

// for DX Cooling Coil ASHRAE 127-12 Report
pdstDXCoolCoil2 = newPreDefSubTable( pdrEquip, "DX Cooling Coil ASHRAE 127 Standard Ratings Report" );
pdchDXCoolCoilType = newPreDefColumn( pdstDXCoolCoil2, "DX Cooling Coil Type" );
pdchDXCoolCoilNetCapSIA = newPreDefColumn( pdstDXCoolCoil2, "Rated Net Cooling Capacity Test A [W]" );
pdchDXCoolCoilElecPowerA = newPreDefColumn( pdstDXCoolCoil2, "Rated Electric Power Test A [W]" );
pdchDXCoolCoilNetCapSIB = newPreDefColumn( pdstDXCoolCoil2, "Rated Net Cooling Capacity Test B [W]" );
pdchDXCoolCoilElecPowerB = newPreDefColumn( pdstDXCoolCoil2, "Rated Electric Power Test B [W]" );
pdchDXCoolCoilNetCapSIC = newPreDefColumn( pdstDXCoolCoil2, "Rated Net Cooling Capacity Test C [W]" );
pdchDXCoolCoilElecPowerC = newPreDefColumn( pdstDXCoolCoil2, "Rated Electric Power Test C [W]" );
pdchDXCoolCoilNetCapSID = newPreDefColumn( pdstDXCoolCoil2, "Rated Net Cooling Capacity Test D [W]" );
pdchDXCoolCoilElecPowerD = newPreDefColumn( pdstDXCoolCoil2, "Rated Electric Power Test D [W]" );

pdstDXHeatCoil = newPreDefSubTable( pdrEquip, "DX Heating Coils" );
pdchDXHeatCoilType = newPreDefColumn( pdstDXHeatCoil, "DX Heating Coil Type" );
pdchDXHeatCoilHighCap = newPreDefColumn( pdstDXHeatCoil, "High Temperature Heating (net) Rating Capacity [W]" );
Expand Down
11 changes: 11 additions & 0 deletions src/EnergyPlus/OutputReportPredefined.hh
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,17 @@ namespace OutputReportPredefined {
extern int pdchDXCoolCoilEERIP; // EER value in IP unit at AHRI std. 340/360 conditions [Btu/W-h]
extern int pdchDXCoolCoilIEERIP; // IEER value in IP unit at AHRI std. 340/360 conditions

// DX Cooling Coil subtable per ANSI/ASHRAE Std 127 for Tests A, B, C and D
extern int pdstDXCoolCoil2;
extern int pdchDXCoolCoilNetCapSIA; // Standard Rated (Net) Cooling Capacity [W], Test A
extern int pdchDXCoolCoilElecPowerA; // Standard Rated Electric Power [W], Test A
extern int pdchDXCoolCoilNetCapSIB; // Standard Rated (Net) Cooling Capacity [W], Test B
extern int pdchDXCoolCoilElecPowerB; // Standard Rated Electric Power [W], Test B
extern int pdchDXCoolCoilNetCapSIC; // Standard Rated (Net) Cooling Capacity [W], Test C
extern int pdchDXCoolCoilElecPowerC; // Standard Rated Electric Power [W], Test C
extern int pdchDXCoolCoilNetCapSID; // Standard Rated (Net) Cooling Capacity [W], Test D
extern int pdchDXCoolCoilElecPowerD; // Standard Rated Electric Power [W], Test D

// VAV DX Cooling Ratings Details
extern int pdstVAVDXCoolCoil; // details for Packaged VAV rating under AHRI 340/360
extern int pdchVAVDXCoolCoilType;
Expand Down
Loading