Simulation setup
To simulate FMU `Engine1b.fmu` with OMSimulator run ```bash $ wine64 /var/lib/jenkins/ws/Sandbox/Andreas/OMSimulator-FMI-Cross-Check/OMSimulatorBinaries/OMSimulator-mingw64/bin/OMSimulator.exe --workingDir=/var/lib/jenkins/ws/Sandbox/Andreas/OMSimulator-FMI-Cross-Check/OMSimulator/testsuite/fmi-cross-check/fmi-cross-check/results/2.0/me/win64/OMSimulator/v2.1.1/Dymola/2019FD01/Engine1b --stripRoot=true --skipCSVHeader=true --addParametersToCSV=true --suppressPath=true --timeout=60 /var/lib/jenkins/ws/Sandbox/Andreas/OMSimulator-FMI-Cross-Check/OMSimulator/testsuite/fmi-cross-check/fmi-cross-check/results/2.0/me/win64/OMSimulator/v2.1.1/Dymola/2019FD01/Engine1b/Engine1b.lua ``` Lua file: ```lua -- lua file for Engine1b.fmu oms_setTempDirectory('/tmp/cross-check') oms_newModel('model') oms_addSystem('model.root', oms_system_sc) -- instantiate FMU oms_addSubModel('model.root.fmu', 'Engine1b.fmu') -- simulation settings oms_setResultFile('model', 'Engine1b_out.csv') oms_setLoggingInterval('model', 0.001) oms_setStartTime('model', 0.0) oms_setStopTime('model', 0.5) oms_setTolerance('model', 1e-06, 0.0001) oms_setVariableStepSize('model', 1e-12, 1e-12, 0.001) -- instantiate, initialize and simulate oms_instantiate('model') oms_initialize('model') oms_simulate('model') oms_terminate('model') oms_delete('model') ``` See the [OMSimulator documentation](https://openmodelica.org/doc/OMSimulator/master/html/index.html) for more information.
Stdout:
warning: [fmu: resources/0001_fmu.fmu] The FMU lists 2 state derivatives but actually exposes 69 state derivatives. The following derivatives are missing: 1045: der(Piston.r_0[2]), 1051: der(Piston.v_0[2]), 1110: der(Piston.body.frame_a.r_0[2]), 1148: der(Piston.body.v_0[2]), 1358: der(Rod2.frame_a.R.T[2,2]), 1359: der(Rod2.frame_a.R.T[2,2],2), 1361: der(Rod2.frame_a.R.T[2,3]), 1362: der(Rod2.frame_a.R.T[2,3],2), 1365: der(Rod2.frame_a.R.T[3,2]), 1366: der(Rod2.frame_a.R.T[3,2],2), 1368: der(Rod2.frame_a.R.T[3,3]), 1369: der(Rod2.frame_a.R.T[3,3],2), 1426: der(Rod2.r_0[2]), 1428: der(Rod2.r_0[3]), 1432: der(Rod2.v_0[2]), 1434: der(Rod2.v_0[3]), 1488: der(Rod2.body.frame_a.r_0[2]), 1490: der(Rod2.body.frame_a.r_0[3]), 1526: der(Rod2.body.v_0[2]), 1528: der(Rod2.body.v_0[3]), 1586: der(Rod2.body.w_a[1]), 1757: der(Bearing.frame_b.R.T[2,2]), 1758: der(Bearing.frame_b.R.T[2,2],2), 1760: der(Bearing.frame_b.R.T[2,3]), 1761: der(Bearing.frame_b.R.T[2,3],2), 1764: der(Bearing.frame_b.R.T[3,2]), 1765: der(Bearing.frame_b.R.T[3,2],2), 1767: der(Bearing.frame_b.R.T[3,3]), 1768: der(Bearing.frame_b.R.T[3,3],2), 1791: der(Bearing.phi), 1793: der(Bearing.w), 1878: Inertia.w, 1949: der(Crank4.r_0[2]), 1951: der(Crank4.r_0[3]), 1955: der(Crank4.v_0[2]), 1957: der(Crank4.v_0[3]), 2011: der(Crank4.body.frame_a.r_0[2]), 2013: der(Crank4.body.frame_a.r_0[3]), 2049: der(Crank4.body.v_0[2]), 2051: der(Crank4.body.v_0[3]), 2109: der(Crank4.body.w_a[1]), 2314: der(Crank3.r_0[2]), 2316: der(Crank3.r_0[3]), 2320: der(Crank3.v_0[2]), 2322: der(Crank3.v_0[3]), 2379: der(Crank3.body.frame_a.r_0[2]), 2381: der(Crank3.body.frame_a.r_0[3]), 2417: der(Crank3.body.v_0[2]), 2419: der(Crank3.body.v_0[3]), 2477: der(Crank3.body.w_a[1]), 2845: der(Crank1.body.w_a[1]), 3215: der(Crank2.body.w_a[1]), 3536: der(gasForce.s_rel), 3740: der(B1.phi), 3742: der(B1.w), 3754: der(B1.R_rel.T[2,2]), 3755: der(B1.R_rel.T[2,2],2), 3757: der(B1.R_rel.T[2,3]), 3758: der(B1.R_rel.T[2,3],2), 3761: der(B1.R_rel.T[3,2]), 3762: der(B1.R_rel.T[3,2],2), 3764: der(B1.R_rel.T[3,3]), 3765: der(B1.R_rel.T[3,3],2), 3828: der(B1.constantTorque.phi), 3893: der(Cylinder.s), 3895: der(Cylinder.v), 4177: der(speedSensor.flange.phi) warning: [fmu: resources/0001_fmu.fmu] The FMU lists 4 initial unknowns but actually exposes 124 initial unknowns. The following unknowns are missing: 1044: Piston.r_0[2], 1045: der(Piston.r_0[2]), 1050: Piston.v_0[2], 1051: der(Piston.v_0[2]), 1109: Piston.body.frame_a.r_0[2], 1110: der(Piston.body.frame_a.r_0[2]), 1147: Piston.body.v_0[2], 1148: der(Piston.body.v_0[2]), 1357: Rod2.frame_a.R.T[2,2], 1358: der(Rod2.frame_a.R.T[2,2]), 1359: der(Rod2.frame_a.R.T[2,2],2), 1360: Rod2.frame_a.R.T[2,3], 1361: der(Rod2.frame_a.R.T[2,3]), 1362: der(Rod2.frame_a.R.T[2,3],2), 1364: Rod2.frame_a.R.T[3,2], 1365: der(Rod2.frame_a.R.T[3,2]), 1366: der(Rod2.frame_a.R.T[3,2],2), 1367: Rod2.frame_a.R.T[3,3], 1368: der(Rod2.frame_a.R.T[3,3]), 1369: der(Rod2.frame_a.R.T[3,3],2), 1425: Rod2.r_0[2], 1426: der(Rod2.r_0[2]), 1427: Rod2.r_0[3], 1428: der(Rod2.r_0[3]), 1431: Rod2.v_0[2], 1432: der(Rod2.v_0[2]), 1433: Rod2.v_0[3], 1434: der(Rod2.v_0[3]), 1487: Rod2.body.frame_a.r_0[2], 1488: der(Rod2.body.frame_a.r_0[2]), 1489: Rod2.body.frame_a.r_0[3], 1490: der(Rod2.body.frame_a.r_0[3]), 1525: Rod2.body.v_0[2], 1526: der(Rod2.body.v_0[2]), 1527: Rod2.body.v_0[3], 1528: der(Rod2.body.v_0[3]), 1585: Rod2.body.w_a[1], 1586: der(Rod2.body.w_a[1]), 1756: Bearing.frame_b.R.T[2,2], 1757: der(Bearing.frame_b.R.T[2,2]), 1758: der(Bearing.frame_b.R.T[2,2],2), 1759: Bearing.frame_b.R.T[2,3], 1760: der(Bearing.frame_b.R.T[2,3]), 1761: der(Bearing.frame_b.R.T[2,3],2), 1763: Bearing.frame_b.R.T[3,2], 1764: der(Bearing.frame_b.R.T[3,2]), 1765: der(Bearing.frame_b.R.T[3,2],2), 1766: Bearing.frame_b.R.T[3,3], 1767: der(Bearing.frame_b.R.T[3,3]), 1768: der(Bearing.frame_b.R.T[3,3],2), 1790: Bearing.phi, 1791: der(Bearing.phi), 1792: Bearing.w, 1793: der(Bearing.w), 1948: Crank4.r_0[2], 1949: der(Crank4.r_0[2]), 1950: Crank4.r_0[3], 1951: der(Crank4.r_0[3]), 1954: Crank4.v_0[2], 1955: der(Crank4.v_0[2]), 1956: Crank4.v_0[3], 1957: der(Crank4.v_0[3]), 2010: Crank4.body.frame_a.r_0[2], 2011: der(Crank4.body.frame_a.r_0[2]), 2012: Crank4.body.frame_a.r_0[3], 2013: der(Crank4.body.frame_a.r_0[3]), 2048: Crank4.body.v_0[2], 2049: der(Crank4.body.v_0[2]), 2050: Crank4.body.v_0[3], 2051: der(Crank4.body.v_0[3]), 2108: Crank4.body.w_a[1], 2109: der(Crank4.body.w_a[1]), 2313: Crank3.r_0[2], 2314: der(Crank3.r_0[2]), 2315: Crank3.r_0[3], 2316: der(Crank3.r_0[3]), 2319: Crank3.v_0[2], 2320: der(Crank3.v_0[2]), 2321: Crank3.v_0[3], 2322: der(Crank3.v_0[3]), 2378: Crank3.body.frame_a.r_0[2], 2379: der(Crank3.body.frame_a.r_0[2]), 2380: Crank3.body.frame_a.r_0[3], 2381: der(Crank3.body.frame_a.r_0[3]), 2416: Crank3.body.v_0[2], 2417: der(Crank3.body.v_0[2]), 2418: Crank3.body.v_0[3], 2419: der(Crank3.body.v_0[3]), 2476: Crank3.body.w_a[1], 2477: der(Crank3.body.w_a[1]), 2844: Crank1.body.w_a[1], 2845: der(Crank1.body.w_a[1]), 3214: Crank2.body.w_a[1], 3215: der(Crank2.body.w_a[1]), 3535: gasForce.s_rel, 3536: der(gasForce.s_rel), 3739: B1.phi, 3740: der(B1.phi), 3741: B1.w, 3742: der(B1.w), 3753: B1.R_rel.T[2,2], 3754: der(B1.R_rel.T[2,2]), 3755: der(B1.R_rel.T[2,2],2), 3756: B1.R_rel.T[2,3], 3757: der(B1.R_rel.T[2,3]), 3758: der(B1.R_rel.T[2,3],2), 3760: B1.R_rel.T[3,2], 3761: der(B1.R_rel.T[3,2]), 3762: der(B1.R_rel.T[3,2],2), 3763: B1.R_rel.T[3,3], 3764: der(B1.R_rel.T[3,3]), 3765: der(B1.R_rel.T[3,3],2), 3827: B1.constantTorque.phi, 3828: der(B1.constantTorque.phi), 3892: Cylinder.s, 3893: der(Cylinder.s), 3894: Cylinder.v, 3895: der(Cylinder.v), 4176: speedSensor.flange.phi, 4177: der(speedSensor.flange.phi) info: [fmu: resources/0001_fmu.fmu] The FMU contains bad initial unknowns. This might cause problems, e.g. wrong simulation results. warning: fmu (): fmi2SetupExperiment: tolerance control not supported for fmuType fmi2ModelExchange, setting toleranceDefined to fmi2False info: maximum step size for 'model.root': 0.001000 info: Result file: Engine1b_out.csv (bufferSize=1) info: Final Statistics for 'model.root': NumSteps = 17 NumRhsEvals = 25 NumLinSolvSetups = 10 NumNonlinSolvIters = 24 NumNonlinSolvConvFails = 0 NumErrTestFails = 1 info: 3 warnings info: 0 errors
Stderr: