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

Error: trapped plant loop index = 0

asked 2016-02-23 18:21:29 -0600

RChidwick gravatar image

updated 2016-02-26 16:53:48 -0600


I am receiving an error, shown below, in my simulation of an aquaponics facility. I used SketchUp to create the building envelope, then OpenStudio to put most of the simulation together (everything from schedules all the way down to the plant loops). Since you can't access the E+ swimming pool object through OpenStudio yet (and I don't know how to write measures yet) I then exported the idf file from OpenStudio and added the swimming pools to the plant loop, then ran the simulation from E+.

* Severe * SetComponentFlowRate: trapped plant loop index = 0, check component with inlet node named=NODE 56

Node 56 is the water inlet node to a swimming pool. There are three pools in this thermal zone, which are set up in parallel on the plant loop. I can usually take a guess at what errors mean and sometimes figure out how to fix them, but in this case I have no idea what the cause is or what a possible solution is. I haven't found any mention of this error elsewhere. I am grateful for any help.

I'm still unsure of when it is necessary to upload my idf file. If it would help let me know and I can upload it.

Thank you.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2016-02-26 16:27:38 -0600

I see a crash in ZoneHVAC:LowTemperatureRadiant:VariableFlow since the cooling water inlet/outlet nodes are 0. Do you only want heating from the radiant system? If so, Cooling Design Capacity Method should be None if not used for cooling. But wait, the IDD says None is an option, but the program stops if None is used.

So the only suggestion I can make is to create a chilled water plant loop to be able to simulate this model (or get rid of the ZoneHVAC:LowTemperatureRadiant:VariableFlow object).

  A10,  \field Cooling Design Capacity Method
    \type choice
    \key None
    \key CoolingDesignCapacity
    \key CapacityPerFloorArea
    \key FractionOfAutosizedCoolingCapacity

 Low Temp Radiant Var Flow,  !- Name
 Always On Discrete 1,    !- Availability Schedule Name
 Greenhouse Main Thermal Zone,  !- Zone Name
 Low Temp Radiant Var FlowFloors,  !- Surface Name or Radiant Surface Group Name
 0.043,                   !- Hydronic Tubing Inside Diameter {m}
 8778,                    !- Hydronic Tubing Length {m}
 MeanAirTemperature,      !- Temperature Control Type
 HeatingDesignCapacity,   !- Heating Design Capacity Method
 Autosize,                !- Heating Design Capacity {W}
 ,                        !- Heating Design Capacity Per Floor Area {W/m2}
 ,                        !- Fraction of Autosized Heating Design Capacity
 0.02,                    !- Maximum Hot Water Flow {m3/s}
 Node 8,                  !- Heating Water Inlet Node Name
 Node 10,                 !- Heating Water Outlet Node Name
 0.5,                     !- Heating Control Throttling Range {deltaC}
 Greenhouse Heating Schedule,  !- Heating Control Temperature Schedule Name
 CoolingDesignCapacity,   !- Cooling Design Capacity Method
 Autosize,                !- Cooling Design Capacity {W}
 ,                        !- Cooling Design Capacity Per Floor Area {W/m2}
 ,                        !- Fraction of Autosized Cooling Design Capacity
 0,                       !- Maximum Cold Water Flow {m3/s}
 ,                        !- Cooling Water Inlet Node Name
 ,                        !- Cooling Water Outlet Node Name

and the err file shows this:

** Severe  ** SetComponentFlowRate: trapped plant loop index = 0, check component with inlet node named=NODE 54

and this: * Warning * SizePlantLoop: Calculated Plant Sizing Design Volume Flow Rate=[0.00] is too small. Set to 0.0 * ~~~ * ..occurs for PlantLoop=SWIMMING POOL LOOP

the bnd file shows node 54 as: Node,54,GREENHOUSE MAIN THERMAL ZONE RETURN AIR NODE,Air,0

edit flag offensive delete link more


This last warning makes no sense. Node 54 is an air node (zone air return node) and the warning should be reporting water nodes???

rraustad gravatar imagerraustad ( 2016-02-26 17:05:58 -0600 )edit

Pool 1 is connected properly, 2 and 3 are not (i.e., plant loop index = 0)

 Swimming pool 1,         !- Name
 Node 35,                 !- Pool Water Inlet Node
 Node 37,                 !- Pool Water Outlet Node

 Swimming pool 2,         !- Name
 Node 54,                 !- Pool Water Inlet Node
 Node 55,                 !- Pool Water Outlet Node

 Swimming pool 3,         !- Name
 Node 56,                 !- Pool Water Inlet Node
 Node 57,                 !- Pool Water Outlet Node
rraustad gravatar imagerraustad ( 2016-02-26 17:22:11 -0600 )edit

This looks wrong:

 Swimming Pool Loop Supply Branches,
 Swimming Pool Loop Supply Inlet Branch,
 Swimming Pool Loop Supply Branch 1,
 Swimming Pool Loop Supply Branch 2,
 Swimming Pool Loop Supply Outlet Branch;

 Swimming Pool Loop Demand Branches,
 Swimming Pool Loop Demand Inlet Branch,
 Swimming Pool Loop Demand Branch 1,
 Swimming Pool Loop Demand Branch 2,
 Swimming Pool Loop Demand Branch 3,
 Swimming Pool Loop Demand Bypass Branch,
 Swimming Pool Loop Demand Outlet Branch;
rraustad gravatar imagerraustad ( 2016-02-26 19:38:43 -0600 )edit

Thank you for your help. I have added an additional loop for cooling for the LowTemperatureRadiant:VariableFlow object. And instead of trying to get the three pools set up correctly I just created a single pool with the same surface area to volume ratio as for three separate pools. The simulation now runs smoothly.

RChidwick gravatar imageRChidwick ( 2016-03-08 17:06:01 -0600 )edit

answered 2016-02-23 18:51:03 -0600

This isn't a full answer, but I've found it sometimes can be helpful when encountering an unfamiliar error to search the EnergyPlus source code using a bit of the error string to see what comes up. In you case, this error only shows up once, when (and this is kind of a stretch, since I don't know C++ that well) the plant loop index is zero.

I would double-check that you've connected your SwimmingPool objects correctly to the proper demand branch(es) of your loop. If you're still getting the error, you might want to upload your idf.

edit flag offensive delete link more


The plant loop index is typically found via a call to ScanPlantLoopsForObject. Usually done in Init routines. This call should be made before a call to SetComponentFlowRate. If this function were called and a plant loop not found, and error would be reported.

rraustad gravatar imagerraustad ( 2016-02-23 20:26:10 -0600 )edit

How do I call ScanPlantLoopsForObject?

RChidwick gravatar imageRChidwick ( 2016-02-24 16:43:19 -0600 )edit

I think what @rraustad is getting at (and again, forgive my ignorance) is that if your component was connected wrong, it should have thrown an error when ScanPlantLoopsForObject is called in InitSwimmingPool (here) before getting to the routine SetComponentFlowRate that calls your error here. Basically throws my theory out the window.

Eric Ringold gravatar imageEric Ringold ( 2016-02-24 17:07:30 -0600 )edit

New theory: something happens in some routine (InitComponentNodes maybe?) between calls to ScanPlantLoopsForObject and SetComponentFlowRate that sets LoopNum == 0. That's the furthest out on this limb I'm going to climb, and hopefully @rraustad can fill in the gaps.

Eric Ringold gravatar imageEric Ringold ( 2016-02-24 17:16:56 -0600 )edit

Send your file to my email address, I can look at it tomorrow and tell you what's happening.

rraustad gravatar imagerraustad ( 2016-02-24 19:32:31 -0600 )edit

Your Answer

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

Add Answer


Question Tools

1 follower


Asked: 2016-02-23 18:21:29 -0600

Seen: 221 times

Last updated: Feb 26 '16