Skip to content

Variable Speed Pump and Two-way Common Pipe Causes Hard Crash #11599

Description

@mitchute

Issue overview

A user submitted an IDF where a variable speed pump and two-way common pipe were used. This configuration is currently unsupported in EnergyPlus. Instead of throwing a warning and falling back to a constant speed pump, the file hard crashed with a segmentation fault.

Backtrace

#0  0x00007ffff30be08f in ObjexxFCL::IndexRange::contains (this=0x1e8, i=1) at /home/mitchute/Projects/EnergyPlus/third_party/ObjexxFCL/src/ObjexxFCL/IndexRange.hh:346
#1  0x00007ffff3655f2a in ObjexxFCL::Array1<EnergyPlus::DataPlant::BranchData>::contains (this=0x1a8, i=1) at /home/mitchute/Projects/EnergyPlus/third_party/ObjexxFCL/src/ObjexxFCL/Array1.hh:941
#2  0x00007ffff3654012 in ObjexxFCL::Array1<EnergyPlus::DataPlant::BranchData>::operator() (this=0x1a8, i=1) at /home/mitchute/Projects/EnergyPlus/third_party/ObjexxFCL/src/ObjexxFCL/Array1.hh:861
#3  0x00007ffff37ae14d in EnergyPlus::PlantUtilities::SetActuatedBranchFlowRate (state=..., CompFlow=@0x7fffffffa488: 0, ActuatedNode=77, plantLoc=..., ResetMode=false) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/PlantUtilities.cc:343
#4  0x00007ffff45ddf9d in EnergyPlus::HVACInterfaceManager::ManageTwoWayCommonPipe (state=..., plantLoc=..., TankOutletTemp=35) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACInterfaceManager.cc:1183
#5  0x00007ffff45dcb3e in EnergyPlus::HVACInterfaceManager::UpdateCommonPipe (state=..., TankInletPlantLoc=..., CommonPipeType=EnergyPlus::DataPlant::CommonPipeType::TwoWay, MixedOutletTemp=@0x7fffffffa9e8: 0) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACInterfaceManager.cc:844
#6  0x00007ffff45daa94 in EnergyPlus::HVACInterfaceManager::UpdatePlantLoopInterface (state=..., plantLoc=..., ThisLoopSideOutletNode=70, OtherLoopSideInletNode=77, OutOfToleranceFlag=@0x5555587221c8: true, CommonPipeType=EnergyPlus::DataPlant::CommonPipeType::TwoWay)
    at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACInterfaceManager.cc:521
#7  0x00007ffff4c00c71 in EnergyPlus::DataPlant::HalfLoopData::solve (this=0x555558721a90, state=..., FirstHVACIteration=true, ReSimOtherSideNeeded=@0x5555587221c8: true) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/Plant/LoopSide.cc:146
#8  0x00007ffff362d8f8 in EnergyPlus::PlantManager::ManagePlantLoops (state=..., FirstHVACIteration=true, SimAirLoops=@0x555555647628: true, SimZoneEquipment=@0x55555564762b: true, SimNonZoneEquipment=@0x55555564762c: true, SimPlantLoops=@0x55555564762a: true, 
    SimElecCircuits=@0x555555647629: true) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/Plant/PlantManager.cc:216
#9  0x00007ffff45ed3b5 in EnergyPlus::HVACManager::SimSelectedEquipment (state=..., SimAirLoops=@0x555555647628: true, SimZoneEquipment=@0x55555564762b: true, SimNonZoneEquipment=@0x55555564762c: true, SimPlantLoops=@0x55555564762a: true, SimElecCircuits=@0x555555647629: true, 
    FirstHVACIteration=@0x7fffffffadc5: true, LockPlantFlows=false) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACManager.cc:1867
#10 0x00007ffff45e5bcf in EnergyPlus::HVACManager::SimHVAC (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACManager.cc:862
#11 0x00007ffff45e149a in EnergyPlus::HVACManager::ManageHVAC (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HVACManager.cc:279
#12 0x00007ffff471a60e in EnergyPlus::HeatBalanceAirManager::CalcHeatBalanceAir (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HeatBalanceAirManager.cc:4575
#13 0x00007ffff46f1f3b in EnergyPlus::HeatBalanceAirManager::ManageAirHeatBalance (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HeatBalanceAirManager.cc:159
#14 0x00007ffff47c8157 in EnergyPlus::HeatBalanceSurfaceManager::ManageSurfaceHeatBalance (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HeatBalanceSurfaceManager.cc:183
#15 0x00007ffff475663a in EnergyPlus::HeatBalanceManager::ManageHeatBalance (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/HeatBalanceManager.cc:209
#16 0x00007ffff39e5cbb in EnergyPlus::SimulationManager::SetupSimulation (state=..., ErrorsFound=@0x7fffffffbd53: false) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/SimulationManager.cc:2092
#17 0x00007ffff39d6c31 in EnergyPlus::SimulationManager::ManageSimulation (state=...) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/SimulationManager.cc:352
#18 0x00007ffff30ca1d7 in RunEnergyPlus (state=..., filepath="") at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/api/EnergyPlusPgm.cc:421
#19 0x00007ffff30c92c7 in EnergyPlusPgm (args=std::__debug::vector of length 4, capacity 4 = {...}, filepath="") at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/api/EnergyPlusPgm.cc:240
#20 0x0000555555580be7 in main (argc=4, argv=0x7fffffffd7a8) at /home/mitchute/Projects/EnergyPlus/src/EnergyPlus/main.cc:61

A temporary workaround is to use a constant speed pump.

in.idf.txt

Operating System (Multiple choices)

Ubuntu

Operating System Version

24.04

Version of EnergyPlus

26.1

Unmethours link or helpdesk ticket number

N/A

Defect file

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

DefectIncludes code to repair a defect in EnergyPlus

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions