Skip to content

Commit

Permalink
Merge branch 'develop' into Autodesk_Performance
Browse files Browse the repository at this point in the history
  • Loading branch information
DeadParrot committed Aug 27, 2015
2 parents 29ddf12 + 49643cb commit af53c10
Show file tree
Hide file tree
Showing 31 changed files with 5,850 additions and 245 deletions.
12 changes: 6 additions & 6 deletions cmake/CompilerFlags.cmake
Expand Up @@ -132,9 +132,9 @@ ELSEIF ( WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" )
# /xHost

# ADDITIONAL RELEASE-MODE-SPECIFIC FLAGS
ADD_CXX_RELEASE_DEFINITIONS("/Qansi-alias") # Enables more aggressive optimizations on floating-point data
ADD_CXX_RELEASE_DEFINITIONS("/fp:fast") # Enables more aggressive optimizations on floating-point data
ADD_CXX_RELEASE_DEFINITIONS("/Qprec-div-") # ???If this is equivalent to /Qno-prec-div, it disables the improved division accuracy in favor of speed
# ADD_CXX_RELEASE_DEFINITIONS("/Qansi-alias") # Enables more aggressive optimizations on floating-point data
# ADD_CXX_RELEASE_DEFINITIONS("/fp:fast") # Enables more aggressive optimizations on floating-point data
# ADD_CXX_RELEASE_DEFINITIONS("/Qprec-div-") # ???If this is equivalent to /Qno-prec-div, it disables the improved division accuracy in favor of speed
ADD_CXX_RELEASE_DEFINITIONS("/Qip") # Enables inter-procedural optimnization within a single file

# ADDITIONAL DEBUG-MODE-SPECIFIC FLAGS
Expand Down Expand Up @@ -177,9 +177,9 @@ ELSEIF ( UNIX AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" )
# -xHost

# ADDITIONAL RELEASE-MODE-SPECIFIC FLAGS
ADD_CXX_RELEASE_DEFINITIONS("-ansi-alias") # Enables more aggressive optimizations on floating-point data
ADD_CXX_RELEASE_DEFINITIONS("-fp:fast") # Enables more aggressive optimizations on floating-point data
ADD_CXX_RELEASE_DEFINITIONS("-prec-div-") # ???If this is equivalent to /Qno-prec-div, it disables the improved division accuracy in favor of speed
# ADD_CXX_RELEASE_DEFINITIONS("-ansi-alias") # Enables more aggressive optimizations on floating-point data
# ADD_CXX_RELEASE_DEFINITIONS("-fp:fast") # Enables more aggressive optimizations on floating-point data
# ADD_CXX_RELEASE_DEFINITIONS("-prec-div-") # ???If this is equivalent to /Qno-prec-div, it disables the improved division accuracy in favor of speed
ADD_CXX_RELEASE_DEFINITIONS("-ip") # Enables inter-procedural optimnization within a single file

# ADDITIONAL DEBUG-MODE-SPECIFIC FLAGS
Expand Down
2 changes: 1 addition & 1 deletion cmake/Install.cmake
Expand Up @@ -152,7 +152,7 @@ install_remote(FILES "https://raw.github.com/NREL/EnergyPlusBuildSupport/v8.4.0/
install_remote(FILES "https://raw.github.com/NREL/EnergyPlusBuildSupport/v8.4.0/bin/CurveFitTools/IceStorageCurveFitTool.xlsm" "PreProcess/HVACCurveFitTool/")
install_remote(FILES "https://raw.github.com/NREL/EnergyPlusBuildSupport/v8.4.0/release/Report%20Variables%208-3-0%20to%208-4-0.csv" "PreProcess/IDFVersionUpdater/" "Report Variables 8-3-0 to 8-4-0.csv")
install(FILES "${CMAKE_SOURCE_DIR}/idd/V8-3-0-Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater/")
install( FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater/" RENAME "V${CMAKE_VERSION_MAJOR}-${CMAKE_VERSION_MINOR}-${CMAKE_VERSION_PATCH}-Energy+.idd" )
install( FILES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Energy+.idd" DESTINATION "PreProcess/IDFVersionUpdater/" RENAME "V8-4-0-Energy+.idd" )

if( WIN32 )
# calcsoilsurftemp is now built from source, just need to install the batch run script
Expand Down
7 changes: 7 additions & 0 deletions cmake/ProjectMacros.cmake
Expand Up @@ -93,6 +93,13 @@ endmacro()
# Create test targets
macro( CREATE_TEST_TARGETS BASE_NAME SRC DEPENDENCIES )
if( BUILD_TESTING )

IF ( UNIX AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" )
# Disabled Warnings:
# 1684 conversion from pointer to same-sized integral type (potential portability problem) - Due to gtest...
ADD_CXX_DEFINITIONS("-diag-disable:1684")
endif ()

add_executable( ${BASE_NAME}_tests ${SRC} )

if( ENABLE_GTEST_DEBUG_MODE )
Expand Down
4 changes: 2 additions & 2 deletions doc/src/docs/EngineeringReference/13c-EncyclopaedicRefs.md
Expand Up @@ -4682,9 +4682,9 @@ Variable Refrigerant Flow Heat Pumps <a name="VRF"></a>

There are two common types of variable refrigerant flow heat pump systems:

n cooling only or heating only air-conditioning systems (a.k.a. heat pump), or
- cooling only or heating only air-conditioning systems (a.k.a. heat pump), or

n heat recovery systems that allow simultaneous cooling and heating
- heat recovery systems that allow simultaneous cooling and heating

Energyplus models heat pump and heat recovery operating modes as described in the section entitled Variable Refrigerant Flow Heat Pump Model. The variable refrigerant flow model currently supports air-, evaporatively-, or water-cooled condenser equipment. Throughout this section, the term “condenser” refers to the outdoor unit where the compressor is located.

Expand Down
7 changes: 7 additions & 0 deletions doc/src/docs/InputOutputReference/01b-InputOutputReference.md
Expand Up @@ -9315,6 +9315,8 @@ This alpha field contains the keyword for the type of control scheme used. The o

- PlantEquipmentOperation:ComponentSetpoint

- PlantEquipmentOperation:ThermalEnergyStorage

- PlantEquipmentOperation:UserDefined

#### Field: Control Scheme &lt;\#&gt; Name
Expand Down Expand Up @@ -9619,6 +9621,11 @@ PlantEquipmentOperation:ComponentSetpoint,
    COOLING;                 !- Operation 2 Type
```

### PlantEquipmentOperation:ThermalEnergyStorage

Users of thermal energy storage, particularly ice storage systems, are often faced with a challenge of specifying input for these systems. Essentially, they have to define various setpoint managers, temperature schedules, etc. in order to make the system functional. This plant/condenser control type simplifies the input somewhat by eliminating both a setpoint manager and a schedule for each piece of equipment that makes up the ice storage system. In fact, this operation scheme internally creates the setpoint managers required by the equipment listed as operated by the scheme defined by this syntax. While the more complex definition is possible and provides more flexibility like hourly variation of setpoint temperatures at the outlet of each piece of equipment, this input provides the most convenient method for making the system to work and assumes a single charging setpoint temperature and a single discharging setpoint temperature. For most systems, this is all that is needed.#### Field: NameThis field defines the name of the thermal energy (ice) storage plant equipment operation scheme that will be referenced by the PlantEquipmentOperationSchemes list in the plant input.#### Field: On-Peak ScheduleThis field defines the name of an integer schedule that determines when on-peak electric pricing is in effect. This value is used to determine whether or not the ice storage system should be charging the ice storage unit. In the schedule, a value of 1 (or greater) corresponds to being in the on-peak period while any value of 0 or less corresponds to being in the off-peak period.#### Field: Charging Availability ScheduleThis field defines the name of an integer schedule that determines whether or not the system may enter charging mode off-peak. If the current value of the on-peak schedule is “off”, then charging can take place if the charging availability schedule is “on”. If the on-peak schedule is “off” and charging availability is “off”, then charging is not allowed and the chiller and ice storage units controlled by this statement are operating to meet the non-charging chilled water temperature defined by the next input parameter. In this schedule, a value of 1 (or greater) corresponds to “on” when charging is available during an off-peak period while any value of 0 or less corresponds to chillers not being allowed to charge even during off-peak.#### Field: Non-Charging Chilled Water TemperatureThis field defines the chilled water temperature when the ice storage system is NOT in charging mode. During these times, the storage system could be discharging or dormant depending on HVAC load conditions and ice storage controls. This value is used as the setpoint temperature for chillers associated with this plant equipment operation scheme during non-cooling season and during cooling season during the on-peak period. The cooling season and on-peak periods are defined by schedules reference to input above.#### Field: Charging Chilled Water TemperatureThis field defines the chilled water temperature when the ice storage system is in charging mode. During these times, the chiller is producing a temperature low enough to generate ice in the ice storage unit. This value is used as the setpoint temperature for chillers associated with this plant equipment operation scheme during the cooling season during the off-peak period. The cooling season and on-peak periods are defined by schedules reference to input above.
#### Field Set: (Component Object Type, Name, Demand Calculation Node, Setpoint Node, Flow Rate, Operation Type)#### Field: Component &lt;\#&gt; Object TypeThis field specifies the type of equipment controlled by scheme. This must be a thermal energy storage device (simple or detailed ice storage) or a chiller.#### Field: Component &lt;\#&gt; NameThis field specifies the name of the controlled equipment. This name must be defined in the input as a valid ice storage device or chiller.#### Field: Component &lt;\#&gt; Demand Calculation Node NameThe component demand will be calculated using the difference between the temperature at the demand node and the component set point temperature.#### Field: Component &lt;\#&gt; Setpoint Node NameEach component controlled under temperature based control will have its own set point different from the loop set point. This field specifies component set point node (Generally its outlet temperatures). This node is acted upon by a SetpointManager in order to obtain the setpoint at any simulation timestep.#### Field: Component &lt;\#&gt; Flow RateThis numeric field specifies the design flow rate for the component specified in earlier fields. This flow rate is used to calculate the component demand. The field can be set to autosize, if the user wants the program to calculate the design flow. This would generally be set to autosize when the user does not know the component flow rate and does a sizing calculation for the corresponding component.#### Field: Component &lt;\#&gt; Operation TypeThis alpha field specifies the operation mode for the equipment. The equipment can be in any of the three modes viz. Cooling, Heating and Dual. Dual is used when the components both as heating and cooling equipment (for example heat pumps). Ice storage units can potentially either heat or cool the circulating fluid and thus should be defined as Dual mode.An example IDF is shown below:
```idf PlantEquipmentOperationSchemes, CW Loop Operation, !- Name PlantEquipmentOperation:ThermalEnergyStorage, !- Control Scheme 1 Object Type Chiller and Partial Ice Storage, !- Control Scheme 1 Name PlantOnSched; !- Control Scheme 1 Schedule Name PlantEquipmentOperation:ThermalEnergyStorage, Chiller and Partial Ice Storage, !- Name OnPeakEnergy, !- On-Peak Schedule Name ChargingAvail, !- Charging Availability Schedule Name 7.22, !- Non-charging Chilled Water Temperature -5.0, !- Charging Chilled Water Temperature Chiller:Electric, !- Component 1 Object Type Central Chiller, !- Component 1 Name Central Chiller Inlet Node, !- Component 1 Demand Calculation Node Name Central Chiller Outlet Node, !- Component 1 Setpoint Node Name autosize, !- Component 1 Flow Rate {m3/s} COOLING, !- Component 1 Operation Type ThermalStorage:Ice:Detailed, !- Component 2 Object Type Ice Tank, !- Component 2 Name Ice Tank Inlet Node, !- Component 2 Demand Calculation Node Name Ice Tank Outlet Node, !- Component 2 Setpoint Node Name 0.13506E-02, !- Component 2 Flow Rate {m3/s} DUAL; !- Component 2 Operation Type```

### PlantEquipmentList

Expand Down

7 comments on commit af53c10

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - x86_64-MacOS-10.9-clang: OK (1799 of 1799 tests passed)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - i386-Windows-7-VisualStudio-12: OK (1805 of 1805 tests passed)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - x86_64-Linux-Ubuntu-14.04-gcc-4.8: OK (1805 of 1805 tests passed)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed)

Build Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - x86_64-Linux-Ubuntu-14.04-gcc-4.8-UnitTestsCoverage-Debug: OK (755 of 755 tests passed)

Build Badge Test Badge Coverage Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - Win64-Windows-7-VisualStudio-12: OK (1804 of 1805 tests passed)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autodesk_Performance (DeadParrot) - x86_64-Linux-Ubuntu-14.04-gcc-4.8-IntegrationCoverage-Debug: OK (1280 of 1281 tests passed)

Build Badge Test Badge Coverage Badge

Please sign in to comment.