Skip to content

Commit

Permalink
- fixed fmu import for zero states case
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@23824 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Willi Braun committed Dec 17, 2014
1 parent 1771a44 commit 60d5b2e
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions Compiler/Template/CodegenFMU.tpl
Expand Up @@ -2294,13 +2294,19 @@ case FMIIMPORT(fmiInfo=INFO(__),fmiExperimentAnnotation=EXPERIMENTANNOTATION(__)
end when;
flowTime := fmi2Functions.fmi2SetTime(fmi2me, time);
initial algorithm
fmi2Functions.fmi2EnterInitialization(fmi2me);
fmi_x := fmi2Functions.fmi2GetContinuousStates(fmi2me, numberOfContinuousStates, flowTime);
flowParamsStart := fmi2Functions.fmi2EnterInitialization(fmi2me, flowTime);
<%if intGt(listLength(fmiInfo.fmiNumberOfContinuousStates), 0) then
<<fmi_x := fmi2Functions.fmi2GetContinuousStates(fmi2me, numberOfContinuousStates, flowTime);>>
%>
algorithm
when not initial() then
fmi2Functions.fmi2Functions.fmi2ExitInitialization(fmi2me);
end when;
flowStatesInputs := fmi2Functions.fmi2SetContinuousStates(fmi2me, fmi_x, flowParamsStart + flowTime);
<%if intGt(listLength(fmiInfo.fmiNumberOfContinuousStates), 0) then
<<flowStatesInputs := fmi2Functions.fmi2SetContinuousStates(fmi2me, fmi_x, flowParamsStart + flowTime);>>
else
<<flowStatesInputs := flowParamsStart + flowTime;>>
%>
equation
der(fmi_x) = fmi2Functions.fmi2GetDerivatives(fmi2me, numberOfContinuousStates, flowStatesInputs);
fmi_z = fmi2Functions.fmi2GetEventIndicators(fmi2me, numberOfEventIndicators, flowStatesInputs);
Expand Down Expand Up @@ -2381,6 +2387,8 @@ case FMIIMPORT(fmiInfo=INFO(__),fmiExperimentAnnotation=EXPERIMENTANNOTATION(__)

function fmi2EnterInitialization
input FMI2ModelExchange fmi2me;
input Real inFlowVariable;
output Real outFlowVariable = inFlowVariable;
external "C" fmi2EnterInitializationModel_OMC(fmi2me) annotation(Library = {"OpenModelicaFMIRuntimeC", "fmilib"<%if stringEq(platform, "win32") then ", \"shlwapi\""%>});
end fmi2EnterInitialization;

Expand Down

0 comments on commit 60d5b2e

Please sign in to comment.