Skip to content

Commit 42ef27e

Browse files
author
Jens Frenkel
committed
- BackendDAETransform.mo
- got ride of some unused print calls - BackendDump.mo - add function dumpStateVariables - fix tests from testcase, now more trivial equation are detected git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@7318 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent f57ad0f commit 42ef27e

File tree

2 files changed

+58
-21
lines changed

2 files changed

+58
-21
lines changed

Compiler/BackendDAETransform.mo

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,13 +1198,13 @@ algorithm
11981198
case (dae,m,mt,nv,nf,i,inFunctions,derivedAlgs,derivedMultiEqn)
11991199
equation
12001200
eqns = BackendDAEEXT.getMarkedEqns();
1201-
// print("marked equations:");print(Util.stringDelimitList(Util.listMap(eqns,intString),","));
1202-
// print("\n");
1201+
//print("marked equations:");print(Util.stringDelimitList(Util.listMap(eqns,intString),","));
1202+
//print("\n");
12031203
diff_eqns = BackendDAEEXT.getDifferentiatedEqns();
12041204
eqns_1 = Util.listSetDifferenceOnTrue(eqns, diff_eqns, intEq);
12051205
// print("differentiating equations:");print(Util.stringDelimitList(Util.listMap(eqns_1,intString),","));
12061206
// print("\n");
1207-
// print(BackendDump.dumpMarkedEqns(dae, eqns_1));
1207+
// print(BackendDump.dumpMarkedEqns(dae, eqns_1));
12081208

12091209
// Collect the states in the equations that are singular, i.e. composing a constraint between states.
12101210
// Note that states are collected from -all- marked equations, not only the differentiated ones.
@@ -2380,16 +2380,16 @@ algorithm
23802380

23812381
(eqn_1,al1,derivedAlgs,ae1,derivedMultiEqn,true) = Derive.differentiateEquationTime(eqn, v, inFunctions, al,inDerivedAlgs,ae,inDerivedMultiEqn);
23822382
Debug.fprint("bltdump", "High index problem, differentiated equation: ") "update equation row in IncidenceMatrix" ;
2383-
str = BackendDump.equationStr(eqn);
2384-
//print( "differentiated equation ") ;
2385-
Debug.fprint("bltdump", str) ;
2386-
//print(str); print("\n");
2383+
//str = BackendDump.equationStr(eqn);
2384+
// print( "differentiated equation ") ;
2385+
Debug.fprint("bltdump", BackendDump.equationStr(eqn));
2386+
// print(str); print("\n");
23872387
Debug.fprint("bltdump", " to ");
2388-
//print(" to ");
2389-
str = BackendDump.equationStr(eqn_1);
2390-
//print(str);
2388+
// print(" to ");
2389+
// str = BackendDump.equationStr(eqn_1);
2390+
// print(str);
23912391
//print("\n");
2392-
Debug.fprint("bltdump", str) " print \" to \" & print str & print \"\\n\" &" ;
2392+
Debug.fprint("bltdump", BackendDump.equationStr(eqn_1)) " print \" to \" & print str & print \"\\n\" &" ;
23932393
Debug.fprint("bltdump", "\n");
23942394
eqns_1 = BackendEquation.equationAdd(eqns, eqn_1);
23952395
leneqns = BackendDAEUtil.equationSize(eqns_1);
@@ -2404,16 +2404,16 @@ algorithm
24042404

24052405
(eqn_1,al1,derivedAlgs,ae1,derivedMultiEqn,false) = Derive.differentiateEquationTime(eqn, v, inFunctions, al,inDerivedAlgs,ae,inDerivedMultiEqn);
24062406
Debug.fprint("bltdump", "High index problem, differentiated equation: ") "update equation row in IncidenceMatrix" ;
2407-
str = BackendDump.equationStr(eqn);
2408-
//print( "differentiated equation ") ;
2409-
Debug.fprint("bltdump", str) ;
2410-
//print(str); print("\n");
2407+
// str = BackendDump.equationStr(eqn);
2408+
// print( "differentiated equation ") ;
2409+
Debug.fprint("bltdump", BackendDump.equationStr(eqn));
2410+
// print(str); print("\n");
24112411
Debug.fprint("bltdump", " to ");
2412-
//print(" to ");
2413-
str = BackendDump.equationStr(eqn_1);
2414-
//print(str);
2415-
//print("\n");
2416-
Debug.fprint("bltdump", str) " print \" to \" & print str & print \"\\n\" &" ;
2412+
// print(" to ");
2413+
// str = BackendDump.equationStr(eqn_1);
2414+
// print(str);
2415+
// print("\n");
2416+
Debug.fprint("bltdump", BackendDump.equationStr(eqn_1)) " print \" to \" & print str & print \"\\n\" &" ;
24172417
Debug.fprint("bltdump", "\n");
24182418
leneqns = BackendDAEUtil.equationSize(eqns);
24192419
BackendDAEEXT.markDifferentiated(e) "length gives index of new equation Mark equation as differentiated so it won\'t be differentiated again" ;

Compiler/BackendDump.mo

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,7 @@ algorithm
13961396
// does not work
13971397
//e = BaseHashTable.get(cr,varMappings);
13981398
e = BackendVariable.varBindExp(v);
1399-
scr = ComponentReference.crefStr(cr);
1399+
scr = ComponentReference.printComponentRefStr(cr);
14001400
se = ExpressionDump.printExpStr(e);
14011401
s = stringAppendList({scr," = ",se,"\n"});
14021402
print(s);
@@ -1405,4 +1405,41 @@ algorithm
14051405
end matchcontinue;
14061406
end dumpAliasVariable;
14071407

1408+
public function dumpStateVariables "function: dumpStateVariables
1409+
author: Frenkel TUD 2010-12
1410+
1411+
dump State Variables.
1412+
"
1413+
input BackendDAE.Variables inVars;
1414+
algorithm
1415+
print("States Variables\n");
1416+
print("=================\n");
1417+
_ := BackendVariable.traverseBackendDAEVars(inVars,dumpStateVariable,1);
1418+
print("\n");
1419+
end dumpStateVariables;
1420+
1421+
protected function dumpStateVariable
1422+
"autor: Frenkel TUD 2010-11"
1423+
input tuple<BackendDAE.Var, Integer> inTpl;
1424+
output tuple<BackendDAE.Var, Integer> outTpl;
1425+
algorithm
1426+
outTpl:=
1427+
matchcontinue (inTpl)
1428+
local
1429+
BackendDAE.Var v;
1430+
DAE.ComponentRef cr;
1431+
String scr;
1432+
Integer pos;
1433+
case ((v,pos))
1434+
equation
1435+
true = BackendVariable.isStateVar(v);
1436+
cr = BackendVariable.varCref(v);
1437+
scr = ComponentReference.printComponentRefStr(cr);
1438+
print(intString(pos)); print(": ");
1439+
print(scr); print("\n");
1440+
then ((v,pos+1));
1441+
case inTpl then inTpl;
1442+
end matchcontinue;
1443+
end dumpStateVariable;
1444+
14081445
end BackendDump;

0 commit comments

Comments
 (0)