Skip to content

Commit

Permalink
replace external alias in parameter bindings (#982)
Browse files Browse the repository at this point in the history
This is needed if parameters are initialized by external functions using the same external object .
  • Loading branch information
vwaurich committed Jul 29, 2020
1 parent 9890278 commit b11b7ec
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion OMCompiler/Compiler/BackEnd/BackendDAECreate.mo
Expand Up @@ -142,7 +142,7 @@ algorithm
end if;
// handle alias equations
(vars, globalKnownVars, extVars, aliasVars, eqns, reqns, ieqns) := handleAliasEquations(aliaseqns, vars, globalKnownVars, extVars, aliasVars, eqns, reqns, ieqns);
(ieqns, eqns, reqns, extAliasVars, extVars) := getExternalObjectAlias(ieqns, eqns, reqns, extVars);
(ieqns, eqns, reqns, extAliasVars, globalKnownVars, extVars) := getExternalObjectAlias(ieqns, eqns, reqns, globalKnownVars, extVars);
aliasVars := BackendVariable.addVariables(extAliasVars,aliasVars);

vars_1 := detectImplicitDiscrete(vars, globalKnownVars, eqns);
Expand Down Expand Up @@ -195,11 +195,13 @@ author: waurich TUD 2016-10"
input list<BackendDAE.Equation> inInitEqs;
input list<BackendDAE.Equation> inEqs;
input list<BackendDAE.Equation> inRemEqs;
input BackendDAE.Variables globalVarsIn;
input BackendDAE.Variables extVars;
output list<BackendDAE.Equation> oInitEqs;
output list<BackendDAE.Equation> oEqs;
output list<BackendDAE.Equation> oRemEqs;
output BackendDAE.Variables extAliasVars;
output BackendDAE.Variables globalVarsOut;
output BackendDAE.Variables extVarsOut;
protected
list<DAE.ComponentRef> extCrefs;
Expand Down Expand Up @@ -232,6 +234,7 @@ algorithm
(oEqs,_) := BackendVarTransform.replaceEquations(oEqs,repl,NONE());
(oInitEqs,_) := BackendVarTransform.replaceEquations(oInitEqs,repl,NONE());
(oRemEqs,_) := BackendVarTransform.replaceEquations(oRemEqs,repl,NONE());
(globalVarsOut, _) := BackendVariable.traverseBackendDAEVarsWithUpdate(globalVarsIn, BackendVarTransform.replaceVarTraverser, repl);

oEqs := listReverse(oEqs);
oInitEqs := listReverse(oInitEqs);
Expand Down

0 comments on commit b11b7ec

Please sign in to comment.