From 32dc92f37dd706cd5381acb1609f9bd6b394f9d3 Mon Sep 17 00:00:00 2001 From: arun3688 Date: Tue, 15 Jun 2021 18:28:08 +0200 Subject: [PATCH] export Clocks in modeldescription.xml (#7564) --- .../Compiler/Template/CodegenFMUCommon.tpl | 6 ++- OMCompiler/Compiler/Template/SimCodeTV.mo | 1 + OMCompiler/Compiler/Util/Flags.mo | 4 ++ OMCompiler/Compiler/Util/FlagsUtil.mo | 3 +- .../modelExchange/2.0/testArrayEquations.mos | 54 +++++++++++++++++++ .../fmu/modelExchange/2.0/testCSTR.mos | 33 ++++++++++++ .../2.0/testClockDescription.mos | 36 +++++++++++++ .../2.0/testModelDescription.mos | 16 ++++++ .../fmu/modelExchange/2.0/ticket6296.mos | 14 +++++ .../fmi/ModelExchange/2.0/testDisableDep.mos | 20 +++++++ .../ModelExchange/2.0/testDiscreteStructe.mos | 20 +++++++ 11 files changed, 205 insertions(+), 2 deletions(-) diff --git a/OMCompiler/Compiler/Template/CodegenFMUCommon.tpl b/OMCompiler/Compiler/Template/CodegenFMUCommon.tpl index e556a71f602..25bd0e11677 100644 --- a/OMCompiler/Compiler/Template/CodegenFMUCommon.tpl +++ b/OMCompiler/Compiler/Template/CodegenFMUCommon.tpl @@ -479,6 +479,8 @@ match simVar let valueReference = getValueReference(simVar, simCode, false) let description = if comment then 'description="<%Util.escapeModelicaStringToXmlString(comment)%>"' let variability_ = if getClockIndex(simVar, simCode) then "discrete" else getVariability2(variability) + let clockIndex = getClockIndex(simVar, simCode) + let previous = match varKind case CLOCKED_STATE(__) then '<%getVariableIndex(cref2simvar(previousName, simCode))%>' let caus = getCausality2(causality) let initial = getInitialType2(initial_) << @@ -487,6 +489,8 @@ match simVar <%description%> <%if boolNot(stringEq(variability_, "")) then 'variability="'+variability_+'"' %> <%if boolNot(stringEq(caus, "")) then 'causality="'+caus+'"' %> + <%if boolAnd(boolNot(stringEq(clockIndex, "")), Flags.getConfigBool(Flags.EXPORT_CLOCKS_IN_MODELDESCRIPTION)) then 'clockIndex="'+clockIndex+'"' %> + <%if boolAnd(boolNot(stringEq(previous, "")), Flags.getConfigBool(Flags.EXPORT_CLOCKS_IN_MODELDESCRIPTION)) then 'previous="'+previous+'"' %> <%if boolNot(stringEq(initial, "")) then 'initial="'+initial+'"' %> >> end ScalarVariableAttribute2; @@ -730,7 +734,7 @@ end fmiTypeDefinitions; template TypeDefinitionsHelper(SimCode simCode, list vars, String FMUVersion) "Generates code for TypeDefinitions for FMU target." ::= - let clocks = if boolOr(isFMIVersion10(FMUVersion), isFMIVersion20(FMUVersion)) then "" else TypeDefinitionsClocks(simCode) + let clocks = if isFMIVersion10(FMUVersion) then "" else if Flags.getConfigBool(Flags.EXPORT_CLOCKS_IN_MODELDESCRIPTION) then TypeDefinitionsClocks(simCode) else "" if boolOr(intGt(listLength(vars), 0), boolNot(stringEq(clocks, ""))) then << diff --git a/OMCompiler/Compiler/Template/SimCodeTV.mo b/OMCompiler/Compiler/Template/SimCodeTV.mo index 498498cce49..11f248db0fe 100644 --- a/OMCompiler/Compiler/Template/SimCodeTV.mo +++ b/OMCompiler/Compiler/Template/SimCodeTV.mo @@ -3917,6 +3917,7 @@ package Flags constant ConfigFlag ZEROMQ_SERVER_ID; constant ConfigFlag ZEROMQ_CLIENT_ID; constant ConfigFlag FMI_FILTER; + constant ConfigFlag EXPORT_CLOCKS_IN_MODELDESCRIPTION; function isSet input DebugFlag inFlag; diff --git a/OMCompiler/Compiler/Util/Flags.mo b/OMCompiler/Compiler/Util/Flags.mo index 272253db7b3..581e128cc55 100644 --- a/OMCompiler/Compiler/Util/Flags.mo +++ b/OMCompiler/Compiler/Util/Flags.mo @@ -1363,6 +1363,10 @@ constant ConfigFlag ALLOW_NON_STANDARD_MODELICA = CONFIG_FLAG(143, "allowNonStan })), Gettext.gettext("Flags to allow non-standard Modelica.")); +constant ConfigFlag EXPORT_CLOCKS_IN_MODELDESCRIPTION = CONFIG_FLAG(144, "exportClocksInModelDescription", + NONE(), EXTERNAL(), BOOL_FLAG(false), NONE(), + Gettext.gettext("exports clocks in modeldescription.xml for fmus, The default is false.")); + function getFlags "Loads the flags with getGlobalRoot. Assumes flags have been loaded." input Boolean initialize = true; diff --git a/OMCompiler/Compiler/Util/FlagsUtil.mo b/OMCompiler/Compiler/Util/FlagsUtil.mo index 430afd2053f..b738023848b 100644 --- a/OMCompiler/Compiler/Util/FlagsUtil.mo +++ b/OMCompiler/Compiler/Util/FlagsUtil.mo @@ -393,7 +393,8 @@ constant list allConfigFlags = { Flags.NEW_BACKEND, Flags.PARMODAUTO, Flags.INTERACTIVE_PORT, - Flags.ALLOW_NON_STANDARD_MODELICA + Flags.ALLOW_NON_STANDARD_MODELICA, + Flags.EXPORT_CLOCKS_IN_MODELDESCRIPTION }; public function new diff --git a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testArrayEquations.mos b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testArrayEquations.mos index ce488ba2086..a99ce1153af 100644 --- a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testArrayEquations.mos +++ b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testArrayEquations.mos @@ -7,6 +7,7 @@ setCommandLineOptions("--std=3.3"); getErrorString(); setCommandLineOptions("-d=newInst,-nfScalarize,disableFMIDependency"); getErrorString(); setCommandLineOptions("--simCodeTarget=Cpp"); getErrorString(); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); loadString(" model ArrayEquationsTest @@ -65,6 +66,8 @@ readFile("modelDescription.tmp.xml"); // "" // true // "" +// true +// "" // "ArrayEquationsTest.fmu" // "" // 0 @@ -78,6 +81,13 @@ readFile("modelDescription.tmp.xml"); // // +// +// +// +// +// // // // @@ -528,6 +538,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[1]\" // valueReference=\"64\" // variability=\"discrete\" +// previous=\"1\" // initial=\"exact\"> // // @@ -536,6 +547,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[2]\" // valueReference=\"65\" // variability=\"discrete\" +// previous=\"2\" // initial=\"exact\"> // // @@ -544,6 +556,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[3]\" // valueReference=\"66\" // variability=\"discrete\" +// previous=\"3\" // initial=\"exact\"> // // @@ -552,6 +565,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[4]\" // valueReference=\"67\" // variability=\"discrete\" +// previous=\"4\" // initial=\"exact\"> // // @@ -560,6 +574,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[5]\" // valueReference=\"68\" // variability=\"discrete\" +// previous=\"5\" // initial=\"exact\"> // // @@ -568,6 +583,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[6]\" // valueReference=\"69\" // variability=\"discrete\" +// previous=\"6\" // initial=\"exact\"> // // @@ -576,6 +592,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[7]\" // valueReference=\"70\" // variability=\"discrete\" +// previous=\"7\" // initial=\"exact\"> // // @@ -584,6 +601,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[8]\" // valueReference=\"71\" // variability=\"discrete\" +// previous=\"8\" // initial=\"exact\"> // // @@ -592,6 +610,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[9]\" // valueReference=\"72\" // variability=\"discrete\" +// previous=\"9\" // initial=\"exact\"> // // @@ -600,6 +619,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1[10]\" // valueReference=\"73\" // variability=\"discrete\" +// previous=\"10\" // initial=\"exact\"> // // @@ -608,6 +628,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[1]\" // valueReference=\"74\" // variability=\"discrete\" +// previous=\"11\" // initial=\"exact\"> // // @@ -616,6 +637,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[2]\" // valueReference=\"75\" // variability=\"discrete\" +// previous=\"12\" // initial=\"exact\"> // // @@ -624,6 +646,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[3]\" // valueReference=\"76\" // variability=\"discrete\" +// previous=\"13\" // initial=\"exact\"> // // @@ -632,6 +655,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[4]\" // valueReference=\"77\" // variability=\"discrete\" +// previous=\"14\" // initial=\"exact\"> // // @@ -640,6 +664,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[5]\" // valueReference=\"78\" // variability=\"discrete\" +// previous=\"15\" // initial=\"exact\"> // // @@ -648,6 +673,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[6]\" // valueReference=\"79\" // variability=\"discrete\" +// previous=\"16\" // initial=\"exact\"> // // @@ -656,6 +682,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[7]\" // valueReference=\"80\" // variability=\"discrete\" +// previous=\"17\" // initial=\"exact\"> // // @@ -664,6 +691,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[8]\" // valueReference=\"81\" // variability=\"discrete\" +// previous=\"18\" // initial=\"exact\"> // // @@ -672,6 +700,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[9]\" // valueReference=\"82\" // variability=\"discrete\" +// previous=\"19\" // initial=\"exact\"> // // @@ -680,6 +709,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2[10]\" // valueReference=\"83\" // variability=\"discrete\" +// previous=\"20\" // initial=\"exact\"> // // @@ -688,6 +718,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[1]\" // valueReference=\"84\" // variability=\"discrete\" +// previous=\"21\" // initial=\"exact\"> // // @@ -696,6 +727,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[2]\" // valueReference=\"85\" // variability=\"discrete\" +// previous=\"22\" // initial=\"exact\"> // // @@ -704,6 +736,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[3]\" // valueReference=\"86\" // variability=\"discrete\" +// previous=\"23\" // initial=\"exact\"> // // @@ -712,6 +745,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[4]\" // valueReference=\"87\" // variability=\"discrete\" +// previous=\"24\" // initial=\"exact\"> // // @@ -720,6 +754,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[5]\" // valueReference=\"88\" // variability=\"discrete\" +// previous=\"25\" // initial=\"exact\"> // // @@ -728,6 +763,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[6]\" // valueReference=\"89\" // variability=\"discrete\" +// previous=\"26\" // initial=\"exact\"> // // @@ -736,6 +772,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[7]\" // valueReference=\"90\" // variability=\"discrete\" +// previous=\"27\" // initial=\"exact\"> // // @@ -744,6 +781,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[8]\" // valueReference=\"91\" // variability=\"discrete\" +// previous=\"28\" // initial=\"exact\"> // // @@ -752,6 +790,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[9]\" // valueReference=\"92\" // variability=\"discrete\" +// previous=\"29\" // initial=\"exact\"> // // @@ -760,6 +799,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3[10]\" // valueReference=\"93\" // variability=\"discrete\" +// previous=\"30\" // initial=\"exact\"> // // @@ -768,6 +808,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[1]\" // valueReference=\"94\" // variability=\"discrete\" +// previous=\"31\" // initial=\"exact\"> // // @@ -776,6 +817,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[2]\" // valueReference=\"95\" // variability=\"discrete\" +// previous=\"32\" // initial=\"exact\"> // // @@ -784,6 +826,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[3]\" // valueReference=\"96\" // variability=\"discrete\" +// previous=\"33\" // initial=\"exact\"> // // @@ -792,6 +835,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[4]\" // valueReference=\"97\" // variability=\"discrete\" +// previous=\"34\" // initial=\"exact\"> // // @@ -800,6 +844,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[5]\" // valueReference=\"98\" // variability=\"discrete\" +// previous=\"35\" // initial=\"exact\"> // // @@ -808,6 +853,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[6]\" // valueReference=\"99\" // variability=\"discrete\" +// previous=\"36\" // initial=\"exact\"> // // @@ -816,6 +862,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[7]\" // valueReference=\"100\" // variability=\"discrete\" +// previous=\"37\" // initial=\"exact\"> // // @@ -824,6 +871,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[8]\" // valueReference=\"101\" // variability=\"discrete\" +// previous=\"38\" // initial=\"exact\"> // // @@ -832,6 +880,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[9]\" // valueReference=\"102\" // variability=\"discrete\" +// previous=\"39\" // initial=\"exact\"> // // @@ -840,6 +889,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4[10]\" // valueReference=\"103\" // variability=\"discrete\" +// previous=\"40\" // initial=\"exact\"> // // @@ -849,6 +899,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"104\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -858,6 +909,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"105\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -867,6 +919,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"106\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -876,6 +929,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"107\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // diff --git a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testCSTR.mos b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testCSTR.mos index b0262ecaf41..4aff48e3bcd 100644 --- a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testCSTR.mos +++ b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testCSTR.mos @@ -6,6 +6,7 @@ setCommandLineOptions("+simCodeTarget=Cpp"); setCommandLineOptions("--std=3.3"); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); loadFile("CSTR.mo"); getErrorString(); loadString(" @@ -44,6 +45,8 @@ getErrorString(); // true // true // true +// "" +// true // "Notification: Automatically loaded package Modelica 3.2.2 due to uses annotation. // Notification: Automatically loaded package Complex 3.2.2 due to uses annotation. // Notification: Automatically loaded package ModelicaServices 3.2.2 due to uses annotation. @@ -105,6 +108,13 @@ getErrorString(); // // // +// +// +// +// +// // // // @@ -126,6 +136,7 @@ getErrorString(); // valueReference=\"0\" // description=\"Coolant temperature\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -135,6 +146,7 @@ getErrorString(); // valueReference=\"1\" // description=\"Concentration\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -144,6 +156,7 @@ getErrorString(); // valueReference=\"2\" // description=\"Concentration\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -152,6 +165,7 @@ getErrorString(); // name=\"previous(T)\" // valueReference=\"3\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -160,6 +174,7 @@ getErrorString(); // name=\"der(_D_outputAlias_TK)\" // valueReference=\"4\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -168,6 +183,7 @@ getErrorString(); // name=\"der(_D_outputAlias_cA)\" // valueReference=\"5\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -176,6 +192,7 @@ getErrorString(); // name=\"der(_D_outputAlias_cB)\" // valueReference=\"6\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -184,6 +201,7 @@ getErrorString(); // name=\"der(T)\" // valueReference=\"7\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -193,6 +211,8 @@ getErrorString(); // valueReference=\"11\" // description=\"Coolant temperature\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"1\" // initial=\"exact\"> // // @@ -202,6 +222,8 @@ getErrorString(); // valueReference=\"12\" // description=\"Concentration\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"2\" // initial=\"exact\"> // // @@ -211,6 +233,8 @@ getErrorString(); // valueReference=\"13\" // description=\"Concentration\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"3\" // initial=\"exact\"> // // @@ -228,6 +252,7 @@ getErrorString(); // name=\"QK_flow_sampled\" // valueReference=\"15\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -236,6 +261,8 @@ getErrorString(); // name=\"T\" // valueReference=\"16\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"4\" // initial=\"exact\"> // // @@ -255,6 +282,7 @@ getErrorString(); // description=\"Coolant temperature\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -274,6 +302,7 @@ getErrorString(); // description=\"Concentration\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -284,6 +313,7 @@ getErrorString(); // description=\"Concentration\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -292,6 +322,7 @@ getErrorString(); // name=\"k[1]\" // valueReference=\"22\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -300,6 +331,7 @@ getErrorString(); // name=\"k[2]\" // valueReference=\"23\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -308,6 +340,7 @@ getErrorString(); // name=\"k[3]\" // valueReference=\"24\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // diff --git a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testClockDescription.mos b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testClockDescription.mos index 30914001bcf..ecb5139f8e7 100644 --- a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testClockDescription.mos +++ b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testClockDescription.mos @@ -6,6 +6,8 @@ // setCommandLineOptions("+simCodeTarget=Cpp"); getErrorString(); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); + loadString(" model SubClocks Real x1(start = 0); @@ -50,6 +52,8 @@ readFile("modelDescription.tmp.xml"); // "" // true // "" +// true +// "" // "SubClocks.fmu" // "" // 0 @@ -63,6 +67,33 @@ readFile("modelDescription.tmp.xml"); // // +// +// +// +// +// +// +// +// +// // // // @@ -83,6 +114,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x1\" // valueReference=\"0\" // variability=\"discrete\" +// clockIndex=\"4\" // > // // @@ -91,6 +123,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x2\" // valueReference=\"1\" // variability=\"discrete\" +// clockIndex=\"3\" // > // // @@ -99,6 +132,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x3\" // valueReference=\"2\" // variability=\"discrete\" +// clockIndex=\"2\" // > // // @@ -107,6 +141,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x4\" // valueReference=\"3\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -115,6 +150,7 @@ readFile("modelDescription.tmp.xml"); // name=\"x5\" // valueReference=\"4\" // variability=\"discrete\" +// clockIndex=\"5\" // > // // diff --git a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testModelDescription.mos b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testModelDescription.mos index 11164049bfb..85ab5e174b0 100644 --- a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testModelDescription.mos +++ b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/testModelDescription.mos @@ -6,6 +6,8 @@ // setCommandLineOptions("+simCodeTarget=Cpp"); getErrorString(); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); + loadString(" model SIDTest parameter Real dt = 0.1 annotation(Evaluate = true); @@ -35,6 +37,8 @@ readFile("modelDescription.tmp.xml"); // "" // true // "" +// true +// "" // "SIDTest.fmu" // "" // 0 @@ -48,6 +52,14 @@ readFile("modelDescription.tmp.xml"); // // +// +// +// +// +// // // // @@ -68,6 +80,7 @@ readFile("modelDescription.tmp.xml"); // name=\"previous(xd)\" // valueReference=\"0\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -84,6 +97,8 @@ readFile("modelDescription.tmp.xml"); // name=\"xd\" // valueReference=\"3\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"1\" // > // // @@ -93,6 +108,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"4\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // diff --git a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/ticket6296.mos b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/ticket6296.mos index afc70cc1d45..411ed244a89 100644 --- a/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/ticket6296.mos +++ b/testsuite/openmodelica/cppruntime/fmu/modelExchange/2.0/ticket6296.mos @@ -7,6 +7,7 @@ setCommandLineOptions("--std=3.3"); getErrorString(); setCommandLineOptions("-d=newInst,-nfScalarize,disableFMIDependency"); getErrorString(); setCommandLineOptions("--simCodeTarget=Cpp"); getErrorString(); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); loadString("model ArrayEquationsTest parameter Integer n = 10; @@ -40,6 +41,8 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // true // "" // true +// "" +// true // "ArrayEquationsTest.fmu" // "" // 0 @@ -202,6 +205,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[1]\" // valueReference=\"31\" // variability=\"discrete\" +// previous=\"1\" // initial=\"exact\"> // // @@ -210,6 +214,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[2]\" // valueReference=\"32\" // variability=\"discrete\" +// previous=\"2\" // initial=\"exact\"> // // @@ -218,6 +223,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[3]\" // valueReference=\"33\" // variability=\"discrete\" +// previous=\"3\" // initial=\"exact\"> // // @@ -226,6 +232,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[4]\" // valueReference=\"34\" // variability=\"discrete\" +// previous=\"4\" // initial=\"exact\"> // // @@ -234,6 +241,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[5]\" // valueReference=\"35\" // variability=\"discrete\" +// previous=\"5\" // initial=\"exact\"> // // @@ -242,6 +250,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[6]\" // valueReference=\"36\" // variability=\"discrete\" +// previous=\"6\" // initial=\"exact\"> // // @@ -250,6 +259,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[7]\" // valueReference=\"37\" // variability=\"discrete\" +// previous=\"7\" // initial=\"exact\"> // // @@ -258,6 +268,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[8]\" // valueReference=\"38\" // variability=\"discrete\" +// previous=\"8\" // initial=\"exact\"> // // @@ -266,6 +277,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[9]\" // valueReference=\"39\" // variability=\"discrete\" +// previous=\"9\" // initial=\"exact\"> // // @@ -274,6 +286,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // name=\"x1[10]\" // valueReference=\"40\" // variability=\"discrete\" +// previous=\"10\" // initial=\"exact\"> // // @@ -283,6 +296,7 @@ readFile("ArrayEquationsTest.xml"); getErrorString() // valueReference=\"41\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // diff --git a/testsuite/openmodelica/fmi/ModelExchange/2.0/testDisableDep.mos b/testsuite/openmodelica/fmi/ModelExchange/2.0/testDisableDep.mos index b7d624f8e2e..b5e25dc2a27 100644 --- a/testsuite/openmodelica/fmi/ModelExchange/2.0/testDisableDep.mos +++ b/testsuite/openmodelica/fmi/ModelExchange/2.0/testDisableDep.mos @@ -7,6 +7,8 @@ loadModel(Modelica, {"3.2.3"}); setCommandLineOptions("--std=3.3 -d=disableFMIDependency"); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); + loadString(" model testDID parameter Real p = 1; @@ -39,6 +41,8 @@ readFile("modelDescription.tmp.xml"); // true // true // "" +// true +// "" // "testDID.fmu" // "Warning: The initial conditions are not fully specified. For more information set -d=initialization. In OMEdit Tools->Options->Simulation->Show additional information from the initialization process, in OMNotebook call setCommandLineOptions(\"-d=initialization\"). // " @@ -123,6 +127,11 @@ readFile("modelDescription.tmp.xml"); // // // +// +// +// +// +// // // // @@ -171,6 +180,7 @@ readFile("modelDescription.tmp.xml"); // name=\"previous(_D_outputAlias_y1)\" // valueReference=\"4\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -179,6 +189,7 @@ readFile("modelDescription.tmp.xml"); // name=\"previous(_D_outputAlias_y2)\" // valueReference=\"5\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -187,6 +198,7 @@ readFile("modelDescription.tmp.xml"); // name=\"der(_D_outputAlias_y1)\" // valueReference=\"6\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -195,6 +207,7 @@ readFile("modelDescription.tmp.xml"); // name=\"der(_D_outputAlias_y2)\" // valueReference=\"7\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -203,6 +216,8 @@ readFile("modelDescription.tmp.xml"); // name=\"_D_outputAlias_y1\" // valueReference=\"8\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"5\" // > // // @@ -211,6 +226,8 @@ readFile("modelDescription.tmp.xml"); // name=\"_D_outputAlias_y2\" // valueReference=\"9\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"6\" // > // // @@ -227,6 +244,7 @@ readFile("modelDescription.tmp.xml"); // name=\"ud\" // valueReference=\"11\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -236,6 +254,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"12\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -245,6 +264,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"13\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // diff --git a/testsuite/openmodelica/fmi/ModelExchange/2.0/testDiscreteStructe.mos b/testsuite/openmodelica/fmi/ModelExchange/2.0/testDiscreteStructe.mos index 32b0795aa69..f0814bcf968 100644 --- a/testsuite/openmodelica/fmi/ModelExchange/2.0/testDiscreteStructe.mos +++ b/testsuite/openmodelica/fmi/ModelExchange/2.0/testDiscreteStructe.mos @@ -7,6 +7,8 @@ loadModel(Modelica, {"3.2.3"}); setCommandLineOptions("--std=3.3 -d=-disableDirectionalDerivatives"); +setCommandLineOptions("--exportClocksInModeldescription=true"); getErrorString(); + loadString(" model testDID parameter Real p = 1; @@ -36,6 +38,8 @@ readFile("modelDescription.tmp.xml"); // true // true // "" +// true +// "" // "testDID.fmu" // "" // 0 @@ -119,6 +123,11 @@ readFile("modelDescription.tmp.xml"); // // // +// +// +// +// +// // // // @@ -139,6 +148,7 @@ readFile("modelDescription.tmp.xml"); // name=\"previous(_D_outputAlias_y1)\" // valueReference=\"0\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -147,6 +157,7 @@ readFile("modelDescription.tmp.xml"); // name=\"previous(_D_outputAlias_y2)\" // valueReference=\"1\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -155,6 +166,7 @@ readFile("modelDescription.tmp.xml"); // name=\"der(_D_outputAlias_y1)\" // valueReference=\"2\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -163,6 +175,7 @@ readFile("modelDescription.tmp.xml"); // name=\"der(_D_outputAlias_y2)\" // valueReference=\"3\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -171,6 +184,8 @@ readFile("modelDescription.tmp.xml"); // name=\"_D_outputAlias_y1\" // valueReference=\"4\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"1\" // > // // @@ -179,6 +194,8 @@ readFile("modelDescription.tmp.xml"); // name=\"_D_outputAlias_y2\" // valueReference=\"5\" // variability=\"discrete\" +// clockIndex=\"1\" +// previous=\"2\" // > // // @@ -195,6 +212,7 @@ readFile("modelDescription.tmp.xml"); // name=\"ud\" // valueReference=\"7\" // variability=\"discrete\" +// clockIndex=\"1\" // > // // @@ -204,6 +222,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"8\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // // @@ -213,6 +232,7 @@ readFile("modelDescription.tmp.xml"); // valueReference=\"9\" // variability=\"discrete\" // causality=\"output\" +// clockIndex=\"1\" // > // //