Open marchdf opened 1 month ago
Information I have so far:
backtrace:
* thread #1, name = 'naluX', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x0) * frame #0: 0x00007fffef78c6a4 libopenfastcpplib.so`fast::OpenFAST::allocateMemory_preInit(this=0x0000000000709b50) at OpenFAST.cpp:2072:49 frame #1: 0x00007fffef77f71c libopenfastcpplib.so`fast::OpenFAST::init(this=0x0000000000709b50) at OpenFAST.cpp:635:27 frame #2: 0x00007ffff6bf93d0 libnalu.so`void std::__invoke_impl<void, void (fast::OpenFAST::*&)(), fast::OpenFAST*&>((null)=__invoke_memfun_deref @ 0x00007fffffff1680, __f=0x0000000000712ea0, __t=0x0000000000712eb0) at invoke.h:74:46 frame #3: 0x00007ffff6bf9231 libnalu.so`std::__invoke_result<void (fast::OpenFAST::*&)(), fast::OpenFAST*&>::type std::__invoke<void (fast::OpenFAST::*&)(), fast::OpenFAST*&>(__fn=0x0000000000712ea0, (null)=0x0000000000712eb0) at invoke.h:96:40 frame #4: 0x00007ffff6bf8fe8 libnalu.so`void std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>::__call<void, 0ul>(this=0x0000000000712ea0, __args=0x00007fffffff16ff, (null)=_Index_tuple<0> @ 0x00007fffffff16e0) at functional:495:24 frame #5: 0x00007ffff6bf8d8a libnalu.so`void std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>::operator()<void>(this=0x0000000000712ea0) at functional:580:32 frame #6: 0x00007ffff6bf7faa libnalu.so`void std::__invoke_impl<void, std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>&>((null)=__invoke_other @ 0x00007fffffff1730, __f=0x0000000000712ea0) at invoke.h:61:36 frame #7: 0x00007ffff6bf7684 libnalu.so`std::enable_if<is_invocable_r_v<void, std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>&>, void>::type std::__invoke_r<void, std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>&>(__fn=0x0000000000712ea0) at invoke.h:111:28 frame #8: 0x00007ffff6bf68f3 libnalu.so`std::_Function_handler<void (), std::_Bind<void (fast::OpenFAST::* (fast::OpenFAST*))()>>::_M_invoke(__functor=0x00007fffffff1ce0) at std_function.h:290:30 frame #9: 0x00007ffff6bf43d2 libnalu.so`std::function<void ()>::operator()(this=0x00007fffffff1ce0) const at std_function.h:591:9 frame #10: 0x00007ffff6bf3d17 libnalu.so`sierra::nalu::squash_fast_output(func=function<void()> @ 0x00007fffffff1ce0) at ActuatorBulkFAST.h:81:7 frame #11: 0x00007ffff6bed826 libnalu.so`sierra::nalu::ActuatorBulkFAST::init_openfast(this=0x0000000000709580, actMeta=0x00000000006cad90, naluTimeStep=0.0625) at ActuatorBulkFAST.C:109:23 frame #12: 0x00007ffff6bed210 libnalu.so`sierra::nalu::ActuatorBulkFAST::ActuatorBulkFAST(this=0x0000000000709580, actMeta=0x00000000006cad90, naluTimeStep=0.0625) at ActuatorBulkFAST.C:58:16 frame #13: 0x00007ffff6b6733a libnalu.so`sierra::nalu::ActuatorModel::setup(this=0x0000000000602290, timeStep=0.0625, stkBulk=0x00000000006cdf60) at ActuatorModel.C:87:60 frame #14: 0x00007ffff6b62734 libnalu.so`sierra::nalu::AeroContainer::setup(this=0x0000000000602290, timeStep=0.0625, bulk=ptr = 0x6cdf60) at AeroContainer.C:89:25 frame #15: 0x00007ffff699862d libnalu.so`sierra::nalu::Realm::initialize_prolog(this=0x00000000006c8d00) at Realm.C:434:23 frame #16: 0x00007ffff69d3b66 libnalu.so`sierra::nalu::Realms::initialize_prolog(this=0x00000000006a17d0) at Realms.C:75:29 frame #17: 0x00007ffff6a034d2 libnalu.so`sierra::nalu::Simulation::initialize(this=0x00007fffffff2570) at Simulation.C:184:29 frame #18: 0x0000000000428dfa naluX`main(argc=5, argv=0x00007fffffff31a8) at nalu.C:197:19 frame #19: 0x00007fffe739a7e5 libc.so.6`__libc_start_main + 229 frame #20: 0x0000000000427a7e naluX`_start + 46
This is the offender:
(lldb) print globTurbineData (std::vector<fast::turbineDataType>) size=1 { [0] = { TurbID = 1 FASTInputFileName = "nrel5mw.fst" FASTRestartFileName = "blah" outFileRoot = "" dt = 0 TurbineBasePos = size=3 { [0] = 0 [1] = 0 [2] = 0 } TurbineHubPos = size=0 {} sType = EXTINFLOW numBlades = 0 numVelPtsBlade = 0 numVelPtsTwr = 0 numVelPts = 0 numForcePtsBlade = 50 numForcePtsTwr = 20 numForcePts = 0 nodeClusterType = 0 inflowType = 0 nacelle_cd = 1 nacelle_area = 8 air_density = 1.22500002 nBRfsiPtsBlade = size=0 {} nTotBRfsiPtsBlade = 0 nBRfsiPtsTwr = 0 azBlendMean = 0 azBlendDelta = 0 velMean = 0 windDir = 0 zRef = 0 shearExp = 0 } }
Notice: TurbineHubPos = size=0 {} . Which means this call will fail: https://github.com/OpenFAST/openfast/blob/dev/glue-codes/openfast-cpp/src/OpenFAST.cpp#L2072
TurbineHubPos = size=0 {}
So the turbine hub position isn't getting passed in right. Not sure why yet... I tried the obvious thing and added turbine_hub_pos to the yaml input file. No luck.
turbine_hub_pos
Phew figured it out. The actuator fast parser did not set the hub height.
Information I have so far:
backtrace:
This is the offender:
Notice:
TurbineHubPos = size=0 {}
. Which means this call will fail: https://github.com/OpenFAST/openfast/blob/dev/glue-codes/openfast-cpp/src/OpenFAST.cpp#L2072So the turbine hub position isn't getting passed in right. Not sure why yet... I tried the obvious thing and added
turbine_hub_pos
to the yaml input file. No luck.