@@ -2220,7 +2220,7 @@ algorithm
2220
2220
indexmap = arrayCreate(nfreeStates + nv,-1 );
2221
2221
invindexmap = arrayCreate(nfreeStates,-1 );
2222
2222
// workaround to get state indexes
2223
- (vars,(indexmap,invindexmap,nv1,_,_,_)) = BackendVariable . traverseBackendDAEVarsWithUpdate(vars,getStateIndexes,(indexmap,invindexmap,nv,nv,hovvars,{}));
2223
+ (vars,(indexmap,invindexmap,_, nv1,_,_,_)) = BackendVariable . traverseBackendDAEVarsWithUpdate(vars,getStateIndexes,(indexmap,invindexmap, 1 ,nv,nv,hovvars,{}));
2224
2224
// BackendDump.dumpMatching(indexmap);
2225
2225
m1 = arrayCreate(ne1,{});
2226
2226
mT1 = arrayCreate(nv1,{});
@@ -2233,7 +2233,7 @@ algorithm
2233
2233
getIncidenceMatrixLevelEquations(eqnslst,vars,neqnarr,ne,m1,mT1,m,mapEqnIncRow,mapIncRowEqn,indexmap,funcs);
2234
2234
// match the variables not the equations, to have prevered states unmatched
2235
2235
vec1 = Util . arrayExpand(nfreeStates,ass1,-1 );
2236
- vec2 = Util . arrayExpand(neqns,ass2,-1 );
2236
+ vec2 = Util . arrayExpand(neqns,ass2,-1 );
2237
2237
true = BackendDAEEXT . setAssignment(nv1,ne1,vec1,vec2);
2238
2238
Matching . matchingExternalsetIncidenceMatrix(ne1, nv1, mT1);
2239
2239
BackendDAEEXT . matching(ne1, nv1, 3 , -1 , 0 . 0 , 0 );
@@ -2401,8 +2401,8 @@ algorithm
2401
2401
end dumpBlock;
2402
2402
2403
2403
protected function getStateIndexes
2404
- input tuple< BackendDAE . Var , tuple< array< Integer > ,array< Integer > ,Integer ,Integer ,BackendDAE . Variables ,list< Integer >>> inTpl;
2405
- output tuple< BackendDAE . Var , tuple< array< Integer > ,array< Integer > ,Integer ,Integer ,BackendDAE . Variables ,list< Integer >>> outTpl;
2404
+ input tuple< BackendDAE . Var , tuple< array< Integer > ,array< Integer > ,Integer ,Integer ,Integer , BackendDAE . Variables ,list< Integer >>> inTpl;
2405
+ output tuple< BackendDAE . Var , tuple< array< Integer > ,array< Integer > ,Integer ,Integer ,Integer , BackendDAE . Variables ,list< Integer >>> outTpl;
2406
2406
algorithm
2407
2407
outTpl := matchcontinue(inTpl)
2408
2408
local
@@ -2413,16 +2413,17 @@ algorithm
2413
2413
BackendDAE . Variables hov;
2414
2414
list< Integer > derstatesindexs;
2415
2415
Option < DAE . ComponentRef > derName;
2416
- case ((v as BackendDAE . VAR (varName= cr,varKind= BackendDAE . STATE (derName= _)),(stateindexs,invmap,indx,nv,hov,derstatesindexs)))
2416
+ case ((v as BackendDAE . VAR (varName= cr,varKind= BackendDAE . STATE (derName= _)),(stateindexs,invmap,indx,s, nv,hov,derstatesindexs)))
2417
2417
equation
2418
- (_::_,{s}) = BackendVariable . getVar(cr, hov);
2418
+ (_::_,_) = BackendVariable . getVar(cr, hov);
2419
+ s = s+ 1 ;
2419
2420
_= arrayUpdate(stateindexs,indx,s);
2420
2421
_= arrayUpdate(invmap,s- nv,indx);
2421
2422
then
2422
- ((v,(stateindexs,invmap,indx+ 1 ,nv,hov,indx::derstatesindexs)));
2423
- case ((v,(stateindexs,invmap,indx,nv,hov,derstatesindexs)))
2423
+ ((v,(stateindexs,invmap,indx+ 1 ,s, nv,hov,indx::derstatesindexs)));
2424
+ case ((v,(stateindexs,invmap,indx,s, nv,hov,derstatesindexs)))
2424
2425
then
2425
- ((v,(stateindexs,invmap,indx+ 1 ,nv,hov,derstatesindexs)));
2426
+ ((v,(stateindexs,invmap,indx+ 1 ,s, nv,hov,derstatesindexs)));
2426
2427
end matchcontinue;
2427
2428
end getStateIndexes;
2428
2429
0 commit comments