Run Slab Preprocessor

Hey everyone!

I’ve been trying to run the slab preprocessor on Honeybee but it doesn’t seem to work.

I used the IDF editor to create some Detailed Ground Heat Transfer objects which were then added to my HB model through the “add_str_” input of the ModelToOSM component. However, I figure EP is not calling the slab preprocessor, since the results are identical to when no additional string is input. Does anyone know if it’s actually possible to call this feature in Honeybee?

Here is the additional string input to the simulation component:

!-Generator IDFEditor 1.51
!-Option SortedOrder

!-NOTE: All comments with '!-' are ignored by the IDFEditor and are generated automatically.
!-      Use '!' comments if they need to be retained when using the IDFEditor.


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:CONTROL ===========

GroundHeatTransfer:Control,
    Control1,                !- Name
    No,                      !- Run Basement Preprocessor
    Yes;                     !- Run Slab Preprocessor


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:MATERIALS ===========

GroundHeatTransfer:Slab:Materials,
    2,                       !- NMAT: Number of materials
    0.2,                     !- ALBEDO: Surface Albedo: No Snow
    0.4,                     !- ALBEDO: Surface Albedo: Snow
    0.95,                    !- EPSLW: Surface Emissivity: No Snow
    0.95,                    !- EPSLW: Surface Emissivity: Snow
    75,                      !- Z0: Surface Roughness: No Snow {cm}
    5,                       !- Z0: Surface Roughness: Snow {cm}
    6,                       !- HIN: Indoor HConv: Downward Flow {W/m2-K}
    9;                       !- HIN: Indoor HConv: Upward {W/m2-K}


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:MATLPROPS ===========

GroundHeatTransfer:Slab:MatlProps,
    2300,                    !- RHO: Slab Material density {kg/m3}
    1200,                    !- RHO: Soil Density {kg/m3}
    650,                     !- CP: Slab CP {J/kg-K}
    1200,                    !- CP: Soil CP {J/kg-K}
    0.9,                     !- TCON: Slab k {W/m-K}
    1;                       !- TCON: Soil k {W/m-K}


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:BOUNDCONDS ===========

GroundHeatTransfer:Slab:BoundConds,
    FALSE,                   !- EVTR: Is surface evapotranspiration modeled
    FALSE,                   !- FIXBC: is the lower boundary at a fixed temperature
    ,                        !- TDEEPin {C}
    FALSE;                   !- USRHflag: Is the ground surface h specified by the user?


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:BLDGPROPS ===========

GroundHeatTransfer:Slab:BldgProps,
    10,                      !- IYRS: Number of years to iterate
    0,                       !- Shape: Slab shape
    4,                       !- HBLDG: Building height {m}
    27.9,                    !- TIN1: January Indoor Average Temperature Setpoint {C}
    28.03,                   !- TIN2: February Indoor Average Temperature Setpoint {C}
    28.57,                   !- TIN3: March Indoor Average Temperature Setpoint {C}
    27.64,                   !- TIN4: April Indoor Average Temperature Setpoint {C}
    27.88,                   !- TIN5: May Indoor Average Temperature Setpoint {C}
    27.62,                   !- TIN6: June Indoor Average Temperature Setpoint {C}
    27.4,                    !- TIN7: July Indoor Average Temperature Setpoint {C}
    28.15,                   !- TIN8: August Indoor Average Temperature Setpoint {C}
    28.9,                    !- TIN9: September Indoor Average Temperature Setpoint {C}
    28.59,                   !- TIN10: October Indoor Average Temperature Setpoint {C}
    28.14,                   !- TIN11: November Indoor Average Temperature Setpoint {C}
    27.86,                   !- TIN12: December Indoor Average Temperature Setpoint {C}
    0,                       !- TINAmp: Daily Indoor sine wave variation amplitude {deltaC}
    0.1;                     !- ConvTol: Convergence Tolerance


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:INSULATION ===========

GroundHeatTransfer:Slab:Insulation,
    0,                       !- RINS: R value of under slab insulation {m2-K/W}
    0,                       !- DINS: Width of strip of under slab insulation {m}
    0,                       !- RVINS: R value of vertical insulation {m2-K/W}
    0,                       !- ZVINS: Depth of vertical insulation {m}
    0;                       !- IVINS: Flag: Is there vertical insulation


!-   ===========  ALL OBJECTS IN CLASS: GROUNDHEATTRANSFER:SLAB:EQUIVALENTSLAB ===========

GroundHeatTransfer:Slab:EquivalentSlab,
    1.62,                    !- APRatio: The area to perimeter ratio for this slab {m}
    0.1,                     !- SLABDEPTH: Thickness of slab on grade {m}
    15,                      !- CLEARANCE: Distance from edge of slab to domain edge {m}
    15;                      !- ZCLEARANCE: Distance from bottom of slab to domain bottom {m}

this 100% a @chris question lol…
I don’t “see” any reason why adding things via _extra_stuff etc; ths would not work;
I’ve used it myself and not even thought to check for “is it actually doing the things” like you’ve brought up:
sooo this is me #following this post :sweat_smile:

1 Like

Hahaha I must admit that it’s not my modus operandi as well. Anyhow, would you mind sharing the simulation report when you apply the slab program? In my case, the only thing concerning ground heat transfer calculation seems to be this:

** Warning ** GetHTSurfaceData: Surfaces with interface to Ground found but no "Ground Temperatures" were input.
   **   ~~~   ** Found first in surface=B-1-1-I-F-4
   **   ~~~   ** Defaults, constant throughout the year of (18.0) will be used.

Which kind of confirms my assumption that EP is effectively using the Site:GroundTemperature:BuildingSurface object instead of GroundHeatTransfer:Slab.

Hey @gzorzeto ,

I’ll admit that I don’t really have much experience with the slab pre-processor but I know that we do not run it in usual Honeybee workflows and you’ll have to do it manually.

The EnergyPlus docs on how to do this seem pretty clear:

So you should pass your IDF and EPW file to that RunSlab command and it should give you a .gtp file with the IDF text that is needed to simulate the Ground slab.