Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
2

EnergyPlus ground domain - Slab-ON-grade with vertical perimeter insulation

asked 2025-05-08 04:44:00 -0500

buffoon1's avatar

updated 2025-05-12 00:55:51 -0500

EDITED to remove my confusion between the old slab pre-processor vs the newer ground domain functionality, based on Jamie's helpful feedback.


Hi Community

Sorry for long post but I have been trying to understand this for years. I have Googled and looked at some existing topics on this forum, but can't seem to find anything directly discussing my issue. I will CC this to DesignBuilder support for any comment, but I figure it may be more of an EP question than a DB question.

PROBLEM

Re: EP 9.4.0-217a24fc09 with DesignBuilder v. 7.3.1.003 as front-end on MS Windows 11 platform.

I try to model vertical perimeter insulation board placed around the slab-on-ground (concrete surface bed in my local terminology).

For now I am using the "ground domain" approach. (My next thing to try will be Kiva, which looks amazing, but I went for the GD approach because it seems more mature/tested.)

I set up a ground domain as per attached screen snips in DesignBuilder. When I have no insulation, everything runs fine. But with vertical perimeter insulation, I get the following from eplusout.err (full .err file attached):

   ************* Beginning Simulation
   ** Severe  ** Site:GroundDomain:SlabDoEndOfIterationOperations: Out of range temperatures detected in the ground domain.
   **   ~~~   ** This could be due to the size of the loads on the domain.
   **   ~~~   ** Verify inputs are correct. If problem persists, notify EnergyPlus support.
   **  Fatal  ** Preceding error(s) cause program termination
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=1
   ..... Last severe error=Site:GroundDomain:SlabDoEndOfIterationOperations: Out of range temperatures detected in the ground domain.
   *************
   ************* ===== Recurring Error Summary =====
   ************* The following recurring error messages occurred.
   *************
   *************  ** Warning ** Temperature out of range [-100. to 200.] (PsyPsatFnTemp)
   *************  **   ~~~   **   This error occurred 30 total times;
   *************  **   ~~~   **   during Warmup 0 times;
   *************  **   ~~~   **   during Sizing 30 times.
   *************  **   ~~~   **   Max=-1058.994812 C  Min=-35351.626953 C

As I understand, a numerical method inside EP is going awry with temperatures shooting off to extreme (cold) values instead of converging nicely.

I have this problem on most occasions that I try to model vertical perimeter insulation. I tried changing aspect ratio, domain size etc thinking I was onto something, but ultimately these were proved to not be the critical parameters. I could never find a pattern to success/failure of the sims.

POSSIBLE SOLUTION

It seems that for my local slab-ON-grade standard building practice (South Africa), with below-grade vertical perimeter insulation against the foundation wall (the below-grade wall above footing) I should rather model as slab-IN-grade with the vertical insulation ticked and just accept some physical inaccuracy due to the slab being modelled in-grade instead of on-grade. I have now done this with three different insulation specs, three sims in a row. All of them ran successfully! For me, this sim reliability was unheard of with [slab-on-grade + vert. perim. insul.]. I'd only get a successful run occasionally, by luck I guess.

QUESTION

Am I correct that for sims using ground domain, slab-on ... (more)

edit retag flag offensive close merge delete

Comments

1

I can't access the files on OneDrive. That being said, this definitely shouldn't be a problem. I use slab-on-grade for all my ground domain modelling and I've never seen any problems with edge insulation.

I think we'd need to see the idfs to guess at what might be going on. I'd normally suggest trying to model it in a simple one-zone cell to make things easier, but if you say you've been having the problem for years it's presumably not just this one model having odd issues...

Jamie Sullivan's avatar Jamie Sullivan  ( 2025-05-11 18:19:53 -0500 )edit

Argh, OneDrive strikes again. I have now attached the screen snips.

Thank you so much. That is very interesting to hear.

If you/anyone has a chance, please see idf attached in my "answer" below. (I attached it there because I seem to have hit a limit in my original post.)

buffoon1's avatar buffoon1  ( 2025-05-12 00:24:34 -0500 )edit

Taking a look at the idf the soil conductivity and specific heat seem very low (though of course soil properties are highly variable). I found that increasing them did allow the model to run, though it didn't fix the heating sizing errors. Unfortunately I don't know enough about sizing to say what's going on there. I'd probably recommend testing with a simpler model at this point.

On a side note, if you're using pixelcounting it's probably worth being aware of this issue.

Jamie Sullivan's avatar Jamie Sullivan  ( 2025-05-12 19:41:09 -0500 )edit

Lost my typing now but basically: Thanks so much for looking at this. Am revisiting soil props. Also thanks for the warning about Px counting - I am doing a comparison to help choose solar and shading sim options. Probably will end up using full int & ext with polygon clipping and extra virtual partitions to make all zones convex.

buffoon1's avatar buffoon1  ( 2025-05-13 04:50:17 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
3

answered 2025-05-08 17:53:44 -0500

Jamie Sullivan's avatar

updated 2025-05-12 20:19:53 -0500

If you're using both Slab:GroundDomain and the pre-processor I think the answer is that you don't need to use both? My understanding was that the pre-processor was an older approach, and the GroundDomain model didn't need it - you feed in the 2m temperatures through Site:GroundTemperature:Shallow and Site:GroundTemperature:Undisturbed:KusudaAchenbach. Hence why the Slab:GroundDomain inputs ask for "Undisturbed" ground temperatures.

I've gotten reasonable alignment between GroundDomain and Kiva like this - the main point of disagreement is where Kiva predicts significant heat gains through the edge of the slab in summer, which can be reduced by edge insulation. Because of this Kiva tends to predict significantly higher overheating and cooling loads and significantly different effects from adding edge insulation. I've been running models with both ground models for sensitivity analysis because of this the past few years.

If you do try Kiva however you do need to update E+ beyond v9.4 though - there was a serious bug that resulted in Kiva underestimating heating use by like 40%. This was fixed in v22.1.0 iirc

Edit: adding a couple of notes on GroundDomain defaults after looking at the idf:

  • Ground domain depth: the relationship of ground depth to heating use is vaguely U-shaped. In my experience, at least in my climates, the lowest heating use is found around 10m (the E+ default), while shallower depths will increase it and deeper ones will increase it more slowly. I'm not entirely sure this parameter is identical to the groundwater depth parameter in Kiva, but treating them as the same does seem to align their results decently. The Kiva documentation suggests using an approximation from an older paper to estimate the water table depth at ~0.1022 * elevation (though GroundDomain cannot go shallower than 2m). Anyway, 2m depth will produce higher slab heat loss, which may be interpreted as a worst estimate of heating use or an optimistic case of potential heating savings when looking at slab insulation. Sensitivity analysis of ground depth may be useful depending on what you are looking at.
  • Aspect ratio: this is an annoying parameter because it's not what we normally use to describe slabs (typically Area/Perimeter ratio). If I understand it correctly, the aspect ratio is instead the length/width ratio of an equivalent rectangle to your slab. The dimensions of an equivalent rectangle can be identified by solving a quadratic where a = 1, b = -perimeter/2, and c = area.
edit flag offensive delete link more

Comments

Thank you so much Jamie! Sorry, I have now edited my post to refer only to ground domain. I was evidently out of touch; unaware that SLAB pre-proc and GD functionality are two different parts of EP from different eras.

Thanks for the heads-up about Kiva too!

Thanks for the info on GD depth and AR - some handy points that I am making use of now. Based on the DB help (which is more simplified) your understanding of AR does make sense. I repeated the derivation and the a,b,c terms check out.

buffoon1's avatar buffoon1  ( 2025-05-08 22:06:32 -0500 )edit
0

answered 2025-05-12 01:00:13 -0500

buffoon1's avatar

updated 2025-05-12 02:15:35 -0500

NOT AN ANSWER

Seems I had an attachment limit on the original post. Please see attached idf file. Please remove the .jpg extension then unzip. Had to do both zipping (size reduction) and renaming to get it to upload.C:\fakepath\on-grade-vert-perim-insul-fails.zip.jpg

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Careers

Question Tools

1 follower

Stats

Asked: 2025-05-08 04:41:06 -0500

Seen: 103 times

Last updated: yesterday