Skip to content

Commit

Permalink
fix in cpp template for correct jacobian tmp vars vector allocation.
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@14001 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
niklwors committed Nov 21, 2012
1 parent 6288e04 commit bb4662d
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion Compiler/Template/CodegenCpp.tpl
Expand Up @@ -6866,7 +6866,7 @@ case "A" then
{
_jacobian = SparseMatrix(<%index_%>,<%indexColumn%>,<%sp_size_index%>);
_jac_y = ublas::zero_vector<double>(<%index_%>);
_jac_tmp = ublas::zero_vector<double>(<%index_%>);
_jac_tmp = ublas::zero_vector<double>(<%tmpvarsSize%>);
_jac_x = ublas::zero_vector<double>(<%index_%>);
}
Expand Down Expand Up @@ -7007,13 +7007,16 @@ end variableDefinitionsJacobians;
template variableDefinitionsJacobians2(Integer indexJacobian, list<JacobianColumn> jacobianColumn, list<SimVar> seedVars, String name)
"Generates Matrixes for Linear Model."
::=
match name
case "A" then
let seedVarsResult = (seedVars |> var hasindex index0 =>
jacobianVarDefine(var, "jacobianVarsSeed", indexJacobian, index0,name)
;separator="\n";empty)
let columnVarsResult = (jacobianColumn |> (_,vars,_) =>
(vars |> var hasindex index0 => jacobianVarDefine(var, "jacobianVars", indexJacobian, index0,name)
;separator="\n";empty)
;separator="\n\n")

<<
<%seedVarsResult%>
<%columnVarsResult%>
Expand Down Expand Up @@ -7063,6 +7066,8 @@ end jacobianVarsSeedDefine;
template defineSparseIndexes(list<SimVar> diffVars, list<SimVar> diffedVars, String matrixName) "template variableDefinitionsJacobians2
Generates Matrixes for Linear Model."
::=
match matrixName
case "A" then
let diffVarsResult = (diffVars |> var as SIMVAR(name=name) hasindex index0 =>
'#define <%cref(name)%><%matrixName%>$indexdiff <%index0%>'
;separator="\n")
Expand All @@ -7071,6 +7076,7 @@ template defineSparseIndexes(list<SimVar> diffVars, list<SimVar> diffedVars, Str
/* <%matrixName%> sparse indexes */
<%diffVarsResult%>
>>
else " "
end defineSparseIndexes;


Expand Down

0 comments on commit bb4662d

Please sign in to comment.