Swimming Pool Simulation


I am trying to simulate a swimming pool into grasshopper. So I went to bigladder to see what were the inputs and outputs needed to simulate a swimming pool. Here is the link : https://bigladdersoftware.com/epx/docs/8-3/input-output-reference/group-internal-gains-people-lights-other.html#swimmingpoolindoor.
Here are my questions :

  1. How can I link my swimming pool to the demand side of the hotwater loop ?
  2. I created the schedules needed via the panel tool but is there any other way to do it ? And if so, were to link them ?
  3. Did I correctly set up the outputs that I found on bigladder ?

Here are my files : SwimmingPoolTest.3dm (51.0 KB) SwimmingPoolTest.gh (656.3 KB)
Thank you in advance !

Hi @Ardian,

A nice project! I don’t think the Ironbug_waterUseEquipment is suited for this problem.
Perhaps @MingboPeng has an idea how to solve this. It would be nice if such a simulation is possible.

I simplified a bit the outputs here : SwimmingPoolTest.3dm (51.0 KB) SwimmingPoolTest.gh (650.5 KB)
Can you take a look if you have time @MingboPeng ?
Thank you in advance.

@Ardian, there is no easy way to directly add the “swimming pool” in HVAC loops, as OpenStudio support the swimming pool. We have to hack around it.

  1. Add a dummy object as the placeholder for swimming pool to replace with:

  2. Get Inlet/Outlet node names for swimming pool: you can get this by running the simulation, and find it in idf file:

search the keyword: “DummyObj” here you will find the “Node 9” for inlet and “Node 12” for outlet. This might be same when you run, but you need to double check it for the first time.


  1. Update the swimming pool idf text. (note: I also changed your object name, as you have the same name at different places, which might crash the energyPlus)

  2. Replace the dummyObj with swimming pool in hot water loop. You need to rerun the simulation with new updated swimming pool (ignore the errors) to get the new idf file path:

I created a component for you to replace the DummyObj with swimming pool in the plant loop (ensure names are matching your cases from step 1 and 3):

Here is the gh file. I tested it, it ran fine without any issue.
20200928_SwimmingPoolTest_MP.gh (644.9 KB)

Hi @MingboPeng,

Thank very much for your precious help !
I have worked on it since then, and I have ended up with some questions that I would like to raise here:

  1. Where does the heating consumption (from the boiler) appear?
  2. Why does water temperature goes higher than the setpoint during the summer?
  3. Shouldn’t there be a heat exchanger module?

I have gone through the Engineering reference at BigLadder and setup all the outputs of the Swimmingpool, and I have also created a visualization for the system (according to my understanding) as shown below:

Does it suite the scheme that Ironbug/Energyplus uses to simulate swimmingpool?

I am attaching here the gh files with the full outcome package:
20200928_SwimmingPoolTest_MP_AK.gh (667.7 KB) SwimmingPoolTest.3dm (48.4 KB)

Hi @Ardian,

Because I have never tested this swimming pool in any real project, I will need to find some time to test it. I’d suggest you to post the questions to https://unmethours.com/questions/ where you might find someone has done this and understand the technical side that how SwimmingPool works in EnergyPlus.

I would also suggest you to check EnergyPlus example file 5ZoneSwimmingPool.idf (167.9 KB) and compare with what you have modeled.

Hi @MingboPeng,

Thank you for your answer, I’ll do that !

Just FYI, OpenStudio team just added the SwimmingPool to OpenStudio. It will be available in 3.1.
So after 3.1 is released, we don’t have to do this hacking way, it will be much easier to model SwimmingPool.

1 Like