@@ -6822,11 +6822,11 @@ public function getSolvedSystem "Run the equation system pipeline."
68226822 input Option < list< String >> strPostOptModules = NONE ();
68236823 output BackendDAE . BackendDAE outSimDAE;
68246824 output BackendDAE . BackendDAE outInitDAE;
6825- output Option < BackendDAE . BackendDAE > outInitDAE_lambda0 ;
6825+ output Option < BackendDAE . BackendDAE > outInitDAE_lambda0_option ;
68266826 output Option < BackendDAE . InlineData > outInlineData;
68276827 output list< BackendDAE . Equation > outRemovedInitialEquationLst;
68286828protected
6829- BackendDAE . BackendDAE dae, simDAE;
6829+ BackendDAE . BackendDAE dae, simDAE, outInitDAE_lambda0 ;
68306830 list< tuple< BackendDAEFunc . optimizationModule, String >> preOptModules;
68316831 list< tuple< BackendDAEFunc . optimizationModule, String >> postOptModules;
68326832 tuple< BackendDAEFunc . StructurallySingularSystemHandlerFunc , String , BackendDAEFunc . stateDeselectionFunc, String > daeHandler;
@@ -6879,7 +6879,7 @@ algorithm
68796879 end if ;
68806880
68816881 // generate system for initialization
6882- (outInitDAE, outInitDAE_lambda0 , outRemovedInitialEquationLst, globalKnownVars) := Initialization . solveInitialSystem(dae);
6882+ (outInitDAE, outInitDAE_lambda0_option , outRemovedInitialEquationLst, globalKnownVars) := Initialization . solveInitialSystem(dae);
68836883
68846884 // use function tree from initDAE further for simDAE
68856885 simDAE := BackendDAEUtil . setFunctionTree(dae, BackendDAEUtil . getFunctions(outInitDAE. shared ));
@@ -6903,6 +6903,10 @@ algorithm
69036903 // remove unused functions
69046904 funcTree := BackendDAEOptimize . copyRecordConstructorAndExternalObjConstructorDestructor(BackendDAEUtil . getFunctions(simDAE. shared ));
69056905 funcTree := BackendDAEOptimize . removeUnusedFunctions(outInitDAE. eqs, outInitDAE. shared , outRemovedInitialEquationLst, BackendDAEUtil . getFunctions(simDAE. shared ), funcTree);
6906+ if isSome(outInitDAE_lambda0_option) then
6907+ SOME (outInitDAE_lambda0) := outInitDAE_lambda0_option;
6908+ funcTree := BackendDAEOptimize . removeUnusedFunctions(outInitDAE_lambda0. eqs, simDAE. shared , {}, BackendDAEUtil . getFunctions(simDAE. shared ), funcTree);
6909+ end if ;
69066910 funcTree := BackendDAEOptimize . removeUnusedFunctions(simDAE. eqs, simDAE. shared , {}, BackendDAEUtil . getFunctions(simDAE. shared ), funcTree);
69076911 outSimDAE := BackendDAEUtil . setFunctionTree(simDAE, funcTree);
69086912 execStat("remove unused functions" );
0 commit comments