Skip to content

GroundHeatExchangerHorizontalTrench : incomplete IDF translation #4716

@brgix

Description

@brgix

Issue overview

Incomplete IDF translation of GroundHeatExchangerHorizontalTrench.

Current Behavior

After having added/linked the object to a model (e.g. Benchmark Warehouse), OpenStudio in turn generates the following IDF file objects:

GroundHeatExchanger:HorizontalTrench,
  Ground Heat Exchanger Horizontal Trench 1, !- Name
  Node 1,                                 !- Inlet Node Name
  Node 2,                                 !- Outlet Node Name
  0.004,                                  !- Design Flow Rate {m3/s}
  75,                                     !- Trench Length in Pipe Axial Direction {m}
  2,                                      !- Number of Trenches
  2,                                      !- Horizontal Spacing Between Pipes {m}
  0.016,                                  !- Pipe Inner Diameter {m}
  0.02667,                                !- Pipe Outer Diameter {m}
  1.25,                                   !- Burial Depth {m}
  1.08,                                   !- Soil Thermal Conductivity {W/m-K}
  962,                                    !- Soil Density {kg/m3}
  2576,                                   !- Soil Specific Heat {J/kg-K}
  0.3895,                                 !- Pipe Thermal Conductivity {W/m-K}
  641,                                    !- Pipe Density {kg/m3}
  2405,                                   !- Pipe Specific Heat {J/kg-K}
  30,                                     !- Soil Moisture Content Percent {percent}
  50,                                     !- Soil Moisture Content Percent at Saturation {percent}
  ,                                       !- Undisturbed Ground Temperature Model Type
  Ground Heat Exchanger Horizontal Trench 1 Ground Model, !- Undisturbed Ground Temperature Model Name
  0.408;                                  !- Evapotranspiration Ground Cover Parameter

Site:GroundTemperature:Undisturbed:KusudaAchenbach,
  Ground Heat Exchanger Horizontal Trench 1 Ground Model, !- Name
  ,                                       !- Soil Thermal Conductivity {W/m-K}
  ,                                       !- Soil Density {kg/m3}
  ,                                       !- Soil Specific Heat {J/kg-K}
  15.5,                                   !- Average Soil Surface Temperature {C}
  12.8,                                   !- Average Amplitude of Surface Temperature {deltaC}
  17.3;                                   !- Phase Shift of Minimum Surface Temperature {days}

A subsequent EnergyPlus run will fail with the following errors in eplusout.err:

Program Version,EnergyPlus, Version 22.1.0-ed759b17ee, YMD=2022.10.14 14:11,
   ** Severe  ** <root>[GroundHeatExchanger:HorizontalTrench][Ground Heat Exchanger Horizontal Trench 1] - Missing required property 'undisturbed_ground_temperature_model_type'.
   ** Severe  ** <root>[Site:GroundTemperature:Undisturbed:KusudaAchenbach][Ground Heat Exchanger Horizontal Trench 1 Ground Model] - Missing required property 'soil_density'.
   ** Severe  ** <root>[Site:GroundTemperature:Undisturbed:KusudaAchenbach][Ground Heat Exchanger Horizontal Trench 1 Ground Model] - Missing required property 'soil_specific_heat'.
   ** Severe  ** <root>[Site:GroundTemperature:Undisturbed:KusudaAchenbach][Ground Heat Exchanger Horizontal Trench 1 Ground Model] - Missing required property 'soil_thermal_conductivity'.
   **  Fatal  ** Errors occurred on processing input file. Preceding condition(s) cause termination.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=4
   ..... Last severe error=<root>[Site:GroundTemperature:Undisturbed:KusudaAchenbach][Ground Heat Exchanger Horizontal Trench 1 Ground Model] - Missing required property 'soil_thermal_conductivity'.
   ************* Warning:  Node connection errors not checked - most system input has not been read (see previous warning).
   ************* Fatal error -- final processing.  Program exited before simulations began.  See previous error messages.
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Terminated--Fatal Error Detected. 0 Warning; 4 Severe Errors; Elapsed Time=00hr 00min  0.10sec

Same missing properties as those in the generated IDF objects. Filling in the properties by hand:

...
50,                                     !- Soil Moisture Content Percent at Saturation {percent}
Site:GroundTemperature:Undisturbed:KusudaAchenbach,  !- Undisturbed Ground Temperature Model Type
Ground Heat Exchanger Horizontal Trench 1 Ground Model, !- Undisturbed Ground Temperature Model Name
Site:GroundTemperature:Undisturbed:KusudaAchenbach,
  Ground Heat Exchanger Horizontal Trench 1 Ground Model, !- Name
  1.08,                                   !- Soil Thermal Conductivity {W/m-K}
  962,                                    !- Soil Density {kg/m3}
  2576,                                   !- Soil Specific Heat {J/kg-K}
  15.5,                                   !- Average Soil Surface Temperature {C}
  12.8,                                   !- Average Amplitude of Surface Temperature {deltaC}
  17.3;                                   !- Phase Shift of Minimum Surface Temperature {days}

... fixes the issue. Simulation runs successfully. Not suggesting results are useful or valid without further tweaking, but E+ isn't reporting any errors.

Expected Behavior

The generated IDF object properties should be written out explicitly (as suggested above).

Steps to Reproduce

Issue has been reproduced on more than 1x model (here, Benchmark Warehouse), e.g.:

translator = OpenStudio::OSVersion::VersionTranslator.new
file = File.join(__dir__, "warehouse.osm")
path = OpenStudio::Path.new(file)
model = translator.loadModel(path)
model = model.get

trench = OpenStudio::Model::GroundHeatExchangerHorizontalTrench.new(model)

loop = model.getPlantLoopByName("Main Service Water Loop").get
puts loop.addSupplyBranchForComponent(trench) # returns true

alt_file = File.join(__dir__, "alt_warehouse.osm")
model.save(alt_file, true)

Prep .osw workflow, then run openstudio.

Possible Solution

(see Expected Behavior)

Details

(NA)

Environment

  • MacOS, PC
  • SDK v3.4.0

Context

It's of course fairly straightforward to either fill in the blanks by hand, or write a modest EnergyPlus measure (not an OpenStudio measure) to finalize the process. It would be much simpler for users if the IDF object parameters were filled out explicitly during translation. It seems a fairly straightforward fix. This could be tagged as an enhancement (not a bug), but since the errors are encountered systematically ...

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions