Skip to content
This repository has been archived by the owner on May 18, 2019. It is now read-only.

Commit

Permalink
Set index of clocked partition in algebraic loops of FMI Jacobian
Browse files Browse the repository at this point in the history
  • Loading branch information
rfranke authored and OpenModelica-Hudson committed Mar 17, 2018
1 parent 79e9b3d commit ced7f13
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions Compiler/SimCode/SimCodeUtil.mo
Expand Up @@ -1221,6 +1221,9 @@ algorithm
try
column::{} := symjac.columns;
(eqs, modelInfo, tmpSymJacs) := addAlgebraicLoopsModelInfo(column.columnEqns, modelInfo);
// set partition index to number of clocks (max index) for now.
// TODO: use actual clock index to support multirate systems
tmpSymJacs := list(rewriteJacPartIdx(a, modelInfo.nSubClocks) for a in tmpSymJacs);
outSymJacsInSymJacs := listAppend(tmpSymJacs, outSymJacsInSymJacs);
column.columnEqns := eqs;
symjac.columns := {column};
Expand Down Expand Up @@ -12806,6 +12809,7 @@ algorithm
({contSimJac}, outModelInfo, symJacs) := addAlgebraicLoopsModelInfoSymJacs({contSimJac}, inModelInfo);
contPartSimDer := SOME(contSimJac);
// set partition index to number of clocks (max index) for now
// TODO: use actual clock indices to support multirate systems
symJacFMI := {rewriteJacPartIdx(contSimJac, inModelInfo.nSubClocks)};
else
contPartSimDer := NONE();
Expand Down
4 changes: 2 additions & 2 deletions Compiler/Template/CodegenCpp.tpl
Expand Up @@ -81,8 +81,8 @@ template translateModel(SimCode simCode)
let()= textFile(simulationWriteOutputCppFile(simCode , &extraFuncs , &extraFuncsDecl, "", stateDerVectorName, false),'OMCpp<%fileNamePrefix%>WriteOutput.cpp')
let()= textFile(simulationFactoryFile(simCode , &extraFuncs , &extraFuncsDecl, ""),'OMCpp<%fileNamePrefix%>FactoryExport.cpp')
let()= textFile(simulationMainRunScript(simCode , &extraFuncs , &extraFuncsDecl, "", "", "", "exec"), '<%fileNamePrefix%><%simulationMainRunScriptSuffix(simCode , &extraFuncs , &extraFuncsDecl, "")%>')
let jac = (jacobianMatrixes |> JAC_MATRIX(columns=mat) =>
(mat |> JAC_COLUMN(columnEqns=eqs) => algloopfiles(eqs, simCode, &extraFuncs, &extraFuncsDecl, "", contextAlgloopJacobian, 0, stateDerVectorName, false) ;separator="")
let jac = (jacobianMatrixes |> JAC_MATRIX(columns=mat, partitionIndex=partIdx) =>
(mat |> JAC_COLUMN(columnEqns=eqs) => algloopfiles(eqs, simCode, &extraFuncs, &extraFuncsDecl, "", contextAlgloopJacobian, partIdx, stateDerVectorName, false) ;separator="")
;separator="")
let alg = algloopfiles(listAppend(allEquations, initialEquations), simCode, &extraFuncs, &extraFuncsDecl, "", contextAlgloop, 0, stateDerVectorName, false)
let clk = getSubPartitions(clockedPartitions) |> subPartition hasindex i fromindex 1 =>
Expand Down

0 comments on commit ced7f13

Please sign in to comment.