Skip to content

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

@mitchute

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    TriageIssue needs to be assessed and labeled, further information on reported might be neededUnconfirmedDefectDefect has not yet confirmed to be an actual issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions