Skip to content

Commit

Permalink
-fixed #3258: Missing AlgebraicModelJacobian::initializeColoredJacobi…
Browse files Browse the repository at this point in the history
…anA()

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@25354 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
RuedKamp committed Apr 1, 2015
1 parent 2f79736 commit 4affa10
Showing 1 changed file with 13 additions and 22 deletions.
35 changes: 13 additions & 22 deletions Compiler/Template/CodegenCpp.tpl
Expand Up @@ -226,7 +226,8 @@ case SIMCODE(modelInfo=MODELINFO(__)) then


/*testmaessig aus der Cruntime*/
<%functionAnalyticJacobiansHeader(jacobianMatrixes, modelNamePrefix(simCode))%>
void initializeColoredJacobianA();

};
>>
end simulationJacobianHeaderFile;
Expand Down Expand Up @@ -718,7 +719,11 @@ case SIMCODE(modelInfo = MODELINFO(__)) then
//testmaessig aus der cruntime
/* Jacobians */


void <%lastIdentOfPath(modelInfo.name)%>Jacobian::initializeColoredJacobianA()
{
<%functionAnalyticJacobians2(jacobianMatrixes, lastIdentOfPath(modelInfo.name),simCode , &extraFuncs , &extraFuncsDecl, extraFuncsNamespace, stateDerVectorName, useFlatArrayNotation)%>
}
<%\n%>
>>
end simulationJacobianCppFile;
Expand Down Expand Up @@ -13594,19 +13599,18 @@ case _ then
;separator="\n")
let index_ = listLength(seedVars)
<<
void <%modelNamePrefix%>Jacobian::initializeColoredJacobian<%matrixname%>()
{
if(_AColorOfColumn)
delete [] _AColorOfColumn;
_AColorOfColumn = new int[<%index_%>];
_AMaxColors = <%maxColor%>;

/* write color array */
<%colorArray%>
}
>>
end match
end match


end match
end initialAnalyticJacobians2;

Expand Down Expand Up @@ -13644,34 +13648,21 @@ case {} then
<<
>>
case _ then
match sparsepattern
let help = match sparsepattern

case _ then
match matrixname
case "A" then
let &eachCrefParts = buffer ""


let colorArray = (colorList |> (indexes) hasindex index0 =>
let colorCol = ( indexes |> i_index =>
'_<%matrixname%>ColorOfColumn[<%i_index%>] = <%intAdd(index0,1)%>; '
;separator="\n")
'<%colorCol%>'
;separator="\n")
let indexColumn = (jacobianColumn |> (eqs,vars,indxColumn) => indxColumn;separator="\n")
let index_ = listLength(seedVars)
let sp_size_index = lengthListElements(unzipSecond(sparsepattern))
let sizeleadindex = listLength(sparsepattern)


<<
public:
<%eachCrefParts%>
void initializeColoredJacobian<%matrixname%>();
>>
end match
end match

<<
<%help%>
>>
end match

end initialAnalyticJacobiansHeader;

Expand Down

0 comments on commit 4affa10

Please sign in to comment.