@@ -1981,6 +1981,7 @@ algorithm
19811981 list< DAELow . Equation > eqn_lst,cont_eqn,disc_eqn;
19821982 list< DAELow . Var > var_lst,cont_var,disc_var,var_lst_1,cont_var1;
19831983 DAELow . Variables vars_1,vars,knvars,exvars;
1984+ VarTransform . VariableReplacements av "alias-variables' hashtable" ;
19841985 DAELow . EquationArray eqns_1,eqns,se,ie;
19851986 DAELow . DAELow cont_subsystem_dae,daelow,subsystem_dae,dlow;
19861987 list< Integer > [:] m,m_1,mt_1;
@@ -2000,7 +2001,7 @@ algorithm
20002001 list< String > values;
20012002 list< Integer > value_dims;
20022003 /* mixed system of equations, continuous part only */
2003- case (false ,(daelow as DAELow . DAELOW (vars,knvars,exvars,eqns,se,ie,ae,al, ev,eoc)),ass1,ass2,block_)
2004+ case (false ,(daelow as DAELow . DAELOW (vars,knvars,exvars,av, eqns,se,ie,ae,al, ev,eoc)),ass1,ass2,block_)
20042005 equation
20052006 (eqn_lst,var_lst) = Util . listMap32(block_, getEquationAndSolvedVar, eqns, vars, ass2);
20062007 true = isMixedSystem(var_lst,eqn_lst);
@@ -2009,7 +2010,7 @@ algorithm
20092010 cont_var1 = Util . listMap(cont_var, transformXToXd);
20102011 vars_1 = DAELow . listVar(cont_var1);
20112012 eqns_1 = DAELow . listEquation(cont_eqn);
2012- cont_subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,eqns_1,se,ie,ae,al,ev,eoc);
2013+ cont_subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,av, eqns_1,se,ie,ae,al,ev,eoc);
20132014 m = DAELow . incidenceMatrix(cont_subsystem_dae);
20142015 m_1 = DAELow . absIncidenceMatrix(m);
20152016 mt_1 = DAELow . transposeMatrix(m_1);
@@ -2020,7 +2021,7 @@ algorithm
20202021 then
20212022 equation_;
20222023 /* mixed system of equations, both continous and discrete eqns*/
2023- case (true ,(dlow as DAELow . DAELOW (vars,knvars,exvars,eqns,se,ie,ae,al, ev,eoc)),ass1,ass2,block_)
2024+ case (true ,(dlow as DAELow . DAELOW (vars,knvars,exvars,av, eqns,se,ie,ae,al, ev,eoc)),ass1,ass2,block_)
20242025 equation
20252026 (eqn_lst,var_lst) = Util . listMap32(block_, getEquationAndSolvedVar, eqns, vars, ass2);
20262027 true = isMixedSystem(var_lst,eqn_lst);
@@ -2029,7 +2030,7 @@ algorithm
20292030 cont_var1 = Util . listMap(cont_var, transformXToXd);
20302031 vars_1 = DAELow . listVar(cont_var1);
20312032 eqns_1 = DAELow . listEquation(cont_eqn);
2032- cont_subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,eqns_1,se,ie,ae,al,ev,eoc);
2033+ cont_subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,av, eqns_1,se,ie,ae,al,ev,eoc);
20332034 m = DAELow . incidenceMatrix(cont_subsystem_dae);
20342035 m_1 = DAELow . absIncidenceMatrix(m);
20352036 mt_1 = DAELow . transposeMatrix(m_1);
@@ -2053,7 +2054,7 @@ algorithm
20532054 then
20542055 SES_MIXED (equation_, simVarsDisc, discEqs, values, value_dims);
20552056 /* continuous system of equations try tearing algorithm*/
2056- case (genDiscrete,(daelow as DAELow . DAELOW (vars,knvars,exvars,eqns,se,ie,ae,al,ev,eoc)),ass1,ass2,block_)
2057+ case (genDiscrete,(daelow as DAELow . DAELOW (vars,knvars,exvars,av, eqns,se,ie,ae,al,ev,eoc)),ass1,ass2,block_)
20572058 local
20582059 DAELow . DAELow subsystem_dae_1,subsystem_dae_2;
20592060 Integer [:] v1,v2,v1_1,v2_1;
@@ -2070,7 +2071,7 @@ algorithm
20702071 var_lst_1 = Util . listMap(var_lst, transformXToXd); // States are solved for der(x) not x.
20712072 vars_1 = DAELow . listVar(var_lst_1);
20722073 eqns_1 = DAELow . listEquation(eqn_lst);
2073- subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,eqns_1,se,ie,ae,al,ev,eoc) "not used" ;
2074+ subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,av, eqns_1,se,ie,ae,al,ev,eoc) "not used" ;
20742075 m = DAELow . incidenceMatrix(subsystem_dae);
20752076 m_1 = DAELow . absIncidenceMatrix(m);
20762077 mt_1 = DAELow . transposeMatrix(m_1);
@@ -2088,15 +2089,15 @@ algorithm
20882089 then
20892090 equation_;
20902091 /* continuous system of equations */
2091- case (genDiscrete,(daelow as DAELow . DAELOW (vars,knvars,exvars,eqns,se,ie,ae,al,ev,eoc)),ass1,ass2,block_)
2092+ case (genDiscrete,(daelow as DAELow . DAELOW (vars,knvars,exvars,av, eqns,se,ie,ae,al,ev,eoc)),ass1,ass2,block_)
20922093 equation
20932094 // extract the variables and equations of the block.
20942095 (eqn_lst,var_lst) = Util . listMap32(block_, getEquationAndSolvedVar, eqns, vars, ass2);
20952096 // States are solved for der(x) not x.
20962097 var_lst_1 = Util . listMap(var_lst, transformXToXd);
20972098 vars_1 = DAELow . listVar(var_lst_1);
20982099 eqns_1 = DAELow . listEquation(eqn_lst);
2099- subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,eqns_1,se,ie,ae,al,ev,eoc);
2100+ subsystem_dae = DAELow . DAELOW (vars_1,knvars,exvars,av, eqns_1,se,ie,ae,al,ev,eoc);
21002101 m = DAELow . incidenceMatrix(subsystem_dae);
21012102 m_1 = DAELow . absIncidenceMatrix(m);
21022103 mt_1 = DAELow . transposeMatrix(m_1);
@@ -2141,6 +2142,7 @@ algorithm
21412142 Option < list< tuple< Integer , Integer , DAELow . Equation >>> jac;
21422143 DAELow . JacobianType jac_tp;
21432144 DAELow . Variables v,kv,exv;
2145+ VarTransform . VariableReplacements av "alias-variables' hashtable" ;
21442146 DAELow . EquationArray eqn,eqn1,reeqn,ineq;
21452147 list< DAELow . Equation > eqn_lst,eqn_lst1,eqn_lst2,reqns;
21462148 list< DAELow . Var > var_lst;
@@ -2154,7 +2156,7 @@ algorithm
21542156 DAELow . ExternalObjectClasses extObjClasses;
21552157 list< SimEqSystem > simeqnsystem,simeqnsystem1,resEqs;
21562158 case (ass1,ass2,block_,r,t,mixedEvent,_,
2157- daelow as DAELow . DAELOW (orderedVars= v,knownVars= kv,externalObjects= exv,orderedEqs= eqn,removedEqs= reeqn,initialEqs= ineq,arrayEqs= ae,algorithms= algorithms,eventInfo= eventInfo,extObjClasses= extObjClasses),jac,jac_tp)
2159+ daelow as DAELow . DAELOW (orderedVars= v,knownVars= kv,externalObjects= exv,aliasVars = av, orderedEqs= eqn,removedEqs= reeqn,initialEqs= ineq,arrayEqs= ae,algorithms= algorithms,eventInfo= eventInfo,extObjClasses= extObjClasses),jac,jac_tp)
21582160 /* no analythic jacobian available. Generate non-linear system */
21592161 equation
21602162 // get equations and variables
@@ -2175,7 +2177,7 @@ algorithm
21752177 // replace tearing variables in other equations with x_loc[..]
21762178 eqn_lst2 = generateTearingSystem1(eqn_lst,repl);
21772179 eqn1 = DAELow . listEquation(eqn_lst2);
2178- daelow1= DAELow . DAELOW (v,kv,exv,eqn1,reeqn,ineq,ae,algorithms,eventInfo,extObjClasses);
2180+ daelow1= DAELow . DAELOW (v,kv,exv,av, eqn1,reeqn,ineq,ae,algorithms,eventInfo,extObjClasses);
21792181 // generade code for other equations
21802182 simeqnsystem = Util . listMap3(block_1,createEquation,daelow1, ass1, ass2);
21812183 resEqs = createNonlinearResidualEquations(reqns, ae, repl);
@@ -2914,6 +2916,7 @@ algorithm
29142916 list< DAELow . Equation > eqn_lst,cont_eqn,disc_eqn;
29152917 list< DAELow . Var > var_lst,cont_var,disc_var,cont_var1;
29162918 DAELow . Variables vars, vars_1,knvars,exvars;
2919+ VarTransform . VariableReplacements av "alias-variables' hashtable" ;
29172920 DAELow . EquationArray eqns_1,eqns,se,ie;
29182921 DAELow . DAELow cont_subsystem_dae,dlow;
29192922 list< Integer > [:] m,m_1,mt_1;
@@ -2932,7 +2935,7 @@ algorithm
29322935 case (_,_,_,_,{},_)
29332936 then {};
29342937 /* zero crossing for mixed system */
2935- case (dae, (dlow as DAELow . DAELOW (vars, knvars, exvars, eqns, se, ie, ae,
2938+ case (dae, (dlow as DAELow . DAELOW (vars, knvars, exvars, av, eqns, se, ie, ae,
29362939 al, ev, eoc)),
29372940 ass1, ass2, (eqn :: rest), blocks)
29382941 equation
@@ -3446,6 +3449,7 @@ algorithm
34463449 DAELow . Variables orderedVars;
34473450 DAELow . Variables knownVars;
34483451 DAELow . Variables externalObjects;
3452+ VarTransform . VariableReplacements aliasVars "alias-variables' hashtable" ;
34493453 DAELow . EquationArray orderedEqs;
34503454 DAELow . EquationArray removedEqs;
34513455 DAELow . EquationArray initialEqs;
@@ -3454,12 +3458,12 @@ algorithm
34543458 list< Algorithm . Algorithm > algLst;
34553459 DAELow . EventInfo eventInfo;
34563460 DAELow . ExternalObjectClasses extObjClasses;
3457- case (helpvars,DAELow . DAELOW (orderedVars,knownVars,externalObjects,orderedEqs,
3461+ case (helpvars,DAELow . DAELOW (orderedVars,knownVars,externalObjects,aliasVars, orderedEqs,
34583462 removedEqs,initialEqs,arrayEqs,algorithms,eventInfo,extObjClasses))
34593463 equation
34603464 (helpvars1,algLst,_) = generateHelpVarsInAlgorithms(listLength(helpvars),arrayList(algorithms));
34613465 algorithms2 = listArray(algLst);
3462- then (listAppend(helpvars,helpvars1),DAELow . DAELOW (orderedVars,knownVars,externalObjects,orderedEqs,
3466+ then (listAppend(helpvars,helpvars1),DAELow . DAELOW (orderedVars,knownVars,externalObjects,aliasVars, orderedEqs,
34633467 removedEqs,initialEqs,arrayEqs,algorithms2,eventInfo,extObjClasses));
34643468 case (_,_)
34653469 equation
0 commit comments