Skip to content

Commit ce91f7c

Browse files
committed
Update FMI tests to new xml structure.
Move failing tests up.
1 parent d79a8d4 commit ce91f7c

File tree

5 files changed

+64
-43
lines changed

5 files changed

+64
-43
lines changed

openmodelica/fmi/ModelExchange/2.0/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ ZeroStates.mos \
1616
EnumerationTest.mos \
1717
Modelica.Blocks.Sources.BooleanPulse.mos \
1818
Modelica.Electrical.Analog.Examples.ChuaCircuit.mos \
19+
Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.mos \
20+
Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.mos \
1921

2022
# test that currently fail. Move up when fixed.
2123
# Run make testfailing
2224
FAILINGTESTFILES= \
23-
Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.mos \
24-
Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.mos \
2525

2626
# Dependency files that are not .mo .mos or Makefile
2727
# Add them here or they will be cleaned.

openmodelica/fmi/ModelExchange/2.0/Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.mos

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
11
// name: Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum
2-
// keywords: simulation MSL Examples
2+
// keywords: DoublePendulum FMI-Export FMI-Import
33
// status: correct
4-
// teardown_command: rm -rf binaries sources modelDescription.xml Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.fmu Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_* Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU.mo Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.libs Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.lib BouncingBall.so Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.dll Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.c Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.makefile Modelica_from_nxy_*
4+
// teardown_command: rm -rf Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum.* Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum_* binaries sources modelDescription.xml Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.fmu Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU.mo Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.lib* Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.so Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.dll Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_*.c Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_*.h Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_*.o Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_*.json
55
// Simulation Results
66
// Modelica Standard Library
77
//
88

99
loadModel(Modelica);
10+
simulate(Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum,stopTime=3.0);
11+
getErrorString();
12+
13+
val(revolute1.phi, 0);
14+
val(revolute1.phi, 1);
15+
val(revolute1.phi, 2);
16+
val(revolute1.phi, 3);
17+
18+
val(revolute2.phi, 0);
19+
val(revolute2.phi, 1);
20+
val(revolute2.phi, 2);
21+
val(revolute2.phi, 3);
22+
1023
translateModelFMU(Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum, version="2.0");
1124
getErrorString();
1225
importFMU("Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum.fmu");
@@ -28,6 +41,20 @@ val(revolute2_phi, 3);
2841

2942
// Result:
3043
// true
44+
// record SimulationResult
45+
// resultFile = "Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum_res.mat",
46+
// simulationOptions = "startTime = 0.0, stopTime = 3.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
47+
// messages = ""
48+
// end SimulationResult;
49+
// ""
50+
// 0.0
51+
// -2.915113487709522
52+
// -0.03693230502575465
53+
// -2.315832532768317
54+
// 0.0
55+
// -0.5164246964069449
56+
// -0.9041244442894454
57+
// -1.736500374427386
3158
// "SimCode: The model Modelica.Mechanics.MultiBody.Examples.Elementary.DoublePendulum has been translated to FMU"
3259
// ""
3360
// "Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU.mo"
@@ -36,15 +63,16 @@ val(revolute2_phi, 3);
3663
// ""
3764
// record SimulationResult
3865
// resultFile = "Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU_res.mat",
39-
// simulationOptions = "startTime = 0.0, stopTime = 3.0, numberOfIntervals = 500, tolerance = 0.000001, method = 'dassl', fileNamePrefix = 'Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
66+
// simulationOptions = "startTime = 0.0, stopTime = 3.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica_Mechanics_MultiBody_Examples_Elementary_DoublePendulum_me_FMU', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
4067
// messages = ""
4168
// end SimulationResult;
69+
// ""
4270
// 0.0
43-
// -2.9151134877484743
44-
// -0.036932304869208676
45-
// -2.315833281802642
71+
// -2.915113487709145
72+
// -0.03693230502957622
73+
// -2.315832532793247
4674
// 0.0
47-
// -0.5164246962637027
48-
// -0.9041244419923411
49-
// -1.7364994721877753
75+
// -0.516424696407867
76+
// -0.904124444176797
77+
// -1.736500372024582
5078
// endResult
Lines changed: 21 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
// name: Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum
2-
// keywords: simulation MSL Examples
2+
// keywords: Pendulum FMI-Export FMI-Import
33
// status: correct
4-
// teardown_command: rm -rf binaries sources modelDescription.xml Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.fmu Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_* Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.libs Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.lib Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.so Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.dll Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.c Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.makefile Modelica_from_nxy_*
5-
// Simulation Results
6-
// Modelica Standard Library
4+
// teardown_command: rm -rf Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum.* Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum_* binaries sources modelDescription.xml Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.fmu Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.lib* Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.so Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.dll Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_*.c Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_*.h Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_*.o Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_*.json
75
//
86

97
loadModel(Modelica); getErrorString();
8+
simulate(Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum,stopTime=3.0); getErrorString();
9+
val(rev.phi, 0);
10+
val(rev.phi, 1);
11+
val(rev.phi, 2);
12+
val(rev.phi, 3);
1013
translateModelFMU(Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum, version="2.0"); getErrorString();
1114
importFMU("Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum.fmu"); getErrorString();
1215
loadFile("Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo"); getErrorString();
@@ -19,6 +22,16 @@ val(rev_phi, 3);
1922
// Result:
2023
// true
2124
// ""
25+
// record SimulationResult
26+
// resultFile = "Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum_res.mat",
27+
// simulationOptions = "startTime = 0.0, stopTime = 3.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
28+
// messages = ""
29+
// end SimulationResult;
30+
// ""
31+
// 0.0
32+
// -2.580150841077486
33+
// -1.57760305358518
34+
// -0.8529875495512299
2235
// "SimCode: The model Modelica.Mechanics.MultiBody.Examples.Elementary.Pendulum has been translated to FMU"
2336
// ""
2437
// "Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo"
@@ -30,29 +43,9 @@ val(rev_phi, 3);
3043
// simulationOptions = "startTime = 0.0, stopTime = 3.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''",
3144
// messages = ""
3245
// end SimulationResult;
33-
// "[openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1082:3-1082:182:writable] Warning: Parameter body_cylinder_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
34-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1083:3-1083:178:writable] Warning: Parameter body_sphere_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="sphere") as default value.
35-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1084:3-1084:181:writable] Warning: Parameter rev_cylinder_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
36-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1085:3-1085:187:writable] Warning: Parameter world_gravityArrowHead_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cone") as default value.
37-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1086:3-1086:191:writable] Warning: Parameter world_gravityArrowLine_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
38-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1087:3-1087:90:writable] Warning: Parameter world_label1 has no value, and is fixed during initialization (fixed=true), using available start value (start="x") as default value.
39-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1088:3-1088:88:writable] Warning: Parameter world_label2 has no value, and is fixed during initialization (fixed=true), using available start value (start="y") as default value.
40-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1089:3-1089:182:writable] Warning: Parameter world_x_arrowHead_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cone") as default value.
41-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1090:3-1090:186:writable] Warning: Parameter world_x_arrowLine_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
42-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1091:3-1091:195:writable] Warning: Parameter world_x_label_cylinders_1__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
43-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1092:3-1092:195:writable] Warning: Parameter world_x_label_cylinders_2__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
44-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1093:3-1093:182:writable] Warning: Parameter world_y_arrowHead_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cone") as default value.
45-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1094:3-1094:186:writable] Warning: Parameter world_y_arrowLine_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
46-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1095:3-1095:195:writable] Warning: Parameter world_y_label_cylinders_1__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
47-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1096:3-1096:195:writable] Warning: Parameter world_y_label_cylinders_2__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
48-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1097:3-1097:182:writable] Warning: Parameter world_z_arrowHead_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cone") as default value.
49-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1098:3-1098:186:writable] Warning: Parameter world_z_arrowLine_shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
50-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1099:3-1099:195:writable] Warning: Parameter world_z_label_cylinders_1__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
51-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1100:3-1100:195:writable] Warning: Parameter world_z_label_cylinders_2__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
52-
// [openmodelica/fmi/ModelExchange/1.0/Modelica_Mechanics_MultiBody_Examples_Elementary_Pendulum_me_FMU.mo:1101:3-1101:195:writable] Warning: Parameter world_z_label_cylinders_3__shapeType has no value, and is fixed during initialization (fixed=true), using available start value (start="cylinder") as default value.
53-
// "
46+
// ""
5447
// 0.0
55-
// -2.580150841078529
56-
// -1.577603053583751
57-
// -0.8529875495514738
48+
// -2.580150841078526
49+
// -1.577603053583732
50+
// -0.8529875495514888
5851
// endResult

openmodelica/fmi/ModelExchange/2.0/testBug2764.mos

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ readFile("modelDescription.tmp.xml");
103103
// valueReference=\"4\"
104104
// variability=\"continuous\"
105105
// causality=\"input\"
106-
// initial=\"approx\">
106+
// >
107107
// <Real start=\"-2.0\"/>
108108
// </ScalarVariable>
109109
// <!-- Index of variable = \"6\" -->

openmodelica/fmi/ModelExchange/2.0/testBug3049.mos

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ readFile("modelDescription.tmp.xml");
5858
// valueReference=\"0\"
5959
// variability=\"continuous\"
6060
// causality=\"output\"
61-
// initial=\"approx\">
61+
// initial=\"exact\">
6262
// <Real start=\"100000.0\" min=\"0.0\" nominal=\"100000.0\"/>
6363
// </ScalarVariable>
6464
// <!-- Index of variable = \"2\" -->
@@ -67,7 +67,7 @@ readFile("modelDescription.tmp.xml");
6767
// valueReference=\"1\"
6868
// variability=\"continuous\"
6969
// causality=\"output\"
70-
// initial=\"approx\">
70+
// initial=\"exact\">
7171
// <Real start=\"5000000.0\" min=\"611.657\" max=\"100000000.0\" nominal=\"1000000.0\"/>
7272
// </ScalarVariable>
7373
// <!-- Index of variable = \"3\" -->
@@ -76,7 +76,7 @@ readFile("modelDescription.tmp.xml");
7676
// valueReference=\"2\"
7777
// variability=\"continuous\"
7878
// causality=\"output\"
79-
// initial=\"approx\">
79+
// initial=\"exact\">
8080
// <Real start=\"100000.0\" min=\"0.0\" nominal=\"10000000.0\"/>
8181
// </ScalarVariable>
8282
// </ModelVariables>

0 commit comments

Comments
 (0)