Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit a317639

Browse files
ptaeuberOpenModelica-Hudson
authored andcommitted
Minor changes
- some comments for symbolic jacobian - recursion -> loop - some renaming
1 parent c1159bc commit a317639

13 files changed

+111
-121
lines changed

Compiler/BackEnd/BackendDAE.mo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -741,9 +741,9 @@ type SymbolicJacobians = list<tuple<Option<SymbolicJacobian>, SparsePattern, Spa
741741
public
742742
type SymbolicJacobian = tuple<BackendDAE, // symbolic equation system
743743
String, // Matrix name
744-
list<Var>, // diff vars
745-
list<Var>, // result diffed equation
746-
list<Var> // all diffed equation
744+
list<Var>, // diff vars (independent vars)
745+
list<Var>, // diffed vars (residual vars)
746+
list<Var> // all diffed vars (residual vars + dependent vars)
747747
>;
748748

749749
public

Compiler/BackEnd/BackendDAEOptimize.mo

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ algorithm
582582
eqn = BackendEquation.equationNth1(eqns,pos);
583583
BackendDAE.EQUATION(exp=e1,scalar=e2) = eqn;
584584
// variable time not there
585-
globalKnownVars = BackendVariable.daeKnVars(shared);
585+
globalKnownVars = BackendVariable.daeGlobalKnownVars(shared);
586586
(_,(false,_,_,_,_)) = Expression.traverseExpTopDown(e1, traversingTimeEqnsFinder, (false,vars,globalKnownVars,true,false));
587587
(_,(false,_,_,_,_)) = Expression.traverseExpTopDown(e2, traversingTimeEqnsFinder, (false,vars,globalKnownVars,true,false));
588588
cr = BackendVariable.varCref(var);
@@ -601,7 +601,7 @@ algorithm
601601
eqn = BackendEquation.equationNth1(eqns,pos);
602602
BackendDAE.EQUATION(exp=e1,scalar=e2) = eqn;
603603
// variable time not there
604-
globalKnownVars = BackendVariable.daeKnVars(shared);
604+
globalKnownVars = BackendVariable.daeGlobalKnownVars(shared);
605605
(_,(false,_,_,_,_)) = Expression.traverseExpTopDown(e1, traversingTimeEqnsFinder, (false,vars,globalKnownVars,false,false));
606606
(_,(false,_,_,_,_)) = Expression.traverseExpTopDown(e2, traversingTimeEqnsFinder, (false,vars,globalKnownVars,false,false));
607607
cr = BackendVariable.varCref(var);
@@ -5209,7 +5209,7 @@ algorithm
52095209
tmpv := BackendVariable.makeVar(cref);
52105210
//tmpv := BackendVariable.setVarKind(tmpv, BackendDAE.PARAM());
52115211
tmpv := BackendVariable.setBindExp(tmpv, SOME(DAE.RCONST(0.0)));
5212-
shared := BackendVariable.addKnVarDAE(tmpv, inDAE.shared);
5212+
shared := BackendVariable.addGlobalKnownVarDAE(tmpv, inDAE.shared);
52135213

52145214
for syst in inDAE.eqs loop
52155215
(syst_, shared) := symEulerUpdateSyst(syst, b, shared);

Compiler/BackEnd/BackendDAEUtil.mo

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8418,18 +8418,18 @@ algorithm
84188418
outDAE := BackendDAE.DAE(systs, shared);
84198419
end setAliasVars;
84208420

8421-
public function setKnownVars "author: lochel"
8421+
public function setDAEGlobalKnownVars "author: lochel"
84228422
input BackendDAE.BackendDAE inDAE;
8423-
input BackendDAE.Variables inKnownVars;
8423+
input BackendDAE.Variables inGlobalKnownVars;
84248424
output BackendDAE.BackendDAE outDAE;
84258425
protected
84268426
BackendDAE.EqSystems systs;
84278427
BackendDAE.Shared shared;
84288428
algorithm
84298429
BackendDAE.DAE(systs, shared) := inDAE;
8430-
shared := setSharedGlobalKnownVars(shared, inKnownVars);
8430+
shared := setSharedGlobalKnownVars(shared, inGlobalKnownVars);
84318431
outDAE := BackendDAE.DAE(systs, shared);
8432-
end setKnownVars;
8432+
end setDAEGlobalKnownVars;
84338433

84348434
public function setFunctionTree "author: lochel"
84358435
input BackendDAE.BackendDAE inDAE;

Compiler/BackEnd/BackendEquation.mo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2414,7 +2414,7 @@ algorithm
24142414
eqnVars := equationVars(eqn, ivars);
24152415
b := listEmpty(eqnVars) and not Expression.expHasCref(y, DAE.crefTime);
24162416
if b then
2417-
knowVars := BackendVariable.daeKnVars(oshared);
2417+
knowVars := BackendVariable.daeGlobalKnownVars(oshared);
24182418
eqnKnVars := equationVars(eqn, knowVars);
24192419
(inputsKnVars,_) := List.splitOnTrue(eqnKnVars, BackendVariable.isInput);
24202420
b := listEmpty(inputsKnVars);
@@ -2428,7 +2428,7 @@ algorithm
24282428
else
24292429
tmpvar := BackendVariable.setBindExp(tmpvar, SOME(y));
24302430
tmpvar := BackendVariable.setVarKind(tmpvar, BackendDAE.PARAM());
2431-
oshared := BackendVariable.addKnVarDAE(tmpvar, oshared);
2431+
oshared := BackendVariable.addGlobalKnownVarDAE(tmpvar, oshared);
24322432
para := true;
24332433
end if;
24342434
else

Compiler/BackEnd/BackendVariable.mo

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2124,10 +2124,10 @@ public function daeVars "returns orderedVars"
21242124
output BackendDAE.Variables vars = inEqSystem.orderedVars;
21252125
end daeVars;
21262126

2127-
public function daeKnVars
2127+
public function daeGlobalKnownVars
21282128
input BackendDAE.Shared inShared;
21292129
output BackendDAE.Variables outGlobalKnownVars = inShared.globalKnownVars;
2130-
end daeKnVars;
2130+
end daeGlobalKnownVars;
21312131

21322132
public function daeAliasVars
21332133
input BackendDAE.Shared inShared;
@@ -2500,27 +2500,27 @@ algorithm
25002500
outEqSystem := List.fold(inVars, addVarDAE, outEqSystem);
25012501
end addVarsDAE;
25022502

2503-
public function addKnVarDAE
2503+
public function addGlobalKnownVarDAE
25042504
"author: Frenkel TUD 2011-04
25052505
Add a variable to Variables of a BackendDAE.
25062506
If the variable already exists, the function updates the variable."
2507-
input BackendDAE.Var inVar;
2507+
input BackendDAE.Var inGlobalKnownVar;
25082508
input BackendDAE.Shared inShared;
25092509
output BackendDAE.Shared outShared;
25102510
algorithm
2511-
outShared := BackendDAEUtil.setSharedGlobalKnownVars(inShared, addVar(inVar, inShared.globalKnownVars));
2512-
end addKnVarDAE;
2511+
outShared := BackendDAEUtil.setSharedGlobalKnownVars(inShared, addVar(inGlobalKnownVar, inShared.globalKnownVars));
2512+
end addGlobalKnownVarDAE;
25132513

2514-
public function addNewKnVarDAE
2514+
public function addNewGlobalKnownVarDAE
25152515
"author: Frenkel TUD 2011-04
25162516
Add a variable to Variables of a BackendDAE.
25172517
No Check if variable already exist. Use only for new variables"
2518-
input BackendDAE.Var inVar;
2518+
input BackendDAE.Var inGlobalKnownVar;
25192519
input BackendDAE.Shared inShared;
25202520
output BackendDAE.Shared outShared;
25212521
algorithm
2522-
outShared := BackendDAEUtil.setSharedGlobalKnownVars(inShared, addNewVar(inVar, inShared.globalKnownVars));
2523-
end addNewKnVarDAE;
2522+
outShared := BackendDAEUtil.setSharedGlobalKnownVars(inShared, addNewVar(inGlobalKnownVar, inShared.globalKnownVars));
2523+
end addNewGlobalKnownVarDAE;
25242524

25252525
public function addAliasVarDAE
25262526
"author: Frenkel TUD 2012-09

Compiler/BackEnd/DynamicOptimization.mo

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ algorithm
454454
BackendDAE.Variables vars;
455455

456456
case BackendDAE.EQSYSTEM(orderedEqs=orderedEqs) algorithm
457-
vars := BackendVariable.daeKnVars(outShared);
457+
vars := BackendVariable.daeGlobalKnownVars(outShared);
458458

459459
((_, idercr, icr, varLst)) := BackendDAEUtil.traverseBackendDAEExpsEqnsWithUpdate(orderedEqs, traverserinputDerivativesForDynOpt, (vars, idercr, icr, varLst));
460460
if listEmpty(idercr) then
@@ -463,16 +463,16 @@ algorithm
463463
// der(u) -> u has der
464464
varLst := BackendVariable.setVarsKind(varLst, BackendDAE.OPT_INPUT_WITH_DER());
465465
for v in varLst loop
466-
outShared := BackendVariable.addKnVarDAE(v, outShared);
466+
outShared := BackendVariable.addGlobalKnownVarDAE(v, outShared);
467467
end for;
468468
// der(u) -> new input var
469469
varLst := List.map(idercr, BackendVariable.makeVar);
470470
varLst := List.map1(varLst, BackendVariable.setVarDirection, DAE.INPUT());
471471
for v in varLst loop
472472
v := BackendVariable.setVarKind(v,BackendDAE.OPT_INPUT_DER());
473-
outShared := BackendVariable.addKnVarDAE(v, outShared);
473+
outShared := BackendVariable.addGlobalKnownVarDAE(v, outShared);
474474
end for;
475-
_ := BackendVariable.daeKnVars(outShared);
475+
_ := BackendVariable.daeGlobalKnownVars(outShared);
476476
//BackendDump.printVariables(vars);
477477
then (isyst, true);
478478

@@ -725,7 +725,7 @@ algorithm
725725
var := BackendVariable.mergeAliasVars(var, var_, false, globalKnownVars);
726726
var := BackendVariable.setVarKind(var, BackendDAE.OPT_LOOP_INPUT(cr_var));
727727
end if;
728-
oshared := BackendVariable.addKnVarDAE(var, oshared);
728+
oshared := BackendVariable.addGlobalKnownVarDAE(var, oshared);
729729
oeqns := BackendEquation.addEquation(BackendDAE.EQUATION(e, Expression.crefExp(cr), DAE.emptyElementSource, BackendDAE.EQ_ATTR_DEFAULT_UNKNOWN), oeqns);
730730
end for;
731731

Compiler/BackEnd/IndexReduction.mo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ algorithm
971971
// 1th try to replace final parameter
972972
case (_,_,_,_,_,syst as BackendDAE.EQSYSTEM(m=SOME(_), mT=SOME(_)))
973973
equation
974-
((eqns, eqnslst as _::_, _)) = List.fold1( inEqns, replaceFinalVars, BackendVariable.daeKnVars(inShared),
974+
((eqns, eqnslst as _::_, _)) = List.fold1( inEqns, replaceFinalVars, BackendVariable.daeGlobalKnownVars(inShared),
975975
(syst.orderedEqs, {}, BackendVarTransform.emptyReplacements()));
976976
syst.orderedEqs = eqns;
977977
// unassign changed equations and assigned vars
@@ -1806,7 +1806,7 @@ algorithm
18061806
// get orgequations of that level
18071807
(eqnslst1,orgEqnsLst) = removeFirstOrgEqns(iOrgEqnsLst);
18081808
// replace final parameter
1809-
(eqnslst,_) = BackendEquation.traverseExpsOfEquationList(eqnslst1, replaceFinalVarsEqn,(BackendVariable.daeKnVars(inShared),false,BackendVarTransform.emptyReplacements()));
1809+
(eqnslst,_) = BackendEquation.traverseExpsOfEquationList(eqnslst1, replaceFinalVarsEqn,(BackendVariable.daeGlobalKnownVars(inShared),false,BackendVarTransform.emptyReplacements()));
18101810
// replace all der(x) with dx
18111811
(eqnslst,_) = BackendEquation.traverseExpsOfEquationList(eqnslst, Expression.traverseSubexpressionsHelper, (replaceDerStatesStatesExp,so));
18121812
// force inline

Compiler/BackEnd/Initialization.mo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ algorithm
857857
GC.free(secondary);
858858
outPrimaryParameters := listReverse(outPrimaryParameters);
859859
outAllPrimaryParameters := listReverse(outAllPrimaryParameters);
860-
dae := BackendDAEUtil.setKnownVars(dae, otherVariables);
860+
dae := BackendDAEUtil.setDAEGlobalKnownVars(dae, otherVariables);
861861

862862
//BackendDump.dumpVarList(outPrimaryParameters, "outPrimaryParameters");
863863
//BackendDump.dumpVarList(outAllPrimaryParameters, "outAllPrimaryParameters");

Compiler/BackEnd/OnRelaxation.mo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ algorithm
325325
BackendDAEUtil.profilerreset1();
326326
BackendDAEUtil.profilerstart1();
327327
// replace evaluated parametes
328-
//_ = BackendDAEUtil.traverseBackendDAEExpsEqnsWithUpdate(eqns, replaceFinalParameter, BackendVariable.daeKnVars(shared));
328+
//_ = BackendDAEUtil.traverseBackendDAEExpsEqnsWithUpdate(eqns, replaceFinalParameter, BackendVariable.daeGlobalKnownVars(shared));
329329

330330
subsyst = BackendDAEUtil.createEqSystem(vars, eqns);
331331
(subsyst, m, _) = BackendDAEUtil.getIncidenceMatrix(subsyst, BackendDAE.ABSOLUTE(), SOME(funcs));

Compiler/BackEnd/RemoveSimpleEquations.mo

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ algorithm
217217
end for;
218218

219219
outDAE := BackendDAEUtil.setAliasVars(inDAE, BackendVariable.listVar(aliasVarList));
220-
outDAE := BackendDAEUtil.setKnownVars(outDAE, BackendVariable.listVar(knownVarList));
220+
outDAE := BackendDAEUtil.setDAEGlobalKnownVars(outDAE, BackendVariable.listVar(knownVarList));
221221
end fixAliasVars;
222222

223223
protected function fixKnownVars "author: lochel
@@ -257,7 +257,7 @@ algorithm
257257
dae.eqs := eqs::dae.eqs;
258258
end if;
259259

260-
dae := BackendDAEUtil.setKnownVars(dae, BackendVariable.listVar(knownVarList));
260+
dae := BackendDAEUtil.setDAEGlobalKnownVars(dae, BackendVariable.listVar(knownVarList));
261261
end fixKnownVars;
262262

263263
protected function fixAliasAndKnownVarsCausal "author: lochel
@@ -302,7 +302,7 @@ algorithm
302302
end if;
303303
end for;
304304
//BackendDump.dumpVarList(knownVarList, "knownVarList out");
305-
outDAE := BackendDAEUtil.setKnownVars(outDAE, BackendVariable.listVar(knownVarList));
305+
outDAE := BackendDAEUtil.setDAEGlobalKnownVars(outDAE, BackendVariable.listVar(knownVarList));
306306
end fixAliasAndKnownVarsCausal;
307307

308308
protected function fixAliasVarsCausal2
@@ -1817,7 +1817,7 @@ algorithm
18171817
// alias
18181818
(negated, cra) = aliasExp(exp);
18191819
// get Variables
1820-
globalKnownVars = BackendVariable.daeKnVars(shared);
1820+
globalKnownVars = BackendVariable.daeGlobalKnownVars(shared);
18211821
(vars2, ilst2) = BackendVariable.getVar(cra, globalKnownVars);
18221822
// add to Simple Equations List
18231823
(seqns, index, mT) = generateSimpleContainters({var}, false, {i}, false, false, vars2, negated, ilst2, true, false, eqnAttributes, seqns, index, mT);
@@ -2408,7 +2408,7 @@ algorithm
24082408
arrayUpdate(simpleeqnsarr, r, setVisited(mark, s));
24092409
(v as BackendDAE.VAR(varName=cr)) = BackendVariable.getVarAt(iVars, i);
24102410
(replaceable_, replaceble1) = replaceableAlias(v, unReplaceable); // (isreplaceable, isNotInUnreplaceblaHashMap)
2411-
(vars, shared, isState, eqnslst) = optMoveVarShared(replaceable_, v, i, eqnAttributes, exp, BackendVariable.addKnVarDAE, iMT, iVars, ishared, iEqnslst);
2411+
(vars, shared, isState, eqnslst) = optMoveVarShared(replaceable_, v, i, eqnAttributes, exp, BackendVariable.addGlobalKnownVarDAE, iMT, iVars, ishared, iEqnslst);
24122412
constExp = Expression.isConstValue(exp);
24132413
// add to replacements if constant
24142414
repl = if replaceable_ and constExp and replaceble1 then BackendVarTransform.addReplacement(iRepl, cr, exp, SOME(BackendVarTransform.skipPreChangeEdgeOperator)) else iRepl;
@@ -2431,7 +2431,7 @@ algorithm
24312431
(v as BackendDAE.VAR(varName=cr)) = BackendVariable.getVarAt(iVars, i);
24322432
exp = if Types.isRealOrSubTypeReal(ComponentReference.crefLastType(cr)) then DAE.RCONST(0.0) else DAE.ICONST(0);
24332433
(replaceable_, replaceble1) = replaceableAlias(v, unReplaceable); // (isreplaceable, isNotInUnreplaceblaHashMap)
2434-
(vars, shared, isState, eqnslst) = optMoveVarShared(replaceable_, v, i, eqnAttributes, exp, BackendVariable.addKnVarDAE, iMT, iVars, ishared, iEqnslst);
2434+
(vars, shared, isState, eqnslst) = optMoveVarShared(replaceable_, v, i, eqnAttributes, exp, BackendVariable.addGlobalKnownVarDAE, iMT, iVars, ishared, iEqnslst);
24352435
constExp = Expression.isConstValue(exp);
24362436
// add to replacements if constant
24372437
repl = if replaceable_ and constExp and replaceble1 then BackendVarTransform.addReplacement(iRepl, cr, exp, SOME(BackendVarTransform.skipPreChangeEdgeOperator)) else iRepl;

0 commit comments

Comments
 (0)