Opened 10 years ago

Last modified 9 years ago

#3264 closed defect

Solver for algebraic loops — at Version 1

Reported by: Rüdiger Franke Owned by: Marcus Walther
Priority: high Milestone: 1.9.4
Component: Cpp Run-time Version: trunk
Keywords: Cc:

Description (last modified by Rüdiger Franke)

Currently an FMU with algebraic loop fails because the solver "Newton" is not known. The first hurdle can be taken by fixing the capatalization in FMU(2)GlobalSettings.h from "Newton" to "newton" -- or better configure "kinsol" as in OMCFactory::ReadSimulationParameter (r25379, r25381)?

Btw. LinSolverOMCFactory only knows "umfpack" -- is the default "kinsol" in OMCFactory::ReadSimulationParameter correct?

Anyway, the FMU now wants to load libOMCppKinsol.so dynamically at runtime. It appears that the setting in SimulationRuntime/Core/System/CMakeLists.txt, Line 16 is wrong:

set_target_properties(${SystemName}_FMU PROPERTIES COMPILE_DEFINITIONS "DRUNTIME_STATIC_LINKING")

Changing to COMPILE_DEFINITIONS "RUNTIME_STATIC_LINKING", without D, the resulting libOMCppSystem_FMU contains an AlgLoopSolverFactory with the intended constructer. But that one crashes.

r25380 adds the rpath for now, so that FMUs with algebraic loops work. This is considered a temporary fix though.

How can one link a reasonable solver for algebraic loops into the FMU?

Change History (1)

comment:1 by Rüdiger Franke, 10 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.