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 HVAC Sizing Simulation for Coincident Plant Sizing #4764

Merged
merged 74 commits into from
Mar 18, 2015

Conversation

EnergyArchmage
Copy link
Contributor

Pull request for HVAC Sizing Simulation for Coincident Plant Sizing.

Have tested the new feature locally extensively, but seems to be failing on CI machines for unkown reason.

See Pivotal story "Plant Coincident Sizing Phase 3," have uploaded draft I/O ref changes for clarifications and an excel spreadsheet discussing files with explainable diffs and bug fixes.

This is a major new way for doing advanced sizing calculations but the initial application is for improving plant loop design flow rate sizes.

mock up running HVAC Sizing Simulations of Run Periods. No input
changes, just forces extra runs.  Extend Environment structure array to
KindOfSim types
added support for two new fields in SimulationControl.  Corrected
problems with reporting for multiple iterations.
didn't get this change migrated to the correct idd
…zingSimulation

Control whether or not output is generated during HVAC Sizing
Simulations
broad draft of object arrangement for plant sizing analysis and logger.
moved new routines into new files. add support for input changes in
Sizing:Plant.
inserting logger update call for zone timesteps.
fixing bugs to get log objects to filling with data, at zone timestep.
flush out zone timestep logging.  generalize for DDs only case.  added
plant coincident size processing, proof of concept to the point of
modifying plant sizing data structure.
rename a couple plant status flags.  commit before start really breaking
things in plant.
github desktop merge, seemed to fail but made these changes, fixed
conflict in plant chillers.
merge mistake fixed in outside energy sources
green shoots at proving concept.  Boiler, electric chiller and pump
changes drafted.  5zoneAirCooled working to resize based HVAC Sizing
Simulation.
working okay for hot water plant in reference building large office.
adding new tabular summary report.  static declaration fix.
add input switch for control which sizing factor is applied to the
measured flow when setting the size for coincident plant sizing. improve
reporting to predefined sizing summary table.
get sizing simulation iterations working.   tune up tabular report for
iteration passes.  fix initializations that were preventing
noncoincident but dependent loops from resizing.
add support for timesteps in average feature for coincident plant
Added logging of system time step updates.  reworked how zone timesteps
are filled.  seems to be working
flush out request to also report initial sizes. finish out all 4
chillers in PlantChillers.  reapply new pattern to files touched so far.
early exit based on get siz fraction flag was causing hard crash,
commented out.  extended new sizing changes to fluid coolers. This is
the pattern that will be applied to the remaining plant components with
plant led sizing.
trying to resolve conflict in EnergyPlusPgm.cc
revised how objects and variables are capitalized per EL review
comments.  sync in merge develop.
flush out fuller logic for sizing algorithm to look at loop demand as
well as flow rate.
c++ code style clean up and refactor.  add constructor for zone
timestamp object.
swept changes to steam boiler, district, temp source, and fluid HX.
missed a header file change on the last commit so that comes in here.
reworked logic for hard size reporting.  remove member constructors from
some files.
swept plant sizing changes to two evaporative fluid cooler towers, clean
out member constructors
swept plant sizing changes to indirect absorption chiller, removed
member constructors
swept plant sizing changes to direct fired gas absorption chiller
heater. removed member constructors
mbadams5 added 5 commits March 4, 2015 21:41
This solves the malloc error i’m seeing on Mac. The issue is that the
pointer was never allocated memory on the heap and when EnergyPlus
exits, it tried to free unallocated memory.

This now uses references to achieve the same goal as the pointer,
however, there now needs to be an explicit constructor for SizingLog
that sets p_rVariable on construction.
This pulls UpdateSizingLogsZoneStep and UpdateSizingLogsSystemStep into
HVACSizingSimulationManager class. I feel this is where they probably
should belong and then you call these functions on a specific
HVACSizingSimulationManager instance.
@EnergyArchmage EnergyArchmage added the Defect Includes code to repair a defect in EnergyPlus label Mar 7, 2015
extend *WasAutoSized changes to new function in FluidCoolers.cc,  bring
in latest develop
@nrel-bot
Copy link

@EnergyArchmage @lgentile it has been 7 days since this pull request was last updated.

@mjwitte
Copy link
Contributor

mjwitte commented Mar 11, 2015

@EnergyArchmage Adding a reference to the chiller sizing bug here. Fixes #4656
If there are other open issues that will be fixed by this pull request, please reference them here with the same language "Fixes #nnnn" and then they will close automatically when this is merged.

@EnergyArchmage
Copy link
Contributor Author

Fixes #3986. This is a big bug, more than reporting, branch pumps do not match the chillers they are paired with and loads can't be served.

minor text change to eio header
added protection for null timestep stamps.  improve robustness for
different settings in SimulationControl and environment variable
overrides of SimulationControl, to fix CI runs
resolve conflict in CMakeLists for unit tests
remove extra parentheses
fixed mistake of using plant loop index instead of plant sizing index,
clean up code, reword header in predefined table.
fixed more places where plant loop index was used instead of plant
sizing index.
take out sizing call from Init routine.  Seems like a merge mistake.
@Myoldmopar
Copy link
Member

OK, as per my email earlier, this is one where the unit test failure appears tangential to this work, so this will merge in. You aren't waiting on anything else, right @EnergyArchmage?

add *WasAutoSized variables to unit test.
@Myoldmopar
Copy link
Member

Great! OK, that will make things much better. I'll let CI have a pass (now that there's plenty of disk space) and we'll merge in.

@EnergyArchmage
Copy link
Contributor Author

Actually it made sense that the unit test was failing, I only changed the function being tested and not the unit test at first.

I have nothing else pending. Will go upload doc changes.

sizing routines already tests for loopNum so need to remove calling
logic here
@EnergyArchmage
Copy link
Contributor Author

well found an issue with source side of water tanks not sizing, fixed in b7db966

Myoldmopar added a commit that referenced this pull request Mar 18, 2015
@EnergyArchmage CI is showing lots of regressions, but again, they are expected, and running locally showed no diffs.  🍀
@Myoldmopar Myoldmopar merged commit b587b3d into develop Mar 18, 2015
@Myoldmopar Myoldmopar deleted the HVACSizingSim_CoincidentPlant branch March 18, 2015 15:48
@Myoldmopar Myoldmopar removed the Defect Includes code to repair a defect in EnergyPlus label Mar 19, 2015
@Myoldmopar Myoldmopar changed the title Hvac sizing sim coincident plant Implement HVAC Sizing Simulation for Coincident Plant Sizing Mar 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NewFeature Includes code to add a new feature to EnergyPlus
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants