diff --git a/.gitvalidfiles b/.gitvalidfiles index 0aa97407021..0b52aa3c741 100644 --- a/.gitvalidfiles +++ b/.gitvalidfiles @@ -215,7 +215,6 @@ ./simulation/libraries/3rdParty/TestMediaFrancesco/ReferenceFiles/WaterIF97/WaterIF97_Test8_ref.mat ./simulation/libraries/msl32/simulateAll.sh ./simulation/modelica/arrays/ReferenceFiles/NPendulum_10.mat -./simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat ./simulation/modelica/external_functions/ExternalFunc1.c ./simulation/modelica/external_functions/ExternalFunc1_ext.h ./simulation/modelica/external_functions/ExternalFunc2.c diff --git a/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos b/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos index 4a743301d26..1d266e66427 100644 --- a/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos +++ b/openmodelica/cppruntime/genDebugSymbols/Modelica.Fluid.Examples.BranchingDynamicPipes_genDebugSymbols.mos @@ -113,6 +113,11 @@ runScript(modelTesting);getErrorString(); // "" // Simulation options: startTime = 0.0, stopTime = 10.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Fluid.Examples.BranchingDynamicPipes', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = '' // Result file: Modelica.Fluid.Examples.BranchingDynamicPipes_res.mat +// Messages: Wrong start value for variable _boundary1_P_medium_P_p_steam_sat_ detected. Got 2339.19 Expected: 100000 +// Wrong start value for variable _pipe1_P_flowModel_P_mus_(1) detected. Got 1.82329e-05 Expected: 0.001 +// Wrong start value for variable _pipe1_P_flowModel_P_rhos_(1) detected. Got 1.77178 Expected: 1 +// Wrong start value for variable _pipe1_P_statesFM1_P_T_ detected. Got 293.15 Expected: 300 +// // Files Equal! // "true // " diff --git a/openmodelica/cruntime/optimization/basic/testAlgLoop3.mos b/openmodelica/cruntime/optimization/basic/testAlgLoop3.mos index a318f6a33e9..3c6acfc8fe6 100644 --- a/openmodelica/cruntime/optimization/basic/testAlgLoop3.mos +++ b/openmodelica/cruntime/optimization/basic/testAlgLoop3.mos @@ -51,10 +51,10 @@ getErrorString(); // ****************************************************************************** // // LOG_IPOPT_ERROR | info | max violation is 1 for the constraint $EqCon$y1(time = 1) -// LOG_IPOPT_ERROR | info | max violation is 0.491941 for the constraint $EqCon$y1(time = 1) -// LOG_IPOPT_ERROR | info | max violation is 0.0251223 for the constraint $EqCon$y2(time = 1) -// LOG_IPOPT_ERROR | info | max violation is 9.99863e-05 for the constraint $EqCon$y2(time = 1) -// LOG_IPOPT_ERROR | info | max violation is 1.53473e-09 for the constraint $EqCon$y2(time = 1) +// LOG_IPOPT_ERROR | info | max violation is 0.491941 for the constraint $EqCon$y2(time = 1) +// LOG_IPOPT_ERROR | info | max violation is 0.0251223 for the constraint $EqCon$y1(time = 1) +// LOG_IPOPT_ERROR | info | max violation is 9.99863e-05 for the constraint $EqCon$y1(time = 1) +// LOG_IPOPT_ERROR | info | max violation is 1.53473e-09 for the constraint $EqCon$y1(time = 1) // " // end SimulationResult; // "Warning: There are iteration variables with default zero start attribute. For more information set -d=initialization. In OMEdit Tools->Options->Simulation->OMCFlags, in OMNotebook call setCommandLineOptions("-d=initialization"). diff --git a/openmodelica/cruntime/optimization/basic/testAlgLoop7.mos b/openmodelica/cruntime/optimization/basic/testAlgLoop7.mos index e39ee41c830..58fb930afed 100644 --- a/openmodelica/cruntime/optimization/basic/testAlgLoop7.mos +++ b/openmodelica/cruntime/optimization/basic/testAlgLoop7.mos @@ -51,14 +51,14 @@ getErrorString(); // For more information visit http://projects.coin-or.org/Ipopt // ****************************************************************************** // -// LOG_IPOPT_ERROR | info | max violation is 0.00630401 for the constraint $EqCon$x2(time = 0.17) -// LOG_IPOPT_ERROR | info | max violation is 2.64944e-05 for the constraint $EqCon$x1(time = 0.17) -// LOG_IPOPT_ERROR | info | max violation is 1.05608e-07 for the constraint $EqCon$x2(time = 0.17) -// LOG_IPOPT_ERROR | info | max violation is 1.86591e-05 for the constraint $EqCon$x1(time = 0.17) -// LOG_IPOPT_ERROR | info | max violation is 5.33147e-06 for the constraint $EqCon$x2(time = 0.435) -// LOG_IPOPT_ERROR | info | max violation is 4.28799e-08 for the constraint $EqCon$x2(time = 0.435) -// LOG_IPOPT_ERROR | info | max violation is 1.87086e-11 for the constraint $EqCon$x2(time = 0.445) -// LOG_IPOPT_ERROR | info | max violation is 5.55112e-16 for the constraint $EqCon$x2(time = 0.16) +// LOG_IPOPT_ERROR | info | max violation is 0.00630401 for the constraint $EqCon$x1(time = 0.17) +// LOG_IPOPT_ERROR | info | max violation is 2.64944e-05 for the constraint $EqCon$x2(time = 0.17) +// LOG_IPOPT_ERROR | info | max violation is 1.05608e-07 for the constraint $EqCon$x1(time = 0.17) +// LOG_IPOPT_ERROR | info | max violation is 1.86591e-05 for the constraint $EqCon$x2(time = 0.17) +// LOG_IPOPT_ERROR | info | max violation is 5.33147e-06 for the constraint $EqCon$x1(time = 0.435) +// LOG_IPOPT_ERROR | info | max violation is 4.28799e-08 for the constraint $EqCon$x1(time = 0.435) +// LOG_IPOPT_ERROR | info | max violation is 1.87085e-11 for the constraint $EqCon$x1(time = 0.445) +// LOG_IPOPT_ERROR | info | max violation is 4.44089e-16 for the constraint $EqCon$x1(time = 0.28) // " // end SimulationResult; // "" diff --git a/openmodelica/debugDumps/optdaedump.mos b/openmodelica/debugDumps/optdaedump.mos index 811db310933..fd9adf61f25 100644 --- a/openmodelica/debugDumps/optdaedump.mos +++ b/openmodelica/debugDumps/optdaedump.mos @@ -4259,8 +4259,8 @@ buildModel(testOptdaedump); getErrorString(); // 6/6 (1): iC = C * $DER.uC [dynamic] // 7/7 (1): i0 = i1 + iC [dynamic] // 8/8 (1): i1 = i2 + iL [dynamic] -// 9/9 (1): $cse1 = sin(time) [unknown] -// 10/10 (1): uC = cos(time) [unknown] +// 9/9 (1): uC = cos(time) [unknown] +// 10/10 (1): $cse1 = sin(time) [unknown] // // // Simple Equations (0, 0) @@ -4279,17 +4279,17 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 8 // var 4 is solved in eqn 2 // var 5 is solved in eqn 7 -// var 6 is solved in eqn 10 +// var 6 is solved in eqn 9 // var 7 is solved in eqn 4 // var 8 is solved in eqn 3 // var 9 is solved in eqn 1 -// var 10 is solved in eqn 9 +// var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {10:6} -// {9:10} +// {10:10} +// {9:6} // {2, 8, 4, 3:8, 7, 3, 4} Size: 4 Jacobian Linear // {5:2} // {1:9} @@ -4395,8 +4395,8 @@ buildModel(testOptdaedump); getErrorString(); // 6/6 (1): iC = C * $DER.uC [dynamic] // 7/7 (1): i0 = i1 + iC [dynamic] // 8/8 (1): i1 = i2 + iL [dynamic] -// 9/9 (1): $cse1 = sin(time) [unknown] -// 10/10 (1): uC = cos(time) [unknown] +// 9/9 (1): uC = cos(time) [unknown] +// 10/10 (1): $cse1 = sin(time) [unknown] // // // Simple Equations (0, 0) @@ -4415,17 +4415,17 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 8 // var 4 is solved in eqn 2 // var 5 is solved in eqn 7 -// var 6 is solved in eqn 10 +// var 6 is solved in eqn 9 // var 7 is solved in eqn 4 // var 8 is solved in eqn 3 // var 9 is solved in eqn 1 -// var 10 is solved in eqn 9 +// var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {10:6} -// {9:10} +// {10:10} +// {9:6} // {2, 8, 4, 3:8, 7, 3, 4} Size: 4 Jacobian Linear // {5:2} // {1:9} @@ -4531,8 +4531,8 @@ buildModel(testOptdaedump); getErrorString(); // 6/6 (1): iC = C * $DER.uC [dynamic] // 7/7 (1): i0 = i1 + iC [dynamic] // 8/8 (1): i1 = i2 + iL [dynamic] -// 9/9 (1): $cse1 = sin(time) [unknown] -// 10/10 (1): uC = cos(time) [unknown] +// 9/9 (1): uC = cos(time) [unknown] +// 10/10 (1): $cse1 = sin(time) [unknown] // // // Simple Equations (0, 0) @@ -4551,17 +4551,17 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 8 // var 4 is solved in eqn 2 // var 5 is solved in eqn 7 -// var 6 is solved in eqn 10 +// var 6 is solved in eqn 9 // var 7 is solved in eqn 4 // var 8 is solved in eqn 3 // var 9 is solved in eqn 1 -// var 10 is solved in eqn 9 +// var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {10:6} -// {9:10} +// {10:10} +// {9:6} // {2, 8, 4, 3:8, 7, 3, 4} Size: 4 Jacobian Linear // {5:2} // {1:9} @@ -4667,8 +4667,8 @@ buildModel(testOptdaedump); getErrorString(); // 6/6 (1): iC = C * $DER.uC [dynamic] // 7/7 (1): i0 = i1 + iC [dynamic] // 8/8 (1): i1 = i2 + iL [dynamic] -// 9/9 (1): $cse1 = sin(time) [unknown] -// 10/10 (1): uC = cos(time) [unknown] +// 9/9 (1): uC = cos(time) [unknown] +// 10/10 (1): $cse1 = sin(time) [unknown] // // // Simple Equations (0, 0) @@ -4687,17 +4687,17 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 8 // var 4 is solved in eqn 2 // var 5 is solved in eqn 7 -// var 6 is solved in eqn 10 +// var 6 is solved in eqn 9 // var 7 is solved in eqn 4 // var 8 is solved in eqn 3 // var 9 is solved in eqn 1 -// var 10 is solved in eqn 9 +// var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {10:6} -// {9:10} +// {10:10} +// {9:6} // {2, 8, 4, 3:8, 7, 3, 4} Size: 4 Jacobian Linear // {5:2} // {1:9} @@ -4795,8 +4795,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -4823,22 +4823,22 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {6, 5, 4, 3:8, 4, 3, 7} Size: 4 Jacobian Linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -4931,8 +4931,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -4959,22 +4959,22 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {6, 5, 4, 3:8, 4, 3, 7} Size: 4 Jacobian Linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -5067,8 +5067,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -5095,22 +5095,22 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {6, 5, 4, 3:8, 4, 3, 7} Size: 4 Jacobian Linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -5203,8 +5203,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -5231,23 +5231,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -5340,8 +5340,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -5368,23 +5368,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -6692,8 +6692,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -6720,23 +6720,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -6829,8 +6829,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -6857,23 +6857,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -6966,8 +6966,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -6994,23 +6994,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -7103,8 +7103,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -7131,23 +7131,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -7240,8 +7240,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -7268,23 +7268,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -7377,8 +7377,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -7405,23 +7405,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // @@ -7514,8 +7514,8 @@ buildModel(testOptdaedump); getErrorString(); // // Equations (10, 10) // ======================================== -// 1/1 (1): uC = cos(time) [unknown] -// 2/2 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (1): uC = cos(time) [unknown] // 3/3 (1): u1 = R1 * i1 [dynamic] // 4/4 (1): i1 = i2 + iL [dynamic] // 5/5 (1): uL = R2 * i2 [dynamic] @@ -7542,23 +7542,23 @@ buildModel(testOptdaedump); getErrorString(); // var 3 is solved in eqn 5 // var 4 is solved in eqn 4 // var 5 is solved in eqn 9 -// var 6 is solved in eqn 1 +// var 6 is solved in eqn 2 // var 7 is solved in eqn 6 // var 8 is solved in eqn 3 -// var 9 is solved in eqn 2 +// var 9 is solved in eqn 1 // var 10 is solved in eqn 10 // // // StrongComponents // ======================================== -// {2:9} -// {8:1} -// {10:10} -// {1:6} +// {2:6} // {{{6:8}, {5:3}, {3:4}} // ,{4:7}} Size: 1 linear -// {9:5} // {7:2} +// {1:9} +// {8:1} +// {9:5} +// {10:10} // // // diff --git a/openmodelica/debugDumps/paramdlowdump.mos b/openmodelica/debugDumps/paramdlowdump.mos index 2e5a71b7bb9..13ff433c95d 100644 --- a/openmodelica/debugDumps/paramdlowdump.mos +++ b/openmodelica/debugDumps/paramdlowdump.mos @@ -32,12 +32,12 @@ buildModel(testParamdlowdump); getErrorString(); // // parameters in order (6) // ======================================== -// 1: b2:PARAM() = not b1 type: Boolean -// 2: b3:PARAM() = b1 or b2 type: Boolean -// 3: i2:PARAM() = 1 + i1 type: Integer -// 4: i3:PARAM() = i1 + i2 type: Integer -// 5: r2:PARAM() = 1.0 + r1 type: Real -// 6: r3:PARAM() = r1 + r2 type: Real +// 1: r2=1.0 + r1 [Real ] +// 2: r3=r1 + r2 [Real ] +// 3: i2=1 + i1 [Integer ] +// 4: i3=i1 + i2 [Integer ] +// 5: b2=not b1 [Boolean ] +// 6: b3=b1 or b2 [Boolean ] // // {"testParamdlowdump","testParamdlowdump_init.xml"} // "" diff --git a/openmodelica/fmi/ModelExchange/1.0/CoupledClutches.mos b/openmodelica/fmi/ModelExchange/1.0/CoupledClutches.mos index 625924de7f3..05108c096a9 100644 --- a/openmodelica/fmi/ModelExchange/1.0/CoupledClutches.mos +++ b/openmodelica/fmi/ModelExchange/1.0/CoupledClutches.mos @@ -46,25 +46,11 @@ val(J4_w1, 1); // assert | debug | division leads to inf or nan at time 0, (a=-nan) / (b=1), where divisor b is: J1.J // assert | debug | division leads to inf or nan at time 0, (a=-nan) / (b=1), where divisor b is: J1.J // assert | debug | division leads to inf or nan at time 0, (a=-nan) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// stdout | warning | While solving non-linear system an assertion failed at time 1e-08. -// | | | | | The non-linear solver tries to solve the problem that could take some time. -// | | | | | It could help to provide better start-values for the iteration variables. -// | | | | | For more information simulate with -lv LOG_NLS -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=-nan) / (b=1), where divisor b is: J1.J -// assert | debug | division leads to inf or nan at time 1e-08, (a=inf) / (b=1), where divisor b is: J1.J // " // end SimulationResult; // "" -// 3.235521367082613 -// 3.38230058783599 -// 3.38230048783602 +// 3.23552136708265 +// 3.382300587836032 +// 3.382300487836059 // 0.0 // endResult diff --git a/simulation/libraries/msl32/Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL.mos b/simulation/libraries/msl32/Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL.mos index 567376311d5..6441b06e066 100644 --- a/simulation/libraries/msl32/Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL.mos +++ b/simulation/libraries/msl32/Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL.mos @@ -8,7 +8,7 @@ runScript("../common/ModelTestingDefaults.mos"); getErrorString(); -modelTestingType := OpenModelicaModelTesting.Kind.SimpleSimulation; +modelTestingType := OpenModelicaModelTesting.Kind.VerifiedSimulation; modelName := $TypeName(Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL); compareVars := { @@ -27,11 +27,12 @@ runScript(modelTesting);getErrorString(); // "true // " // "" -// OpenModelicaModelTesting.Kind.SimpleSimulation +// OpenModelicaModelTesting.Kind.VerifiedSimulation // Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL // {"aimc.idq_rr[1]","aimc.idq_rr[2]","aimc.lssigma.i_[1]","aimc.lssigma.i_[2]","aimc.lszero.i","loadInertia.phi","loadInertia.w"} // Simulation options: startTime = 0.0, stopTime = 1.5, numberOfIntervals = 1500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL', options = '', outputFormat = 'mat', variableFilter = 'time|aimc.idq_rr.1.|aimc.idq_rr.2.|aimc.lssigma.i_.1.|aimc.lssigma.i_.2.|aimc.lszero.i|loadInertia.phi|loadInertia.w', cflags = '', simflags = ' -abortSlowSimulation -alarm=360 -emit_protected' // Result file: Modelica.Electrical.Machines.Examples.AsynchronousInductionMachines.AIMC_DOL_res.mat +// Files Equal! // "true // " // "" diff --git a/simulation/libraries/msl32/Modelica.Fluid.Examples.Tanks.TanksWithOverflow.mos b/simulation/libraries/msl32/Modelica.Fluid.Examples.Tanks.TanksWithOverflow.mos index 5877b7d66ba..903d843112d 100644 --- a/simulation/libraries/msl32/Modelica.Fluid.Examples.Tanks.TanksWithOverflow.mos +++ b/simulation/libraries/msl32/Modelica.Fluid.Examples.Tanks.TanksWithOverflow.mos @@ -8,7 +8,7 @@ runScript("../common/ModelTestingDefaults.mos"); getErrorString(); -modelTestingType := OpenModelicaModelTesting.Kind.Compilation; +modelTestingType := OpenModelicaModelTesting.Kind.SimpleSimulation; modelName := $TypeName(Modelica.Fluid.Examples.Tanks.TanksWithOverflow); compareVars := { @@ -24,10 +24,15 @@ runScript(modelTesting);getErrorString(); // "true // " // "" -// OpenModelicaModelTesting.Kind.Compilation +// OpenModelicaModelTesting.Kind.SimpleSimulation // Modelica.Fluid.Examples.Tanks.TanksWithOverflow // {"upperTank.level","upperTank.medium.h","lowerTank.level","lowerTank.medium.h"} -// Compilation succeeded +// Simulation options: startTime = 0.0, stopTime = 25000.0, numberOfIntervals = 5000, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'Modelica.Fluid.Examples.Tanks.TanksWithOverflow', options = '', outputFormat = 'mat', variableFilter = 'time|upperTank.level|upperTank.medium.h|lowerTank.level|lowerTank.medium.h', cflags = '', simflags = ' -abortSlowSimulation -alarm=360 -emit_protected' +// Result file: Modelica.Fluid.Examples.Tanks.TanksWithOverflow_res.mat +// Messages: assert | warning | The following assertion has been violated at time 5.000000 +// | | | | overflow.flowModel.states[1].p >= 0.0 and overflow.flowModel.states[1].p <= 100000000.0 +// assert | warning | Variable violating min/max constraint: 0.0 <= overflow.flowModel.states[1].p <= 100000000.0, has value: -93465.5 +// // "true // " // "" diff --git a/simulation/modelica/commonSubExp/Makefile b/simulation/modelica/commonSubExp/Makefile index f176c520475..6ac17b93a59 100644 --- a/simulation/modelica/commonSubExp/Makefile +++ b/simulation/modelica/commonSubExp/Makefile @@ -31,6 +31,14 @@ wrapFunctionCalls3.mos \ wrapFunctionCalls4.mos \ wrapFunctionCalls5.mos \ wrapFunctionCalls6.mos \ +wrapFunctionCalls7.mos \ +wrapFunctionCalls8.mos \ +wrapFunctionCalls9.mos \ +wrapFunctionCalls10.mos \ +wrapFunctionCalls11.mos \ +wrapFunctionCalls12.mos \ +wrapFunctionCalls13.mos \ +wrapFunctionCalls14.mos \ # test that currently fail. Move up when fixed. # Run make testfailing diff --git a/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls10_res.mat.xz b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls10_res.mat.xz new file mode 100644 index 00000000000..c7005d11022 Binary files /dev/null and b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls10_res.mat.xz differ diff --git a/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls13_res.mat.xz b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls13_res.mat.xz new file mode 100644 index 00000000000..4d58fa7a68b Binary files /dev/null and b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls13_res.mat.xz differ diff --git a/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls8_res.mat.xz b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls8_res.mat.xz new file mode 100644 index 00000000000..2b79fd64ce8 Binary files /dev/null and b/simulation/modelica/commonSubExp/ReferenceFiles/CSE.wrapFunctionCalls8_res.mat.xz differ diff --git a/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat b/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat deleted file mode 100644 index 191e6ece929..00000000000 Binary files a/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat and /dev/null differ diff --git a/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat.xz b/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat.xz new file mode 100644 index 00000000000..bf1f03f3f89 Binary files /dev/null and b/simulation/modelica/commonSubExp/ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat.xz differ diff --git a/simulation/modelica/commonSubExp/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mos b/simulation/modelica/commonSubExp/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mos index 1699ff24a59..d5314e51c3d 100644 --- a/simulation/modelica/commonSubExp/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mos +++ b/simulation/modelica/commonSubExp/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mos @@ -8,12 +8,27 @@ loadModel(ThermoSysPro); getErrorString(); simulate(ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1, stopTime=1000); getErrorString(); -res := OpenModelica.Scripting.compareSimulationResults( +system("xz --keep --decompress --force ./ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat.xz"); +(success, failVars) := OpenModelica.Scripting.diffSimulationResults( "ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1_res.mat", "ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat", "ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1_diff.csv", -0.01, 0.0001, -{"centrifugalPump.w"}); +vars={"centrifugalPump.w"}); getErrorString(); + +if success then + print("Files equal!\n"); +else + print("Files not equal!\n"); + for v in failVars loop + curFile := "ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1." + v + ".html"; + success := writeFile(curFile, OpenModelica.Scripting.diffSimulationResultsHtml(v, "ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1_res.mat", "./ReferenceFiles/ThermoSysPro.Examples.SimpleExamples.TestCentrifugalPump1.mat", 0.01)); getErrorString(); + if success then + print("Created diff file " + curFile + "\n"); + else + print("Creating diff file " + curFile + " failed\n"); + end if; + end for; getErrorString(); +end if; // Result: // true @@ -64,5 +79,9 @@ res := OpenModelica.Scripting.compareSimulationResults( // [ThermoSysPro 3.1/ElectroMechanics/Connectors.mo:3:3-38:24:writable] Warning: Connector .ThermoSysPro.ElectroMechanics.Connectors.MechanichalTorque is not balanced: The number of potential variables (2) is not equal to the number of flow variables (0). // [ThermoSysPro 3.1/WaterSteam/Connectors.mo:3:3-45:17:writable] Warning: Connector .ThermoSysPro.WaterSteam.Connectors.FluidInlet is not balanced: The number of potential variables (4) is not equal to the number of flow variables (0). // " -// {"Files Equal!"} +// 0 +// +// "" +// Files equal! +// // endResult diff --git a/simulation/modelica/commonSubExp/cse1.mos b/simulation/modelica/commonSubExp/cse1.mos index b3e81d758ce..fc13cb497e9 100644 --- a/simulation/modelica/commonSubExp/cse1.mos +++ b/simulation/modelica/commonSubExp/cse1.mos @@ -38,7 +38,13 @@ simulate(Tearing15); getErrorString(); // true // "" // -// ########### Updated Variable List (jacobian) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (6) // ======================================== // 1: v7.$pDERNLSJac0.dummyVarNLSJac0:VARIABLE() type: Real // 2: v2.$pDERNLSJac0.dummyVarNLSJac0:VARIABLE() type: Real @@ -48,21 +54,39 @@ simulate(Tearing15); getErrorString(); // 6: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (6, 6) +// ########### Updated Equation List (jacobian) (6, 6) // ======================================== // 1/1 (1): $res.2.$pDERNLSJac0.dummyVarNLSJac0 = 2.0 * (v1 * $cse1 * v1SeedNLSJac0 + v1SeedNLSJac0 * $cse2) + v2.$pDERNLSJac0.dummyVarNLSJac0 + v7.$pDERNLSJac0.dummyVarNLSJac0 - v3SeedNLSJac0 [dynamic] // 2/2 (1): $res.1.$pDERNLSJac0.dummyVarNLSJac0 = 3.0 * (v1 * $cse1 * v1SeedNLSJac0 + v1SeedNLSJac0 * $cse2) + -7.0 * v2.$pDERNLSJac0.dummyVarNLSJac0 + -2.0 * v3SeedNLSJac0 + 3.0 * source * v7.$pDERNLSJac0.dummyVarNLSJac0 [dynamic] // 3/3 (1): v1 * $cse1 * v1SeedNLSJac0 + v1SeedNLSJac0 * $cse2 + v2.$pDERNLSJac0.dummyVarNLSJac0 + (-v3SeedNLSJac0) * source - v7.$pDERNLSJac0.dummyVarNLSJac0 = 0.0 [dynamic] // 4/4 (1): v1 * $cse1 * v1SeedNLSJac0 + v1SeedNLSJac0 * $cse2 + v2.$pDERNLSJac0.dummyVarNLSJac0 = 0.0 [dynamic] -// 5/5 (1): $cse1 = cos(v1) [unknown] -// 6/6 (1): $cse2 = sin(v1) [unknown] +// 5/5 (1): $cse2 = sin(v1) [unknown] +// 6/6 (1): $cse1 = cos(v1) [unknown] // -// cse replacements (2/46) +// +// ########### Updated globalKnownVars (jacobian) (7) +// ======================================== +// 1: input v1SeedNLSJac0:STATE_DER() type: Real +// 2: input v3SeedNLSJac0:STATE_DER() type: Real +// 3: input source:VARIABLE() type: Real +// 4: input $res[1]:VARIABLE() type: Real +// 5: input $res[2]:VARIABLE() type: Real +// 6: input v2:VARIABLE(start = 1.0 ) type: Real +// 7: input v7:VARIABLE(start = 3.0 ) type: Real +// +// +// ########### CSE Replacements (2/46) // ======================================== // 1: $cse1 - cos(v1) - {} // 2: $cse2 - sin(v1) - {} // -// ########### Updated Variable List (jacobian) ########### (4) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (4) // ======================================== // 1: v5.$pDERNLSJac1.dummyVarNLSJac1:VARIABLE() type: Real // 2: $res.1.$pDERNLSJac1.dummyVarNLSJac1:STATE_DER() type: Real unreplaceable @@ -70,19 +94,35 @@ simulate(Tearing15); getErrorString(); // 4: $cse3:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (4, 4) +// ########### Updated Equation List (jacobian) (4, 4) // ======================================== // 1/1 (1): $res.1.$pDERNLSJac1.dummyVarNLSJac1 = v5.$pDERNLSJac1.dummyVarNLSJac1 + v6 * $cse3 * v6SeedNLSJac1 * source + v6SeedNLSJac1 * $cse4 * source [dynamic] // 2/2 (1): 3.0 * v5.$pDERNLSJac1.dummyVarNLSJac1 + (-v6) * $cse3 * v6SeedNLSJac1 - v6SeedNLSJac1 * $cse4 = 0.0 [dynamic] -// 3/3 (1): $cse3 = cos(v6) [unknown] -// 4/4 (1): $cse4 = sin(v6) [unknown] +// 3/3 (1): $cse4 = sin(v6) [unknown] +// 4/4 (1): $cse3 = cos(v6) [unknown] +// +// +// ########### Updated globalKnownVars (jacobian) (5) +// ======================================== +// 1: input v6SeedNLSJac1:STATE_DER() type: Real +// 2: input v3:VARIABLE(start = 1.0 ) type: Real +// 3: input source:VARIABLE() type: Real +// 4: input $res[1]:VARIABLE() type: Real +// 5: input v5:VARIABLE(start = 1.0 ) type: Real +// // -// cse replacements (2/44) +// ########### CSE Replacements (2/44) // ======================================== // 1: $cse3 - cos(v6) - {} // 2: $cse4 - sin(v6) - {} // -// ########### Updated Variable List (simulation) ########### (10) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (10) // ======================================== // 1: v7:VARIABLE(start = 3.0 ) type: Real // 2: v6:VARIABLE(start = 50.0 ) type: Real @@ -96,7 +136,7 @@ simulate(Tearing15); getErrorString(); // 10: $cse5:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (10, 10) +// ########### Updated Equation List (simulation) (10, 10) // ======================================== // 1/1 (1): -4.0 + v1 * $cse5 + v2 + source = 0.0 [dynamic] // 2/2 (1): 2.0 * v1 * $cse5 + v2 + v7 + (-source) - v3 = 0.0 [dynamic] @@ -105,11 +145,16 @@ simulate(Tearing15); getErrorString(); // 5/5 (1): 2.0 + 3.0 * v2 + -0.5 * source * v7 + (-v5) - v4 = 0.0 [dynamic] // 6/6 (1): v5 + v6 * $cse6 * source + v3 = 0.0 [dynamic] // 7/7 (1): 3.0 * v5 + (-v6) * $cse6 - source = 0.0 [dynamic] -// 8/8 (1): source = sin(time) [unknown] +// 8/8 (1): $cse6 = sin(v6) [unknown] // 9/9 (1): $cse5 = sin(v1) [unknown] -// 10/10 (1): $cse6 = sin(v6) [unknown] +// 10/10 (1): source = sin(time) [unknown] +// // -// cse replacements (3/50) +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (3/50) // ======================================== // 1: source - sin(time) - {} // 2: $cse5 - sin(v1) - {} @@ -140,31 +185,52 @@ simulate(Tearing15); getErrorString(); // 5/5 (1): 2.0 + 3.0 * v2 + -0.5 * $cseb17 + (-v5) - v4 = 0.0 [dynamic] // 6/6 (1): v5 + v6 * $cse6 * source + v3 = 0.0 [dynamic] // 7/7 (1): 3.0 * v5 + (-v6) * $cse6 - source = 0.0 [dynamic] -// 8/8 (1): source = sin(time) [unknown] +// 8/8 (1): $cse6 = sin(v6) [unknown] // 9/9 (1): $cse5 = sin(v1) [unknown] -// 10/10 (1): $cse6 = sin(v6) [unknown] +// 10/10 (1): source = sin(time) [unknown] // 11/11 (1): $cseb17 = source * v7 [binding] // 12/12 (1): $cseb3 = v1 * $cse5 [binding] // // -// ########### Updated Variable List (jacobian) ########### (3) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (3) // ======================================== // 1: $cse5.$pDERNLSJac3.dummyVarNLSJac3:VARIABLE() type: Real // 2: $res.1.$pDERNLSJac3.dummyVarNLSJac3:STATE_DER() type: Real unreplaceable // 3: $cse7:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (3, 3) +// ########### Updated Equation List (jacobian) (3, 3) // ======================================== // 1/1 (1): $res.1.$pDERNLSJac3.dummyVarNLSJac3 = v1 * $cse5.$pDERNLSJac3.dummyVarNLSJac3 + v1SeedNLSJac3 * $cse5 [binding] // 2/2 (1): $cse5.$pDERNLSJac3.dummyVarNLSJac3 = $cse7 * v1SeedNLSJac3 [unknown] // 3/3 (1): $cse7 = cos(v1) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (jacobian) (4) +// ======================================== +// 1: input v1SeedNLSJac3:STATE_DER() type: Real +// 2: input $cseb3:VARIABLE() type: Real unreplaceable +// 3: input $res[1]:VARIABLE() type: Real +// 4: input $cse5:VARIABLE() type: Real unreplaceable +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: $cse7 - cos(v1) - {} // -// ########### Updated Variable List (jacobian) ########### (4) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (4) // ======================================== // 1: v5.$pDERNLSJac4.dummyVarNLSJac4:VARIABLE() type: Real // 2: $cse6.$pDERNLSJac4.dummyVarNLSJac4:VARIABLE() type: Real @@ -172,14 +238,25 @@ simulate(Tearing15); getErrorString(); // 4: $cse8:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (4, 4) +// ########### Updated Equation List (jacobian) (4, 4) // ======================================== // 1/1 (1): $res.1.$pDERNLSJac4.dummyVarNLSJac4 = 3.0 * v5.$pDERNLSJac4.dummyVarNLSJac4 + (-v6) * $cse6.$pDERNLSJac4.dummyVarNLSJac4 - v6SeedNLSJac4 * $cse6 [dynamic] // 2/2 (1): v5.$pDERNLSJac4.dummyVarNLSJac4 + v6 * $cse6.$pDERNLSJac4.dummyVarNLSJac4 * source + v6SeedNLSJac4 * $cse6 * source = 0.0 [dynamic] // 3/3 (1): $cse6.$pDERNLSJac4.dummyVarNLSJac4 = $cse8 * v6SeedNLSJac4 [unknown] // 4/4 (1): $cse8 = cos(v6) [unknown] // -// cse replacements (1/45) +// +// ########### Updated globalKnownVars (jacobian) (6) +// ======================================== +// 1: input v6SeedNLSJac4:STATE_DER() type: Real +// 2: input v3:VARIABLE(start = 1.0 ) type: Real +// 3: input source:VARIABLE() type: Real +// 4: input $res[1]:VARIABLE() type: Real +// 5: input $cse6:VARIABLE() type: Real unreplaceable +// 6: input v5:VARIABLE(start = 1.0 ) type: Real +// +// +// ########### CSE Replacements (1/45) // ======================================== // 1: $cse8 - cos(v6) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/cse2.mos b/simulation/modelica/commonSubExp/cse2.mos index d253aeb4c33..5fe78db492d 100644 --- a/simulation/modelica/commonSubExp/cse2.mos +++ b/simulation/modelica/commonSubExp/cse2.mos @@ -44,7 +44,13 @@ simulate(Tearing3); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (15) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (15) // ======================================== // 1: iC:VARIABLE() type: Real // 2: iL:DUMMY_STATE() type: Real @@ -63,7 +69,7 @@ simulate(Tearing3); getErrorString(); // 15: $DER.uL:DUMMY_DER(fixed = false ) type: Real // // -// ########### Updated Equation List (simulation) ########### (15, 15) +// ########### Updated Equation List (simulation) (15, 15) // ======================================== // 1/1 (1): $DER.i1 = der(i2) + $DER.iL [dynamic] // 2/2 (1): i0 = i1 + iC [dynamic] @@ -78,10 +84,19 @@ simulate(Tearing3); getErrorString(); // 11/11 (1): u0 = u1 + uL [dynamic] // 12/12 (1): uC = u1 + uL [dynamic] // 13/13 (1): i1 = i2 + iL [dynamic] -// 14/14 (1): $DER.u0 = cos(time) [unknown] -// 15/15 (1): u0 = sin(time) [unknown] +// 14/14 (1): u0 = sin(time) [unknown] +// 15/15 (1): $DER.u0 = cos(time) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (4) +// ======================================== +// 1: R1:PARAM() = 1.0 type: Real +// 2: R2:PARAM() = 2.0 type: Real +// 3: L:PARAM() = 0.5 type: Real +// 4: C:PARAM() = 3.0 type: Real +// // -// cse replacements (2/57) +// ########### CSE Replacements (2/57) // ======================================== // 1: $DER.u0 - cos(time) - {} // 2: u0 - sin(time) - {} @@ -122,8 +137,8 @@ simulate(Tearing3); getErrorString(); // 11/11 (1): u0 = $cseb10 [dynamic] // 12/12 (1): uC = $cseb10 [dynamic] // 13/13 (1): i1 = i2 + iL [dynamic] -// 14/14 (1): $DER.u0 = cos(time) [unknown] -// 15/15 (1): u0 = sin(time) [unknown] +// 14/14 (1): u0 = sin(time) [unknown] +// 15/15 (1): $DER.u0 = cos(time) [unknown] // 16/16 (1): $cseb10 = u1 + uL [binding] // 17/17 (1): $cseb3 = $DER.u1 + $DER.uL [binding] // diff --git a/simulation/modelica/commonSubExp/cse2_comSubExp.mos b/simulation/modelica/commonSubExp/cse2_comSubExp.mos index ee8d809b99b..90d76c69b91 100644 --- a/simulation/modelica/commonSubExp/cse2_comSubExp.mos +++ b/simulation/modelica/commonSubExp/cse2_comSubExp.mos @@ -49,7 +49,13 @@ simulate(Tearing3); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (11) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (11) // ======================================== // 1: iC:VARIABLE() type: Real // 2: iL:STATE(1)() type: Real @@ -64,7 +70,7 @@ simulate(Tearing3); getErrorString(); // 11: $DER.u0:DUMMY_DER(fixed = false ) type: Real // // -// ########### Updated Equation List (simulation) ########### (11, 11) +// ########### Updated Equation List (simulation) (11, 11) // ======================================== // 1/1 (1): i1 = i2 + iL [dynamic] // 2/2 (1): i0 = i1 + iC [dynamic] @@ -75,10 +81,19 @@ simulate(Tearing3); getErrorString(); // 7/7 (1): uL = R2 * i2 [dynamic] // 8/8 (1): u1 = R1 * i1 [dynamic] // 9/9 (1): uC = u0 [dynamic] -// 10/10 (1): $DER.u0 = cos(time) [unknown] -// 11/11 (1): u0 = sin(time) [unknown] +// 10/10 (1): u0 = sin(time) [unknown] +// 11/11 (1): $DER.u0 = cos(time) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (4) +// ======================================== +// 1: R1:PARAM() = 1.0 type: Real +// 2: R2:PARAM() = 2.0 type: Real +// 3: L:PARAM() = 0.5 type: Real +// 4: C:PARAM() = 3.0 type: Real +// // -// cse replacements (2/53) +// ########### CSE Replacements (2/53) // ======================================== // 1: $DER.u0 - cos(time) - {} // 2: u0 - sin(time) - {} @@ -109,8 +124,8 @@ simulate(Tearing3); getErrorString(); // 7/7 (1): uL = R2 * i2 [dynamic] // 8/8 (1): u1 = R1 * i1 [dynamic] // 9/9 (1): uC = u0 [dynamic] -// 10/10 (1): $DER.u0 = cos(time) [unknown] -// 11/11 (1): u0 = sin(time) [unknown] +// 10/10 (1): u0 = sin(time) [unknown] +// 11/11 (1): $DER.u0 = cos(time) [unknown] // // record SimulationResult // resultFile = "Tearing3_res.mat", diff --git a/simulation/modelica/commonSubExp/cse3.mos b/simulation/modelica/commonSubExp/cse3.mos index de611dd2045..9064f19a6be 100644 --- a/simulation/modelica/commonSubExp/cse3.mos +++ b/simulation/modelica/commonSubExp/cse3.mos @@ -91,7 +91,13 @@ simulate(testCSE); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (9) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (9) // ======================================== // 1: w:VARIABLE() type: Real // 2: z:VARIABLE(start = 0.0 ) type: Real @@ -104,19 +110,25 @@ simulate(testCSE); getErrorString(); // 9: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (9, 9) +// ########### Updated Equation List (simulation) (9, 9) // ======================================== // 1/1 (1): $cse1 * y + 1.1 * $cse2 * $cse3 = 2.0 [dynamic] // 2/2 (1): $cse4 * $cse5 + 1.1 * $cse4 * z = 1.0 [dynamic] // 3/3 (1): der(x) = y * z [dynamic] -// 4/4 (1): w = testCSE.f3(x, n) [unknown] -// 5/5 (1): $cse1 = testCSE.f1(x, n) [unknown] -// 6/6 (1): $cse2 = testCSE.f2(x, n) [unknown] -// 7/7 (1): $cse3 = sinh(z) [unknown] -// 8/8 (1): $cse4 = testCSE.f4(x, n) [unknown] -// 9/9 (1): $cse5 = sinh(y) [unknown] -// -// cse replacements (6/46) +// 4/4 (1): $cse5 = sinh(y) [unknown] +// 5/5 (1): $cse4 = testCSE.f4(x, n) [unknown] +// 6/6 (1): $cse3 = sinh(z) [unknown] +// 7/7 (1): $cse2 = testCSE.f2(x, n) [unknown] +// 8/8 (1): $cse1 = testCSE.f1(x, n) [unknown] +// 9/9 (1): w = testCSE.f3(x, n) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: n:PARAM() = 100000 type: Integer +// +// +// ########### CSE Replacements (6/46) // ======================================== // 1: w - testCSE.f3(x, n) - {} // 2: $cse1 - testCSE.f1(x, n) - {} @@ -125,7 +137,13 @@ simulate(testCSE); getErrorString(); // 5: $cse4 - testCSE.f4(x, n) - {} // 6: $cse5 - sinh(y) - {} // -// ########### Updated Variable List (jacobian) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (6) // ======================================== // 1: $cse5.$pDERNLSJac1.dummyVarNLSJac1:VARIABLE() type: Real // 2: $cse3.$pDERNLSJac1.dummyVarNLSJac1:VARIABLE() type: Real @@ -135,16 +153,30 @@ simulate(testCSE); getErrorString(); // 6: $cse6:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (6, 6) +// ########### Updated Equation List (jacobian) (6, 6) // ======================================== // 1/1 (1): $res.2.$pDERNLSJac1.dummyVarNLSJac1 = 1.1 * $cse2 * $cse3.$pDERNLSJac1.dummyVarNLSJac1 + $cse1 * ySeedNLSJac1 [dynamic] // 2/2 (1): $res.1.$pDERNLSJac1.dummyVarNLSJac1 = (-$cse4) * (1.1 * zSeedNLSJac1 + $cse5.$pDERNLSJac1.dummyVarNLSJac1) [dynamic] // 3/3 (1): $cse5.$pDERNLSJac1.dummyVarNLSJac1 = ySeedNLSJac1 * $cse6 [unknown] // 4/4 (1): $cse3.$pDERNLSJac1.dummyVarNLSJac1 = zSeedNLSJac1 * $cse7 [unknown] -// 5/5 (1): $cse6 = cosh(y) [unknown] -// 6/6 (1): $cse7 = cosh(z) [unknown] +// 5/5 (1): $cse7 = cosh(z) [unknown] +// 6/6 (1): $cse6 = cosh(y) [unknown] +// +// +// ########### Updated globalKnownVars (jacobian) (9) +// ======================================== +// 1: input ySeedNLSJac1:STATE_DER() type: Real +// 2: input zSeedNLSJac1:STATE_DER() type: Real +// 3: input $cse4:VARIABLE() type: Real unreplaceable +// 4: input $cse2:VARIABLE() type: Real unreplaceable +// 5: input $cse1:VARIABLE() type: Real unreplaceable +// 6: input $res[1]:VARIABLE() type: Real +// 7: input $res[2]:VARIABLE() type: Real +// 8: input $cse3:VARIABLE() type: Real unreplaceable +// 9: input $cse5:VARIABLE() type: Real unreplaceable +// // -// cse replacements (2/46) +// ########### CSE Replacements (2/46) // ======================================== // 1: $cse6 - cosh(y) - {} // 2: $cse7 - cosh(z) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall1.mos b/simulation/modelica/commonSubExp/cseFunctionCall1.mos index 2d0a5f67bc6..fe333a53e6e 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall1.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall1.mos @@ -44,7 +44,13 @@ simulate(CSE.FunctionCallTest1); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (5) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (5) // ======================================== // 1: z:STATE(1)() type: Real // 2: y:STATE(1)() type: Real @@ -53,15 +59,20 @@ simulate(CSE.FunctionCallTest1); getErrorString(); // 5: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (5, 5) +// ########### Updated Equation List (simulation) (5, 5) // ======================================== // 1/1 (1): der(y) = $cse2 [dynamic] // 2/2 (1): der(z) = $cse2 [dynamic] -// 3/3 (1): x = sin(time * $cse1) [unknown] +// 3/3 (1): $cse2 = CSE.functions.f1(time, x) [unknown] // 4/4 (1): $cse1 = cos(time) [unknown] -// 5/5 (1): $cse2 = CSE.functions.f1(time, x) [unknown] +// 5/5 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (3/45) +// ########### CSE Replacements (3/45) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall2.mos b/simulation/modelica/commonSubExp/cseFunctionCall2.mos index 7494f6f5d44..4833482d4e2 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall2.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall2.mos @@ -46,7 +46,13 @@ simulate(CSE.FunctionCallTest2); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) // ======================================== // 1: d:VARIABLE() type: Real // 2: c:VARIABLE() type: Real @@ -56,14 +62,19 @@ simulate(CSE.FunctionCallTest2); getErrorString(); // 6: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (4, 6) +// ########### Updated Equation List (simulation) (4, 6) // ======================================== // 1/1 (2): (c, d) = (a, b) [dynamic] -// 2/3 (1): x = sin(time * $cse1) [unknown] -// 3/4 (1): $cse1 = cos(time) [unknown] -// 4/5 (2): (a, b) = CSE.functions.f2(time, x) [unknown] +// 2/3 (2): (a, b) = CSE.functions.f2(time, x) [unknown] +// 3/5 (1): $cse1 = cos(time) [unknown] +// 4/6 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (3/47) +// ########### CSE Replacements (3/47) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall3.mos b/simulation/modelica/commonSubExp/cseFunctionCall3.mos index 3ada9773c03..9afbde53c75 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall3.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall3.mos @@ -49,7 +49,13 @@ simulate(CSE.FunctionCallTest3); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (8) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (8) // ======================================== // 1: d:VARIABLE() type: Real // 2: c:VARIABLE() type: Real @@ -61,16 +67,21 @@ simulate(CSE.FunctionCallTest3); getErrorString(); // 8: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (6, 8) +// ########### Updated Equation List (simulation) (6, 8) // ======================================== // 1/1 (1): der(y) = 2.0 + a [dynamic] // 2/2 (1): der(z) = 2.0 + a [dynamic] // 3/3 (2): (c, d) = (a, b) [dynamic] -// 4/5 (1): x = sin(time * $cse1) [unknown] -// 5/6 (1): $cse1 = cos(time) [unknown] -// 6/7 (2): (a, b) = CSE.functions.f2(time, x) [unknown] +// 4/5 (2): (a, b) = CSE.functions.f2(time, x) [unknown] +// 5/7 (1): $cse1 = cos(time) [unknown] +// 6/8 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (3/49) +// ########### CSE Replacements (3/49) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall4.mos b/simulation/modelica/commonSubExp/cseFunctionCall4.mos index 93a755ec559..bf5d97b4d9d 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall4.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall4.mos @@ -51,7 +51,13 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) // ======================================== // 1: z.r2:DISCRETE() type: Integer // 2: z.r1:VARIABLE() type: Real @@ -61,14 +67,19 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // 6: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (4, 6) +// ########### Updated Equation List (simulation) (4, 6) // ======================================== // 1/1 (2): y = z [dynamic] -// 2/3 (1): x = sin(time * $cse1) [unknown] -// 3/4 (1): $cse1 = cos(time) [unknown] -// 4/5 (2): z = CSE.functions.f3(time, x) [unknown] +// 2/3 (2): z = CSE.functions.f3(time, x) [unknown] +// 3/5 (1): $cse1 = cos(time) [unknown] +// 4/6 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (3/47) +// ########### CSE Replacements (3/47) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall4b.mos b/simulation/modelica/commonSubExp/cseFunctionCall4b.mos index 81bebe9e5ac..625941c06ef 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall4b.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall4b.mos @@ -39,7 +39,13 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (4) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (4) // ======================================== // 1: y.r1[3]:VARIABLE() type: Real [3] // 2: y.r1[2]:VARIABLE() type: Real [3] @@ -47,12 +53,17 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // 4: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 4) +// ########### Updated Equation List (simulation) (2, 4) // ======================================== -// 1/1 (3): y = CSE.f3(time, $cse1) [unknown] -// 2/4 (1): $cse1 = sin(time) [unknown] +// 1/1 (1): $cse1 = sin(time) [unknown] +// 2/2 (3): y = CSE.f3(time, $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (2/45) +// ########### CSE Replacements (2/45) // ======================================== // 1: y - CSE.f3(time, $cse1) - {} // 2: $cse1 - sin(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall4c.mos b/simulation/modelica/commonSubExp/cseFunctionCall4c.mos index 371a7c7adc4..b567d820eae 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall4c.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall4c.mos @@ -41,7 +41,13 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (7) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (7) // ======================================== // 1: y.r1[3]:VARIABLE() type: Real [3] // 2: y.r1[2]:VARIABLE() type: Real [3] @@ -52,13 +58,18 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // 7: $cse1.r1[3]:VARIABLE() type: Real [3] unreplaceable // // -// ########### Updated Equation List (simulation) ########### (3, 7) +// ########### Updated Equation List (simulation) (3, 7) // ======================================== // 1/1 (3): CSE.R({y.r1[1], y.r1[2], y.r1[3]}) = $cse1 [dynamic] -// 2/4 (3): $cse1 = CSE.f3(time, $cse2) [unknown] -// 3/7 (1): $cse2 = sin(time) [unknown] +// 2/4 (1): $cse2 = sin(time) [unknown] +// 3/5 (3): $cse1 = CSE.f3(time, $cse2) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (2/45) +// ########### CSE Replacements (2/45) // ======================================== // 1: $cse1 - CSE.f3(time, $cse2) - {} // 2: $cse2 - sin(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall4d.mos b/simulation/modelica/commonSubExp/cseFunctionCall4d.mos index f834a43619e..dda0981c2b6 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall4d.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall4d.mos @@ -42,18 +42,29 @@ simulate(CSE.FunctionCallTest4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: y:VARIABLE() type: Real // 2: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 2) +// ########### Updated Equation List (simulation) (2, 2) // ======================================== -// 1/1 (1): y = CSE.f4(time, $cse1) [unknown] -// 2/2 (1): $cse1 = CSE.f3(time) [unknown] +// 1/1 (1): $cse1 = CSE.f3(time) [unknown] +// 2/2 (1): y = CSE.f4(time, $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (2/43) +// ########### CSE Replacements (2/43) // ======================================== // 1: y - CSE.f4(time, $cse1) - {} // 2: $cse1 - CSE.f3(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall5.mos b/simulation/modelica/commonSubExp/cseFunctionCall5.mos index 179a4817c12..d5377988d7f 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall5.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall5.mos @@ -66,7 +66,13 @@ simulate(CSE.FunctionCallTest5); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (10) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (10) // ======================================== // 1: b:VARIABLE() type: Real // 2: a:VARIABLE() type: Real @@ -80,15 +86,20 @@ simulate(CSE.FunctionCallTest5); getErrorString(); // 10: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (5, 10) +// ########### Updated Equation List (simulation) (5, 10) // ======================================== // 1/1 (3): (z, b) = (y, a) [dynamic] -// 2/4 (1): x = sin(time * $cse1) [unknown] -// 3/5 (1): $cse1 = cos(time) [unknown] -// 4/6 (3): (y, a) = CSE.functions.f4(time, x, $cse2) [unknown] -// 5/9 (2): $cse2 = CSE.functions.f3(time, x) [unknown] +// 2/4 (2): $cse2 = CSE.functions.f3(time, x) [unknown] +// 3/6 (3): (y, a) = CSE.functions.f4(time, x, $cse2) [unknown] +// 4/9 (1): $cse1 = cos(time) [unknown] +// 5/10 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (4/49) +// ########### CSE Replacements (4/49) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall6.mos b/simulation/modelica/commonSubExp/cseFunctionCall6.mos index 6e5b467532f..adeaadd2605 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall6.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall6.mos @@ -69,7 +69,13 @@ simulate(CSE.FunctionCallTest6); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (10) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (10) // ======================================== // 1: b[2]:VARIABLE() type: Real [2] // 2: b[1]:VARIABLE() type: Real [2] @@ -83,15 +89,20 @@ simulate(CSE.FunctionCallTest6); getErrorString(); // 10: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (5, 10) +// ########### Updated Equation List (simulation) (5, 10) // ======================================== // 1/1 (3): (z, b) = (y, a) [dynamic] -// 2/4 (1): x = sin(time * $cse1) [unknown] -// 3/5 (1): $cse1 = cos(time) [unknown] -// 4/6 (3): (y, a) = CSE.functions.f5(time, x, $cse2) [unknown] -// 5/9 (2): $cse2 = CSE.functions.f3(time, x) [unknown] +// 2/4 (2): $cse2 = CSE.functions.f3(time, x) [unknown] +// 3/6 (3): (y, a) = CSE.functions.f5(time, x, $cse2) [unknown] +// 4/9 (1): $cse1 = cos(time) [unknown] +// 5/10 (1): x = sin(time * $cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (4/49) +// ########### CSE Replacements (4/49) // ======================================== // 1: x - sin(time * $cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall7.mos b/simulation/modelica/commonSubExp/cseFunctionCall7.mos index 8c3daa5d8f6..eeba3e4b76d 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall7.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall7.mos @@ -69,7 +69,13 @@ simulate(CSE.FunctionCallTest7); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (12) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (12) // ======================================== // 1: r.r1:VARIABLE() type: Real // 2: b[2]:VARIABLE() type: Real [2] @@ -85,17 +91,23 @@ simulate(CSE.FunctionCallTest7); getErrorString(); // 12: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (7, 12) +// ########### Updated Equation List (simulation) (7, 12) // ======================================== // 1/1 (1): x = $cse1 * r.r1 [dynamic] // 2/2 (3): (z, b) = (y, a) [dynamic] -// 3/5 (1): $cse1 = sin(time * $cse2) [unknown] -// 4/6 (1): $cse2 = cos(time) [unknown] -// 5/7 (3): (y, a) = CSE.functions.f5(time, x, $cse3) [unknown] -// 6/10 (2): $cse3 = CSE.functions.f6(time, x) [unknown] -// 7/12 (1): r.r1 = CSE.functions.f6_eval4(time, time) [unknown] +// 3/5 (1): r.r1 = CSE.functions.f6_eval4(time, time) [unknown] +// 4/6 (2): $cse3 = CSE.functions.f6(time, x) [unknown] +// 5/8 (3): (y, a) = CSE.functions.f5(time, x, $cse3) [unknown] +// 6/11 (1): $cse2 = cos(time) [unknown] +// 7/12 (1): $cse1 = sin(time * $cse2) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: r.r2:DISCRETE() = 65 type: Integer +// // -// cse replacements (5/50) +// ########### CSE Replacements (5/50) // ======================================== // 1: $cse1 - sin(time * $cse2) - {} // 2: $cse2 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/cseFunctionCall8.mos b/simulation/modelica/commonSubExp/cseFunctionCall8.mos index b519c04114e..188f4751bb4 100644 --- a/simulation/modelica/commonSubExp/cseFunctionCall8.mos +++ b/simulation/modelica/commonSubExp/cseFunctionCall8.mos @@ -68,7 +68,13 @@ simulate(CSE.FunctionCallTest8); getErrorString(); // true // "" // -// ########### Updated Variable List (jacobian) ########### (5) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (5) // ======================================== // 1: i.$pDERLSJac0.dummyVarLSJac0:VARIABLE() type: Real // 2: $DER.u2.$pDERLSJac0.dummyVarLSJac0:VARIABLE() type: Real @@ -77,20 +83,37 @@ simulate(CSE.FunctionCallTest8); getErrorString(); // 5: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (jacobian) ########### (5, 5) +// ########### Updated Equation List (jacobian) (5, 5) // ======================================== // 1/1 (1): $res.1.$pDERLSJac0.dummyVarLSJac0 = C * $DER.u2.$pDERLSJac0.dummyVarLSJac0 - i.$pDERLSJac0.dummyVarLSJac0 [dynamic] // 2/2 (1): i.$pDERLSJac0.dummyVarLSJac0 = C * $DER_u1SeedLSJac0 [dynamic] // 3/3 (1): 0.0 = $cse1 * $DER_u1SeedLSJac0 + $DER.u2.$pDERLSJac0.dummyVarLSJac0 [dynamic] -// 4/4 (1): $cse1 = CSE.FunctionCallTest8.f(time, $cse2) [unknown] -// 5/5 (1): $cse2 = CSE.FunctionCallTest8.g(time ^ 2.0) [unknown] +// 4/4 (1): $cse2 = CSE.FunctionCallTest8.g(time ^ 2.0) [unknown] +// 5/5 (1): $cse1 = CSE.FunctionCallTest8.f(time, $cse2) [unknown] +// +// +// ########### Updated globalKnownVars (jacobian) (6) +// ======================================== +// 1: input $DER_u1SeedLSJac0:STATE_DER() type: Real +// 2: input u1:VARIABLE() type: Real +// 3: input C:PARAM() = 1.0 type: Real +// 4: input $res[1]:VARIABLE() type: Real +// 5: input $DER.u2:DUMMY_DER(fixed = false ) type: Real +// 6: input i:VARIABLE() type: Real +// // -// cse replacements (2/45) +// ########### CSE Replacements (2/45) // ======================================== // 1: $cse1 - CSE.FunctionCallTest8.f(time, $cse2) - {} // 2: $cse2 - CSE.FunctionCallTest8.g(time ^ 2.0) - {} // -// ########### Updated Variable List (simulation) ########### (7) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (7) // ======================================== // 1: i:VARIABLE() type: Real // 2: u2:DUMMY_STATE() type: Real @@ -101,17 +124,24 @@ simulate(CSE.FunctionCallTest8); getErrorString(); // 7: $cse3:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (7, 7) +// ########### Updated Equation List (simulation) (7, 7) // ======================================== // 1/1 (1): 0.0 = $cse3 * der(u1) + $cse5 * u1 + $DER.u2 [dynamic] // 2/2 (1): i = C * $DER.u2 [dynamic] // 3/3 (1): i = C * der(u1) [dynamic] // 4/4 (1): 10.0 = $cse3 * u1 + u2 [dynamic] -// 5/5 (1): $cse3 = CSE.FunctionCallTest8.f(time, $cse4) [unknown] +// 5/5 (1): $cse5 = CSE.FunctionCallTest8.f_der(time, $cse4, 1.0) [unknown] // 6/6 (1): $cse4 = CSE.FunctionCallTest8.g(time ^ 2.0) [unknown] -// 7/7 (1): $cse5 = CSE.FunctionCallTest8.f_der(time, $cse4, 1.0) [unknown] +// 7/7 (1): $cse3 = CSE.FunctionCallTest8.f(time, $cse4) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (2) +// ======================================== +// 1: u:VARIABLE() = 10.0 type: Real +// 2: C:PARAM() = 1.0 type: Real +// // -// cse replacements (3/46) +// ########### CSE Replacements (3/46) // ======================================== // 1: $cse3 - CSE.FunctionCallTest8.f(time, $cse4) - {} // 2: $cse4 - CSE.FunctionCallTest8.g(time ^ 2.0) - {} diff --git a/simulation/modelica/commonSubExp/cseTestCall1.mos b/simulation/modelica/commonSubExp/cseTestCall1.mos index 3d53fa788c2..13a678714fa 100644 --- a/simulation/modelica/commonSubExp/cseTestCall1.mos +++ b/simulation/modelica/commonSubExp/cseTestCall1.mos @@ -42,21 +42,39 @@ simulate(CSE.TestCall1); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: y:VARIABLE() type: Real // 2: x:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (1, 2) +// ########### Updated Equation List (simulation) (1, 2) // ======================================== // 1/1 (2): (x, y) = CSE.TestCall1.f(time) [unknown] // -// cse replacements (1/46) +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: B:VARIABLE() = 4.0 type: Real +// +// +// ########### CSE Replacements (1/46) // ======================================== // 1: (x, y) - CSE.TestCall1.f(time) - {} // -// ########### Updated Variable List (simulation) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) // ======================================== // 1: E:VARIABLE() type: Real // 2: D:VARIABLE() type: Real @@ -66,16 +84,22 @@ simulate(CSE.TestCall1); getErrorString(); // 6: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (6, 6) +// ########### Updated Equation List (simulation) (6, 6) // ======================================== // 1/1 (1): E = A + $cse1 [dynamic] // 2/2 (1): A = 4.0 * C [dynamic] // 3/3 (1): C = 1.0 + time [binding] -// 4/4 (1): $cse1 = log($cse2) [unknown] +// 4/4 (1): D = log(A) [unknown] // 5/5 (1): $cse2 = log(D) [unknown] -// 6/6 (1): D = log(A) [unknown] +// 6/6 (1): $cse1 = log($cse2) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: B:VARIABLE() = 4.0 type: Real +// // -// cse replacements (3/46) +// ########### CSE Replacements (3/46) // ======================================== // 1: $cse1 - log($cse2) - {} // 2: $cse2 - log(D) - {} diff --git a/simulation/modelica/commonSubExp/cseTestCall2.mos b/simulation/modelica/commonSubExp/cseTestCall2.mos index 19b1c4f8a0c..006cefd6bc0 100644 --- a/simulation/modelica/commonSubExp/cseTestCall2.mos +++ b/simulation/modelica/commonSubExp/cseTestCall2.mos @@ -36,17 +36,28 @@ simulate(CSE.TestCall2); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: f.y:VARIABLE() type: Real // 2: f.x:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (1, 2) +// ########### Updated Equation List (simulation) (1, 2) // ======================================== // 1/1 (2): (f.x, f.y) = CSE.TestCall2.func(time) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: (f.x, f.y) - CSE.TestCall2.func(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/cseTestCall3.mos b/simulation/modelica/commonSubExp/cseTestCall3.mos index 95c4dc3fd4f..ddf7f513176 100644 --- a/simulation/modelica/commonSubExp/cseTestCall3.mos +++ b/simulation/modelica/commonSubExp/cseTestCall3.mos @@ -38,18 +38,29 @@ simulate(CSE.TestCall3); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: b:VARIABLE() type: Real // 2: a.x:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (2, 2) +// ########### Updated Equation List (simulation) (2, 2) // ======================================== // 1/1 (1): a.x = 5.0 + time [dynamic] // 2/2 (1): b = CSE.TestCall3.f(a) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: b - CSE.TestCall3.f(a) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/cseTestCall4.mos b/simulation/modelica/commonSubExp/cseTestCall4.mos index b2ee93d2898..2bf1fc62741 100644 --- a/simulation/modelica/commonSubExp/cseTestCall4.mos +++ b/simulation/modelica/commonSubExp/cseTestCall4.mos @@ -26,33 +26,57 @@ simulate(CSE.TestCall4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: y:VARIABLE() type: Real // 2: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 2) +// ########### Updated Equation List (simulation) (2, 2) // ======================================== // 1/1 (1): y = 3.0 + $cse1 [dynamic] // 2/2 (1): $cse1 = sin(time) [unknown] // -// cse replacements (1/43) +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: c:PARAM(final = true ) = 3.0 type: Real +// +// +// ########### CSE Replacements (1/43) // ======================================== // 1: $cse1 - sin(time) - {} // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: x:VARIABLE() type: Real // 2: $cse2:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 2) +// ########### Updated Equation List (simulation) (2, 2) // ======================================== // 1/1 (1): x = 2.0 + $cse2 [dynamic] // 2/2 (1): $cse2 = sin(time) [unknown] // -// cse replacements (1/43) +// +// ########### Updated globalKnownVars (simulation) (1) +// ======================================== +// 1: c:PARAM(final = true ) = 3.0 type: Real +// +// +// ########### CSE Replacements (1/43) // ======================================== // 1: $cse2 - sin(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/cseTestCall5.mos b/simulation/modelica/commonSubExp/cseTestCall5.mos index 6e7fcac9a8a..a577c6a8afe 100644 --- a/simulation/modelica/commonSubExp/cseTestCall5.mos +++ b/simulation/modelica/commonSubExp/cseTestCall5.mos @@ -36,16 +36,27 @@ simulate(CSE.TestCall5); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (1) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) // ======================================== // 1: a.x:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (1, 1) +// ########### Updated Equation List (simulation) (1, 1) // ======================================== // 1/1 (1): a = CSE.TestCall5.f(time) [unknown] // -// cse replacements (1/43) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/43) // ======================================== // 1: a - CSE.TestCall5.f(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/cseTestCall6.mos b/simulation/modelica/commonSubExp/cseTestCall6.mos index e93375403d1..8fe2c3e53af 100644 --- a/simulation/modelica/commonSubExp/cseTestCall6.mos +++ b/simulation/modelica/commonSubExp/cseTestCall6.mos @@ -45,19 +45,30 @@ simulate(CSE.TestCall6); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (3) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (3) // ======================================== // 1: a:VARIABLE() type: Real // 2: $cse1.y:VARIABLE() type: Real unreplaceable // 3: $cse1.x:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 3) +// ########### Updated Equation List (simulation) (2, 3) // ======================================== -// 1/1 (1): a = CSE.TestCall6.f2($cse1) [unknown] -// 2/2 (2): $cse1 = CSE.TestCall6.f(time) [unknown] +// 1/1 (2): $cse1 = CSE.TestCall6.f(time) [unknown] +// 2/3 (1): a = CSE.TestCall6.f2($cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (2/43) +// ########### CSE Replacements (2/43) // ======================================== // 1: a - CSE.TestCall6.f2($cse1) - {} // 2: $cse1 - CSE.TestCall6.f(time) - {} diff --git a/simulation/modelica/commonSubExp/cseTestCall7.mos b/simulation/modelica/commonSubExp/cseTestCall7.mos index a1a1580f9c2..e3df94c43ce 100644 --- a/simulation/modelica/commonSubExp/cseTestCall7.mos +++ b/simulation/modelica/commonSubExp/cseTestCall7.mos @@ -37,7 +37,13 @@ simulate(CSE.TestCall7); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (4) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (4) // ======================================== // 1: b:VARIABLE() type: Real // 2: a:VARIABLE() type: Real @@ -45,12 +51,17 @@ simulate(CSE.TestCall7); getErrorString(); // 4: $cse1.x:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 4) +// ########### Updated Equation List (simulation) (2, 4) // ======================================== // 1/1 (2): CSE.TestCall7.foo(a, b) = $cse1 [dynamic] // 2/3 (2): $cse1 = CSE.TestCall7.func(time) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: $cse1 - CSE.TestCall7.func(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls1.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls1.mos index b5c2159f97f..257c637d552 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls1.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls1.mos @@ -23,7 +23,13 @@ simulate(CSE.wrapFunctionCalls1); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (5) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (5) // ======================================== // 1: a:VARIABLE() type: Real // 2: y:VARIABLE() type: Real @@ -32,15 +38,20 @@ simulate(CSE.wrapFunctionCalls1); getErrorString(); // 5: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (5, 5) +// ########### Updated Equation List (simulation) (5, 5) // ======================================== // 1/1 (1): y = 5.0 + $cse1 [dynamic] -// 2/2 (1): $cse1 = sin($cse2 + a) [unknown] -// 3/3 (1): $cse2 = cos($cse3) [unknown] -// 4/4 (1): $cse3 = cos(time) [unknown] -// 5/5 (1): a = sin(time) [unknown] +// 2/2 (1): a = sin(time) [unknown] +// 3/3 (1): $cse3 = cos(time) [unknown] +// 4/4 (1): $cse2 = cos($cse3) [unknown] +// 5/5 (1): $cse1 = sin($cse2 + a) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (4/44) +// ########### CSE Replacements (4/44) // ======================================== // 1: $cse1 - sin($cse2 + a) - {} // 2: $cse2 - cos($cse3) - {} diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls10.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls10.mos new file mode 100644 index 00000000000..c6219f17698 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls10.mos @@ -0,0 +1,115 @@ +// name: wrapFunctionCalls10 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls10 + record data + Integer d1; + Integer d2; + end data; + + function f1 + input data dataIn; + input Real x; + output Real y; + algorithm + y := dataIn.d1 + dataIn.d2 + x; + end f1; + + function f2 + input Integer a; + input Integer b; + output data dataOut; + // output Integer dummy; + algorithm + dataOut.d1 := a; + dataOut.d2 := b; + // dummy := 5; + end f2; + + Real z1, z2; + // Integer z3; + // data dat; + parameter Integer p1 = 5; + parameter Integer p2 = 10; + parameter Real p3 = 1.0; + equation + // z1 = f1(f2(p1, p2), p3); + z1 = f1(f2(p1, p2), p3); + z2 = f1(f2(p1, p2), time); + // (,z3) = f2(p1, p2); + // dat = f2(p1, p2); + end wrapFunctionCalls10; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls10); getErrorString(); + +system("xz --keep --decompress --force ./ReferenceFiles/CSE.wrapFunctionCalls10_res.mat.xz"); +(success, failVars) := OpenModelica.Scripting.diffSimulationResults("CSE.wrapFunctionCalls10_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls10_res.mat", "CSE.wrapFunctionCalls10_diff"); getErrorString(); +if success then + print("Files equal!\n"); +else + print("Files not equal!\n"); + for v in failVars loop + curFile := "CSE.wrapFunctionCalls10." + v + ".html"; + success := writeFile(curFile, OpenModelica.Scripting.diffSimulationResultsHtml(v, "CSE.wrapFunctionCalls10_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls10_res.mat", 0.01)); getErrorString(); + if success then + print("Created diff file " + curFile + "\n"); + else + print("Creating diff file " + curFile + " failed\n"); + end if; + end for; getErrorString(); +end if; + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) +// ======================================== +// 1: z2:VARIABLE() type: Real +// +// +// ########### Updated Equation List (simulation) (1, 1) +// ======================================== +// 1/1 (1): z2 = CSE.wrapFunctionCalls10.f1($cse1, time) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (6) +// ======================================== +// 1: z1:VARIABLE() = CSE.wrapFunctionCalls10.f1(CSE.wrapFunctionCalls10.f2(p1, p2), p3) type: Real +// 2: p1:PARAM() = 5 type: Integer +// 3: p2:PARAM() = 10 type: Integer +// 4: p3:PARAM() = 1.0 type: Real +// 5: $cse1.d2 in $cse1:DISCRETE() = CSE.wrapFunctionCalls10.f2(p1, p2) type: Integer unreplaceable +// 6: $cse1.d1 in $cse1:DISCRETE() = CSE.wrapFunctionCalls10.f2(p1, p2) type: Integer unreplaceable +// +// +// ########### CSE Replacements (2/43) +// ======================================== +// 1: z2 - CSE.wrapFunctionCalls10.f1($cse1, time) - {} +// 2: $cse1 - CSE.wrapFunctionCalls10.f2(p1, p2) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls10_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls10', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// 0 +// +// "" +// Files equal! +// +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls11.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls11.mos new file mode 100644 index 00000000000..d08d597fa89 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls11.mos @@ -0,0 +1,99 @@ +// name: wrapFunctionCalls11 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls11 + Real x, y, z, a, b, c; + parameter Real p1 = 5; + equation + x = sin(y); + x = cos(z); + z = 2 * p1; + a = sin(b); + b = cos(c); + c = 2 * p1; + end wrapFunctionCalls11; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls11); getErrorString(); + + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) +// ======================================== +// 1: y:VARIABLE() type: Real +// +// +// ########### Updated Equation List (simulation) (1, 1) +// ======================================== +// 1/1 (1): x = sin(y) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (6) +// ======================================== +// 1: z:VARIABLE() = 2.0 * p1 type: Real +// 2: c:VARIABLE() = 2.0 * p1 type: Real +// 3: p1:PARAM() = 5.0 type: Real +// 4: b:VARIABLE() = cos(c) type: Real +// 5: a:VARIABLE() = sin(b) type: Real +// 6: x:VARIABLE() = cos(z) type: Real +// +// +// ########### CSE Replacements (4/46) +// ======================================== +// 1: x - sin(y) - {} +// 2: x - cos(z) - {} +// 3: a - sin(b) - {} +// 4: b - cos(c) - {} +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (jacobian) (2) +// ======================================== +// 1: $res.1.$pDERNLSJac0.dummyVarNLSJac0:STATE_DER() type: Real unreplaceable +// 2: $cse1:VARIABLE() type: Real unreplaceable +// +// +// ########### Updated Equation List (jacobian) (2, 2) +// ======================================== +// 1/1 (1): $res.1.$pDERNLSJac0.dummyVarNLSJac0 = (-$cse1) * ySeedNLSJac0 [unknown] +// 2/2 (1): $cse1 = cos(y) [unknown] +// +// +// ########### Updated globalKnownVars (jacobian) (3) +// ======================================== +// 1: input ySeedNLSJac0:STATE_DER() type: Real +// 2: input x:VARIABLE() = cos(z) type: Real +// 3: input $res[1]:VARIABLE() type: Real +// +// +// ########### CSE Replacements (1/43) +// ======================================== +// 1: $cse1 - cos(y) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls11_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls11', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "Warning: There are iteration variables with default zero start attribute. For more information set -d=initialization. In OMEdit Tools->Options->Simulation->OMCFlags, in OMNotebook call setCommandLineOptions("-d=initialization"). +// " +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls12.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls12.mos new file mode 100644 index 00000000000..1241bcfdf02 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls12.mos @@ -0,0 +1,58 @@ +// name: wrapFunctionCalls12 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls12 + Real x (unit=\"s\"); + Real y (unit=\"m\"); + parameter Real p1 = 5; + equation + x = sin(p1); + y = cos(x); + end wrapFunctionCalls12; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls12); getErrorString(); + + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (0) +// ======================================== +// +// +// ########### Updated Equation List (simulation) (0, 0) +// ======================================== +// +// +// ########### Updated globalKnownVars (simulation) (3) +// ======================================== +// 1: x:VARIABLE(unit = "s" ) = sin(p1) type: Real +// 2: p1:PARAM() = 5.0 type: Real +// 3: y:VARIABLE(unit = "m" ) = cos(x) type: Real +// +// +// ########### CSE Replacements (1/43) +// ======================================== +// 1: y - cos(x) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls12_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls12', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos new file mode 100644 index 00000000000..3c79c779128 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls13.mos @@ -0,0 +1,264 @@ +// name: wrapFunctionCalls13 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls13 + record data + Integer d1; + Integer d2; + end data; + + function f1 + input Integer x1; + input Integer x2; + input Integer x; + output Real y; + algorithm + y := x1 + x2 + x; + end f1; + + function f2 + input Integer a; + input Integer b; + output data dataOut; + algorithm + dataOut.d1 := a; + dataOut.d2 := b; + end f2; + + data dat; + parameter Integer p1 = 5; + Integer x; + Real z; + equation + dat = f2(p1, 2*p1); + f1(x, p1, 2*p1) = f1(dat.d1, p1, 2*p1); + z + 1 = sin(f1(x, p1, 2*p1)); + end wrapFunctionCalls13; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE,dumpindxdae,paramdlowdump"); getErrorString(); +simulate(CSE.wrapFunctionCalls13); getErrorString(); + +system("xz --keep --decompress --force ./ReferenceFiles/CSE.wrapFunctionCalls13_res.mat.xz"); +(success, failVars) := OpenModelica.Scripting.diffSimulationResults("CSE.wrapFunctionCalls13_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls13_res.mat", "CSE.wrapFunctionCalls13_diff.csv"); getErrorString(); +if success then + print("Files equal!\n"); +else + print("Files not equal!\n"); + for v in failVars loop + curFile := "CSE.wrapFunctionCalls13." + v + ".html"; + success := writeFile(curFile, OpenModelica.Scripting.diffSimulationResultsHtml(v, "CSE.wrapFunctionCalls13_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls13_res.mat", 0.01)); getErrorString(); + if success then + print("Created diff file " + curFile + "\n"); + else + print("Creating diff file " + curFile + " failed\n"); + end if; + end for; getErrorString(); +end if; + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (5) +// ======================================== +// 1: z:VARIABLE() type: Real +// 2: x:DISCRETE() type: Integer +// 3: $cse3:VARIABLE() type: Real unreplaceable +// 4: $cse2:VARIABLE() type: Real unreplaceable +// 5: $cse1:VARIABLE() type: Real unreplaceable +// +// +// ########### Updated Equation List (simulation) (5, 5) +// ======================================== +// 1/1 (1): $cse1 = $cse2 [dynamic] +// 2/2 (1): 1.0 + z = $cse3 [dynamic] +// 3/3 (1): $cse3 = sin($cse1) [unknown] +// 4/4 (1): $cse2 = CSE.wrapFunctionCalls13.f1(dat.d1, p1, 2 * p1) [unknown] +// 5/5 (1): $cse1 = CSE.wrapFunctionCalls13.f1(x, p1, 2 * p1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (3) +// ======================================== +// 1: p1:PARAM() = 5 type: Integer +// 2: dat.d2 in dat:DISCRETE() = CSE.wrapFunctionCalls13.f2(p1, 2 * p1) type: Integer +// 3: dat.d1 in dat:DISCRETE() = CSE.wrapFunctionCalls13.f2(p1, 2 * p1) type: Integer +// +// +// ########### CSE Replacements (4/46) +// ======================================== +// 1: dat - CSE.wrapFunctionCalls13.f2(p1, 2 * p1) - {} +// 2: $cse1 - CSE.wrapFunctionCalls13.f1(x, p1, 2 * p1) - {} +// 3: $cse2 - CSE.wrapFunctionCalls13.f1(dat.d1, p1, 2 * p1) - {} +// 4: $cse3 - sin($cse1) - {} +// +// ######################################## +// dumpindxdae +// ######################################## +// +// +// unspecified partition +// ======================================== +// +// Variables (1) +// ======================================== +// 1: $cse2:VARIABLE() type: Real unreplaceable +// +// +// Equations (1, 1) +// ======================================== +// 1/1 (1): $cse2 = CSE.wrapFunctionCalls13.f1(dat.d1, p1, 2 * p1) [binding] +// +// +// Simple Equations (0, 0) +// ======================================== +// +// +// State Sets +// ======================================== +// +// +// Matching +// ======================================== +// 1 variables and equations +// var 1 is solved in eqn 1 +// +// +// StrongComponents +// ======================================== +// {1:1} +// +// +// unknown partition +// ======================================== +// +// Variables (4) +// ======================================== +// 1: z:VARIABLE() type: Real +// 2: x:DISCRETE() type: Integer +// 3: $cse3:VARIABLE() type: Real unreplaceable +// 4: $cse1:VARIABLE() type: Real unreplaceable +// +// +// Equations (4, 4) +// ======================================== +// 1/1 (1): $cse1 = $cse2 [dynamic] +// 2/2 (1): $cse3 = sin($cse1) [unknown] +// 3/3 (1): z = $cse3 - 1.0 [dynamic] +// 4/4 (1): x = $cse1 - CSE.wrapFunctionCalls13.f1(0.0, p1, 2 * p1) [unknown] +// +// +// Simple Equations (0, 0) +// ======================================== +// +// +// State Sets +// ======================================== +// +// +// Matching +// ======================================== +// 4 variables and equations +// var 1 is solved in eqn 3 +// var 2 is solved in eqn 4 +// var 3 is solved in eqn 2 +// var 4 is solved in eqn 1 +// +// +// StrongComponents +// ======================================== +// {1:4} +// {2:3} +// {3:1} +// {4:2} +// +// +// +// BackendDAEType: simulation +// +// +// Known variables only depending on parameters and constants - globalKnownVars (3) +// ======================================== +// 1: p1:PARAM() = 5 type: Integer +// 2: dat.d1 in dat:DISCRETE() = CSE.wrapFunctionCalls13.f2(p1, 2 * p1) type: Integer +// 3: dat.d2 in dat:DISCRETE() = CSE.wrapFunctionCalls13.f2(p1, 2 * p1) type: Integer +// +// +// Known variables only depending on states and inputs - localKnownVars (0) +// ======================================== +// +// +// External Objects (0) +// ======================================== +// +// +// Classes of External Objects (0) +// ======================================== +// +// +// Alias Variables (0) +// ======================================== +// +// +// Simple Shared Equations (0, 0) +// ======================================== +// +// +// Initial Equations (0, 0) +// ======================================== +// +// +// Zero Crossings (0) +// ======================================== +// +// +// Relations (0) +// ======================================== +// +// +// Time Events (0) +// ======================================== +// +// +// Constraints (0) +// ======================================== +// +// +// Base partitions (0) +// ======================================== +// +// +// Sub partitions (0) +// ======================================== +// +// +// +// parameters in order (1) +// ======================================== +// 9: dat := CSE.wrapFunctionCalls13.f2(p1, 2 * p1); +// +// +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls13_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls13', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// 0 +// +// "" +// Files equal! +// +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls14.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls14.mos new file mode 100644 index 00000000000..4312f3088ea --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls14.mos @@ -0,0 +1,61 @@ +// name: wrapFunctionCalls14 +// keywords: cse, wrapFunctionCalls, fixed +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls14 + parameter Real p1 (fixed=false); + parameter Real p2 = 2 * p1; + Real x; + initial equation + p1 = 5; + equation + x = sin(p2) + time; + end wrapFunctionCalls14; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls14); getErrorString(); + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) +// ======================================== +// 1: x:VARIABLE() type: Real +// 2: $cse1:VARIABLE() type: Real unreplaceable +// +// +// ########### Updated Equation List (simulation) (2, 2) +// ======================================== +// 1/1 (1): x = $cse1 + time [dynamic] +// 2/2 (1): $cse1 = sin(p2) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (2) +// ======================================== +// 1: p1:PARAM(fixed = false ) type: Real +// 2: p2:PARAM(fixed = false ) = 2.0 * p1 type: Real +// +// +// ########### CSE Replacements (1/43) +// ======================================== +// 1: $cse1 - sin(p2) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls14_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls14', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls2.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls2.mos index c0de5c14e2e..65d0f2b3dd2 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls2.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls2.mos @@ -23,18 +23,29 @@ simulate(CSE.wrapFunctionCalls2); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (2) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (2) // ======================================== // 1: b:VARIABLE() type: Real // 2: a:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (2, 2) +// ########### Updated Equation List (simulation) (2, 2) // ======================================== // 1/1 (1): a = if time > 0.5 then b else 0.0 [dynamic] // 2/2 (1): b = sin(time) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: b - sin(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls3.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls3.mos index e168b253ad4..24f2c9b29a5 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls3.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls3.mos @@ -36,19 +36,30 @@ simulate(CSE.wrapFunctionCalls3); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (3) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (3) // ======================================== // 1: b:VARIABLE() type: Real // 2: a:VARIABLE() type: Real // 3: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (2, 3) +// ########### Updated Equation List (simulation) (2, 3) // ======================================== // 1/1 (1): a = 5.0 + $cse1 [dynamic] // 2/2 (2): ($cse1, b, _) = CSE.wrapFunctionCalls3.f1(time) [unknown] // -// cse replacements (1/44) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/44) // ======================================== // 1: ($cse1, b, _) - CSE.wrapFunctionCalls3.f1(time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls4.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls4.mos index b9b5b140bb6..5933f409643 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls4.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls4.mos @@ -39,7 +39,13 @@ simulate(CSE.wrapFunctionCalls4); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) // ======================================== // 1: c:VARIABLE() type: Real // 2: b:VARIABLE() type: Real @@ -49,15 +55,20 @@ simulate(CSE.wrapFunctionCalls4); getErrorString(); // 6: $cse1:VARIABLE() type: Real unreplaceable // // -// ########### Updated Equation List (simulation) ########### (5, 6) +// ########### Updated Equation List (simulation) (5, 6) // ======================================== // 1/1 (1): c = 5.0 + $cse2 [dynamic] -// 2/2 (1): x = sin($cse1) [unknown] -// 3/3 (1): $cse1 = cos(time) [unknown] -// 4/4 (2): ($cse3, b, _) = CSE.wrapFunctionCalls4.f1(x, x) [unknown] -// 5/6 (1): $cse2 = sin($cse3) [unknown] +// 2/2 (1): $cse2 = sin($cse3) [unknown] +// 3/3 (2): ($cse3, b, _) = CSE.wrapFunctionCalls4.f1(x, x) [unknown] +// 4/5 (1): $cse1 = cos(time) [unknown] +// 5/6 (1): x = sin($cse1) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// // -// cse replacements (5/45) +// ########### CSE Replacements (5/45) // ======================================== // 1: x - sin($cse1) - {} // 2: $cse1 - cos(time) - {} diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls5.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls5.mos index a754642f0d2..59572de2057 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls5.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls5.mos @@ -40,7 +40,13 @@ simulate(CSE.wrapFunctionCalls5); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (6) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) // ======================================== // 1: c:VARIABLE() type: Real // 2: b:VARIABLE() type: Real @@ -50,12 +56,17 @@ simulate(CSE.wrapFunctionCalls5); getErrorString(); // 6: x:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (2, 6) +// ########### Updated Equation List (simulation) (2, 6) // ======================================== // 1/1 (3): (x, y, z) = (a, b, c) [dynamic] // 2/4 (3): (a, b, c) = CSE.wrapFunctionCalls5.f1(time, 1.0 + time) [unknown] // -// cse replacements (1/48) +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (1/48) // ======================================== // 1: (a, b, c) - CSE.wrapFunctionCalls5.f1(time, 1.0 + time) - {} // record SimulationResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls6.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls6.mos index f1d8f292498..9a71f5722aa 100644 --- a/simulation/modelica/commonSubExp/wrapFunctionCalls6.mos +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls6.mos @@ -18,9 +18,12 @@ package CSE y3 := x1 * y2 + y1; end f1; - Real b; + Real b, c, x; + parameter Real p1 = 5; equation b = f1(time).y2; + x = 2*p1; + c = f1(x).y2; end wrapFunctionCalls6; end CSE; "); getErrorString(); @@ -34,18 +37,33 @@ simulate(CSE.wrapFunctionCalls6); getErrorString(); // true // "" // -// ########### Updated Variable List (simulation) ########### (1) +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) // ======================================== // 1: b:VARIABLE() type: Real // // -// ########### Updated Equation List (simulation) ########### (1, 1) +// ########### Updated Equation List (simulation) (1, 1) // ======================================== // 1/1 (1): (_, b, _) = CSE.wrapFunctionCalls6.f1(time) [unknown] // -// cse replacements (1/43) +// +// ########### Updated globalKnownVars (simulation) (3) +// ======================================== +// 1: x:VARIABLE() = 2.0 * p1 type: Real +// 2: p1:PARAM() = 5.0 type: Real +// 3: c:VARIABLE() = CSE.wrapFunctionCalls6.f1(x) type: Real +// +// +// ########### CSE Replacements (2/44) // ======================================== // 1: (_, b, _) - CSE.wrapFunctionCalls6.f1(time) - {} +// 2: (_, c, _) - CSE.wrapFunctionCalls6.f1(x) - {} // record SimulationResult // resultFile = "CSE.wrapFunctionCalls6_res.mat", // simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls6', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls7.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls7.mos new file mode 100644 index 00000000000..59a5c371077 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls7.mos @@ -0,0 +1,78 @@ +// name: wrapFunctionCalls7 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +model wrapFunctionCalls7 + function foo + input Real x1; + input Real x2; + output Real y1; + output Real y2; + output Real y3; + algorithm + y1 := 1; + y2 := x1; + y3 := x2; + end foo; + Real a, b, x; +equation + (,b,) = foo(x, sin(cos(time))); + a = sin(foo(x, x)) + 5.0; + x = sin(cos(time)); +end wrapFunctionCalls7; +"); getErrorString(); + +setCommandLineOptions("--postOptModules+=wrapFunctionCalls -d=dumpCSE"); getErrorString(); + +simulate(wrapFunctionCalls7); getErrorString(); + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (6) +// ======================================== +// 1: x:VARIABLE() type: Real +// 2: b:VARIABLE() type: Real +// 3: a:VARIABLE() type: Real +// 4: $cse4:VARIABLE() type: Real unreplaceable +// 5: $cse3:VARIABLE() type: Real unreplaceable +// 6: $cse2:VARIABLE() type: Real unreplaceable +// +// +// ########### Updated Equation List (simulation) (5, 6) +// ======================================== +// 1/1 (1): a = 5.0 + $cse3 [dynamic] +// 2/2 (2): ($cse4, b, _) = wrapFunctionCalls7.foo(x, x) [unknown] +// 3/4 (1): $cse3 = sin($cse4) [unknown] +// 4/5 (1): $cse2 = cos(time) [unknown] +// 5/6 (1): x = sin($cse2) [unknown] +// +// +// ########### Updated globalKnownVars (simulation) (0) +// ======================================== +// +// +// ########### CSE Replacements (5/45) +// ======================================== +// 1: (_, b, _) - ($cse4, b, _) - {} +// 2: x - sin($cse2) - {} +// 3: $cse2 - cos(time) - {} +// 4: $cse3 - sin($cse4) - {} +// 5: ($cse4, b, _) - wrapFunctionCalls7.foo(x, x) - {} +// record SimulationResult +// resultFile = "wrapFunctionCalls7_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'wrapFunctionCalls7', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls8.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls8.mos new file mode 100644 index 00000000000..5393f293d4e --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls8.mos @@ -0,0 +1,110 @@ +// name: wrapFunctionCalls8 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls8 + function f1 + input Real x1; + input Real x2; + output Real y1; + output Real y2; + output Real y3; + algorithm + y1 := x1; + y2 := y1 + x2; + y1 := y2+1.0; + y2 := x1 * y2; + y3 := x2*x1; + end f1; + + parameter Real p1 = 5; + Real x, a, b, c, d; + equation + x = sin(cos(p1)); + c = sin(f1(x, sin(cos(p1)))) + 5; + // x = sin(cos(time)); + // c = sin(f1(x, sin(cos(time)))) + 5; + (,b,) = f1(x, x); + a = sin(x); + d = f1(x, x); + end wrapFunctionCalls8; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls8); getErrorString(); + +system("xz --keep --decompress --force ./ReferenceFiles/CSE.wrapFunctionCalls8_res.mat.xz"); +(success, failVars) := OpenModelica.Scripting.diffSimulationResults("CSE.wrapFunctionCalls8_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls8_res.mat", "CSE.wrapFunctionCalls8_diff.csv"); getErrorString(); +if success then + print("Files equal!\n"); +else + print("Files not equal!\n"); + for v in failVars loop + curFile := "CSE.wrapFunctionCalls8." + v + ".html"; + success := writeFile(curFile, OpenModelica.Scripting.diffSimulationResultsHtml(v, "CSE.wrapFunctionCalls8_res.mat", "./ReferenceFiles/CSE.wrapFunctionCalls8_res.mat", 0.01)); getErrorString(); + if success then + print("Created diff file " + curFile + "\n"); + else + print("Creating diff file " + curFile + " failed\n"); + end if; + end for; getErrorString(); +end if; + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) +// ======================================== +// 1: c:VARIABLE() type: Real +// +// +// ########### Updated Equation List (simulation) (1, 1) +// ======================================== +// 1/1 (1): c = 5.0 + $cse1 [dynamic] +// +// +// ########### Updated globalKnownVars (simulation) (9) +// ======================================== +// 1: x:VARIABLE() = sin(cos(p1)) type: Real +// 2: p1:PARAM() = 5.0 type: Real +// 3: a:VARIABLE() = sin(x) type: Real +// 4: b in (d, b, _):VARIABLE() = CSE.wrapFunctionCalls8.f1(x, x) type: Real +// 5: d in (d, b, _):VARIABLE() = CSE.wrapFunctionCalls8.f1(x, x) type: Real +// 6: $cse4:VARIABLE() = cos(p1) type: Real unreplaceable +// 7: $cse3:VARIABLE() = sin($cse4) type: Real unreplaceable +// 8: $cse2:VARIABLE() = CSE.wrapFunctionCalls8.f1(x, $cse3) type: Real unreplaceable +// 9: $cse1:VARIABLE() = sin($cse2) type: Real unreplaceable +// +// +// ########### CSE Replacements (6/46) +// ======================================== +// 1: $cse1 - sin($cse2) - {} +// 2: ($cse2, _, _) - CSE.wrapFunctionCalls8.f1(x, $cse3) - {} +// 3: $cse3 - sin($cse4) - {} +// 4: $cse4 - cos(p1) - {} +// 5: (d, b, _) - CSE.wrapFunctionCalls8.f1(x, x) - {} +// 6: a - sin(x) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls8_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls8', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// 0 +// +// "" +// Files equal! +// +// endResult diff --git a/simulation/modelica/commonSubExp/wrapFunctionCalls9.mos b/simulation/modelica/commonSubExp/wrapFunctionCalls9.mos new file mode 100644 index 00000000000..3116383d736 --- /dev/null +++ b/simulation/modelica/commonSubExp/wrapFunctionCalls9.mos @@ -0,0 +1,68 @@ +// name: wrapFunctionCalls9 +// keywords: cse, wrapFunctionCalls +// status: correct + +loadString(" +package CSE + model wrapFunctionCalls9 + function f1 + input Real x1; + input Real x2; + output Real y1; + output Real y2; + output Real y3; + algorithm + y1 := x1; + y2 := y1 + x2; + y1 := y2+1.0; + y2 := x1 * y2; + y3 := x2*x1; + end f1; + + parameter Real p1 = 5; + Real x; + equation + (,x,) = f1(p1, p1); + end wrapFunctionCalls9; +end CSE; +"); getErrorString(); + +setCommandLineOptions("--preOptModules-=clockPartitioning -d=dumpCSE"); getErrorString(); +simulate(CSE.wrapFunctionCalls9); getErrorString(); + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (0) +// ======================================== +// +// +// ########### Updated Equation List (simulation) (0, 0) +// ======================================== +// +// +// ########### Updated globalKnownVars (simulation) (2) +// ======================================== +// 1: p1:PARAM() = 5.0 type: Real +// 2: x:VARIABLE() = CSE.wrapFunctionCalls9.f1(p1, p1) type: Real +// +// +// ########### CSE Replacements (1/43) +// ======================================== +// 1: (_, x, _) - CSE.wrapFunctionCalls9.f1(p1, p1) - {} +// record SimulationResult +// resultFile = "CSE.wrapFunctionCalls9_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'CSE.wrapFunctionCalls9', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "" +// endResult diff --git a/simulation/modelica/hpcom/ReferenceGraphs/MergingExample_TaskGraphODE.graphml b/simulation/modelica/hpcom/ReferenceGraphs/MergingExample_TaskGraphODE.graphml index f5a2c789d82..7d6bd753701 100644 --- a/simulation/modelica/hpcom/ReferenceGraphs/MergingExample_TaskGraphODE.graphml +++ b/simulation/modelica/hpcom/ReferenceGraphs/MergingExample_TaskGraphODE.graphml @@ -65,7 +65,7 @@ - + 35 @@ -117,7 +117,7 @@ - + 271 1 @@ -217,7 +217,7 @@ - + 145 1 @@ -342,7 +342,7 @@ - + 271 1 @@ -355,7 +355,7 @@ false false false - + @@ -367,7 +367,7 @@ - + 271 1 @@ -380,7 +380,7 @@ false false false - + @@ -568,7 +568,7 @@ - + 74 1 0 @@ -584,7 +584,7 @@ - + 74 1 0 @@ -593,14 +593,14 @@ - + - 74 + 74 - + 74 1 0 @@ -609,10 +609,10 @@ - + - 74 + 74 diff --git a/simulation/modelica/initialization/bug_3052.mos b/simulation/modelica/initialization/bug_3052.mos index 768cfae4e99..66934c6111f 100644 --- a/simulation/modelica/initialization/bug_3052.mos +++ b/simulation/modelica/initialization/bug_3052.mos @@ -39,7 +39,7 @@ val(b, 0.0); getErrorString(); // | | | | | | [2] parameter Real b(start=0, fixed=false) = 2.8 // LOG_SOTI | info | ### SOLUTION OF THE INITIALIZATION ### // | | | | | other real variables -// | | | | | | [1] Real x(start=0, nominal=1) = 1 (pre: 0) +// | | | | | | [1] Real x(start=0, nominal=1) = 1 (pre: 1) // LOG_INIT | info | ### END INITIALIZATION ### // " // end SimulationResult; diff --git a/simulation/modelica/parameters/Makefile b/simulation/modelica/parameters/Makefile index 9978dcc0222..4cabc99238f 100644 --- a/simulation/modelica/parameters/Makefile +++ b/simulation/modelica/parameters/Makefile @@ -17,6 +17,7 @@ parameterTest13.mos \ parameterTest14.mos \ parameterTest15.mos \ parameterTest16.mos \ +parameterTest17.mos \ Engine1a_output.mos \ revoluteConstraint.mos \ hideResult.mos \ diff --git a/simulation/modelica/parameters/parameterTest17.mos b/simulation/modelica/parameters/parameterTest17.mos new file mode 100644 index 00000000000..7458ce4aa09 --- /dev/null +++ b/simulation/modelica/parameters/parameterTest17.mos @@ -0,0 +1,103 @@ +// name: parameterTest17 +// keywords: parameter evaluation, globalKnownVars, cse +// status: correct + +loadString(" +model parameterTest17 + Integer a,b,c,d; + input Integer x; + parameter Integer p1 = 1; + parameter Integer p2 = p1; + parameter Integer p3 = c1; + parameter Integer p4 (fixed=false); + final constant Integer c1 = 5; + constant Integer c2; + final parameter Integer p5 = 1; + final parameter Integer p6 = p5; + final parameter Integer p7 (start=1); + parameter Integer p8 (start=2*p3); + parameter Integer p9 = 2*p4; +protected + parameter Integer pr1 = 5; + parameter Integer pr2 = pr1; +initial equation + 2 * p4 * sin(a) = b; +equation + a = p1 + sin(p2); + b = a + c1 + p5 + sin(p2); + c = p1 + p2 + p3 + p5 + p6 + p7 + p8 + pr1 + pr2 + c1 + c2; + d = p9; +end parameterTest17; +"); getErrorString(); + +setCommandLineOptions("-d=dumpCSE"); getErrorString(); +simulate(parameterTest17); getErrorString(); + +val(a,0.0); +val(b,0.0); +val(c,0.0); +val(d,0.0); +val(p4,0.0); +val(p9,0.0); + +// Result: +// true +// "" +// true +// "" +// +// +// +// ############################################################### +// Final Results +// ############################################################### +// +// ########### Updated Variable List (simulation) (1) +// ======================================== +// 1: b:DISCRETE() type: Integer +// +// +// ########### Updated Equation List (simulation) (1, 1) +// ======================================== +// 1/1 (1): /*Real*/(b) = /*Real*/(5 + a + 1) + $cse1 [dynamic] +// +// +// ########### Updated globalKnownVars (simulation) (17) +// ======================================== +// 1: a:DISCRETE() = sin(/*Real*/(p2)) + /*Real*/(p1) type: Integer +// 2: c:DISCRETE() = 7 + p1 + p2 + p3 + p7 + p8 + pr1 + pr2 + c2 type: Integer +// 3: input x:VARIABLE() type: Integer +// 4: p1:PARAM() = 1 type: Integer +// 5: p2:PARAM() = p1 type: Integer +// 6: p3:PARAM() = 5 type: Integer +// 7: p4:PARAM(fixed = false ) type: Integer +// 8: c1:CONST(final = true ) = 5 type: Integer +// 9: c2:CONST() type: Integer +// 10: p5:PARAM(final = true ) = 1 type: Integer +// 11: p6:PARAM(final = true ) = 1 type: Integer +// 12: p7:PARAM(start = 1 final = true ) type: Integer +// 13: p8:PARAM(start = 2 * p3 ) type: Integer +// 14: p9:PARAM(fixed = false ) = 2 * p4 type: Integer +// 15: pr1:PARAM(protected = true ) = 5 type: Integer +// 16: pr2:PARAM(protected = true ) = pr1 type: Integer +// 17: $cse1:VARIABLE() = sin(/*Real*/(p2)) type: Real unreplaceable +// +// +// ########### CSE Replacements (1/43) +// ======================================== +// 1: $cse1 - sin(/*Real*/(p2)) - {} +// record SimulationResult +// resultFile = "parameterTest17_res.mat", +// simulationOptions = "startTime = 0.0, stopTime = 1.0, numberOfIntervals = 500, tolerance = 1e-06, method = 'dassl', fileNamePrefix = 'parameterTest17', options = '', outputFormat = 'mat', variableFilter = '.*', cflags = '', simflags = ''", +// messages = "" +// end SimulationResult; +// "[:13:3-13:39:writable] Warning: Parameter p7 has no value, and is fixed during initialization (fixed=true), using available start value (start=1) as default value. +// [:14:3-14:36:writable] Warning: Parameter p8 has no value, and is fixed during initialization (fixed=true), using available start value (start=2 * p3) as default value. +// " +// 1.0 +// 7.0 +// 42.0 +// 8.0 +// 4.0 +// 8.0 +// endResult diff --git a/simulation/modelica/resolveLoops/NPendulum2.mos b/simulation/modelica/resolveLoops/NPendulum2.mos index b99bc9605d5..fb2ef7bbaa9 100644 --- a/simulation/modelica/resolveLoops/NPendulum2.mos +++ b/simulation/modelica/resolveLoops/NPendulum2.mos @@ -66,7 +66,7 @@ res := OpenModelica.Scripting.compareSimulationResults("Pendulum.Pendulum2_res.m // * Torn equation systems: 1 // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: -// * Linear torn systems: 1 {(4,87.5%) 29} +// * Linear torn systems: 1 {(4,100.0%) 29} // * Non-linear torn systems: 0 // " // {"Files Equal!"} diff --git a/simulation/modelica/resolveLoops/NPendulum3.mos b/simulation/modelica/resolveLoops/NPendulum3.mos index 8f002e36698..a0a143db057 100644 --- a/simulation/modelica/resolveLoops/NPendulum3.mos +++ b/simulation/modelica/resolveLoops/NPendulum3.mos @@ -69,7 +69,7 @@ res := OpenModelica.Scripting.compareSimulationResults("Pendulum.Pendulum3_res.m // * Torn equation systems: 1 // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: -// * Linear torn systems: 1 {(8,75.0%) 55} +// * Linear torn systems: 1 {(9,71.6%) 54} // * Non-linear torn systems: 0 // " // {"Files Equal!"} diff --git a/simulation/modelica/start_value_selection/asmaFlow.mos b/simulation/modelica/start_value_selection/asmaFlow.mos index 1ef66bd463f..a9ec1298333 100644 --- a/simulation/modelica/start_value_selection/asmaFlow.mos +++ b/simulation/modelica/start_value_selection/asmaFlow.mos @@ -1030,8 +1030,8 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // 2/2 (1): aimc.friction.phi = speedSensor.flange.phi - aimc.fixed.phi0 [dynamic] // 3/3 (1): aimc.strayLoad.phi = speedSensor.flange.phi - aimc.fixed.phi0 [dynamic] // 4/4 (1): aimc.airGapS.gamma = /*Real*/(aimc.airGapS.p) * (speedSensor.flange.phi - aimc.fixed.phi0) [dynamic] -// 5/5 (1): $cse1 = sin(aimc.airGapS.gamma) [unknown] -// 6/6 (1): aimc.airGapS.RotationMatrix[2,2] = cos(aimc.airGapS.gamma) [unknown] +// 5/5 (1): aimc.airGapS.RotationMatrix[2,2] = cos(aimc.airGapS.gamma) [unknown] +// 6/6 (1): $cse1 = sin(aimc.airGapS.gamma) [unknown] // 7/7 (1): aimc.lssigma.i_[1] = aimc.airGapS.RotationMatrix[2,2] * aimc.idq_sr[1] - $cse1 * aimc.idq_sr[2] [dynamic] // 8/8 (1): aimc.lssigma.i_[2] = $cse1 * aimc.idq_sr[1] + aimc.airGapS.RotationMatrix[2,2] * aimc.idq_sr[2] [dynamic] // 9/9 (1): aimc.idq_rs[1] = aimc.airGapS.RotationMatrix[2,2] * aimc.idq_rr[1] - $cse1 * aimc.idq_rr[2] [dynamic] @@ -1160,7 +1160,7 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // var 14 is solved in eqn 60 // var 15 is solved in eqn 59 // var 16 is solved in eqn 66 -// var 17 is solved in eqn 6 +// var 17 is solved in eqn 5 // var 18 is solved in eqn 15 // var 19 is solved in eqn 16 // var 20 is solved in eqn 13 @@ -1225,7 +1225,7 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // var 79 is solved in eqn 52 // var 80 is solved in eqn 50 // var 81 is solved in eqn 54 -// var 82 is solved in eqn 5 +// var 82 is solved in eqn 6 // var 83 is solved in eqn 83 // var 84 is solved in eqn 84 // var 85 is solved in eqn 85 @@ -1249,10 +1249,9 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // {25:5} // {24:4} // {4:22} -// {5:82} -// {31:68} -// {83:83} -// {6:17} +// {5:17} +// {32:67} +// {6:82} // {7:35} // {8:34} // {{{22:3}, {21:25}, {18:2}, {20:1}} @@ -1288,7 +1287,7 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // {89:89} // {15:18} // {16:19} -// {32:67} +// {31:68} // {{{74:30}, {73:29}, {72:28}, {56:32}, {71:33}, {55:31}, {54:81}, {69:37}, {70:76}, {57:36}, {59:14}, {63:77}, {60:49}, {58:13}, {65:48}, {64:69}, {61:70}, {68:71}, {62:72}, {75:73}, {52:80}, {76:74}, {50:75}} // ,{51, 53, 49, 66, 67:79, 78, 15, 16, 47}} Size: 5 linear // {91:91} @@ -1300,6 +1299,7 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // {80:60} // {92:92} // {82, 81:52, 53} Size: 2 Jacobian Linear +// {83:83} // {3:24} // {2:61} // {1:65} @@ -1316,54 +1316,54 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // 3: aimc.statorCore.heatPort.Q_flow:VARIABLE(flow=true unit = "W" ) = -0.0 "Heat flow rate (positive if flowing from outside into the component)" type: Real // 4: aimc.strayLoad.heatPort.Q_flow:VARIABLE(flow=true unit = "W" ) = -0.0 "Heat flow rate (positive if flowing from outside into the component)" type: Real // 5: aimc.strayLoad.flange.tau:VARIABLE(flow=true unit = "N.m" ) = -0.0 "Cut torque in the flange" type: Real -// 6: sinevoltage1.sineVoltage[3].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[3] "Frequency of sine wave" type: Real [3] -// 7: sinevoltage1.sineVoltage[3].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[3] "Phase of sine wave" type: Real [3] -// 8: sinevoltage1.sineVoltage[3].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[3] "Amplitude of sine wave" type: Real [3] -// 9: sinevoltage1.sineVoltage[3].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] -// 10: sinevoltage1.sineVoltage[3].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[3].startTime "Output = offset for time < startTime" type: Real [3] -// 11: sinevoltage1.sineVoltage[3].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[3].offset "Offset of output signal" type: Real [3] -// 12: sinevoltage1.sineVoltage[3].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[3].phase "Phase of sine wave" type: Real [3] -// 13: sinevoltage1.sineVoltage[3].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[3].freqHz "Frequency of sine wave" type: Real [3] -// 14: sinevoltage1.sineVoltage[3].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[3].V "Amplitude of sine wave" type: Real [3] -// 15: sinevoltage1.sineVoltage[3].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[3] "Time offset" type: Real [3] -// 16: sinevoltage1.sineVoltage[3].offset:PARAM(unit = "V" ) = sinevoltage1.offset[3] "Voltage offset" type: Real [3] -// 17: sinevoltage1.sineVoltage[2].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[2] "Frequency of sine wave" type: Real [3] -// 18: sinevoltage1.sineVoltage[2].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[2] "Phase of sine wave" type: Real [3] -// 19: sinevoltage1.sineVoltage[2].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[2] "Amplitude of sine wave" type: Real [3] -// 20: sinevoltage1.sineVoltage[2].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] -// 21: sinevoltage1.sineVoltage[2].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[2].startTime "Output = offset for time < startTime" type: Real [3] -// 22: sinevoltage1.sineVoltage[2].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[2].offset "Offset of output signal" type: Real [3] -// 23: sinevoltage1.sineVoltage[2].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[2].phase "Phase of sine wave" type: Real [3] -// 24: sinevoltage1.sineVoltage[2].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[2].freqHz "Frequency of sine wave" type: Real [3] -// 25: sinevoltage1.sineVoltage[2].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[2].V "Amplitude of sine wave" type: Real [3] -// 26: sinevoltage1.sineVoltage[2].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[2] "Time offset" type: Real [3] -// 27: sinevoltage1.sineVoltage[2].offset:PARAM(unit = "V" ) = sinevoltage1.offset[2] "Voltage offset" type: Real [3] -// 28: sinevoltage1.sineVoltage[1].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[1] "Frequency of sine wave" type: Real [3] -// 29: sinevoltage1.sineVoltage[1].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[1] "Phase of sine wave" type: Real [3] -// 30: sinevoltage1.sineVoltage[1].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[1] "Amplitude of sine wave" type: Real [3] -// 31: sinevoltage1.sineVoltage[1].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] -// 32: sinevoltage1.sineVoltage[1].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[1].startTime "Output = offset for time < startTime" type: Real [3] -// 33: sinevoltage1.sineVoltage[1].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[1].offset "Offset of output signal" type: Real [3] -// 34: sinevoltage1.sineVoltage[1].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[1].phase "Phase of sine wave" type: Real [3] -// 35: sinevoltage1.sineVoltage[1].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[1].freqHz "Frequency of sine wave" type: Real [3] -// 36: sinevoltage1.sineVoltage[1].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[1].V "Amplitude of sine wave" type: Real [3] -// 37: sinevoltage1.sineVoltage[1].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[1] "Time offset" type: Real [3] -// 38: sinevoltage1.sineVoltage[1].offset:PARAM(unit = "V" ) = sinevoltage1.offset[1] "Voltage offset" type: Real [3] -// 39: sinevoltage1.startTime[3]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] -// 40: sinevoltage1.startTime[2]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] -// 41: sinevoltage1.startTime[1]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] -// 42: sinevoltage1.offset[3]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] -// 43: sinevoltage1.offset[2]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] -// 44: sinevoltage1.offset[1]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] -// 45: sinevoltage1.freqHz[3]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] -// 46: sinevoltage1.freqHz[2]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] -// 47: sinevoltage1.freqHz[1]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] -// 48: sinevoltage1.phase[3]:PARAM(unit = "rad" ) = -4.188790204786391 "Phases of sine waves" type: Real [3] -// 49: sinevoltage1.phase[2]:PARAM(unit = "rad" ) = -2.094395102393195 "Phases of sine waves" type: Real [3] -// 50: sinevoltage1.phase[1]:PARAM(unit = "rad" ) = -0.0 "Phases of sine waves" type: Real [3] -// 51: sinevoltage1.V[3]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] -// 52: sinevoltage1.V[2]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] -// 53: sinevoltage1.V[1]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] +// 6: sinevoltage1.freqHz[3]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] +// 7: sinevoltage1.sineVoltage[3].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[3] "Frequency of sine wave" type: Real [3] +// 8: sinevoltage1.phase[3]:PARAM(unit = "rad" ) = -4.188790204786391 "Phases of sine waves" type: Real [3] +// 9: sinevoltage1.sineVoltage[3].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[3] "Phase of sine wave" type: Real [3] +// 10: sinevoltage1.V[3]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] +// 11: sinevoltage1.sineVoltage[3].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[3] "Amplitude of sine wave" type: Real [3] +// 12: sinevoltage1.sineVoltage[3].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] +// 13: sinevoltage1.startTime[3]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] +// 14: sinevoltage1.sineVoltage[3].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[3] "Time offset" type: Real [3] +// 15: sinevoltage1.sineVoltage[3].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[3].startTime "Output = offset for time < startTime" type: Real [3] +// 16: sinevoltage1.offset[3]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] +// 17: sinevoltage1.sineVoltage[3].offset:PARAM(unit = "V" ) = sinevoltage1.offset[3] "Voltage offset" type: Real [3] +// 18: sinevoltage1.sineVoltage[3].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[3].offset "Offset of output signal" type: Real [3] +// 19: sinevoltage1.sineVoltage[3].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[3].phase "Phase of sine wave" type: Real [3] +// 20: sinevoltage1.sineVoltage[3].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[3].freqHz "Frequency of sine wave" type: Real [3] +// 21: sinevoltage1.sineVoltage[3].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[3].V "Amplitude of sine wave" type: Real [3] +// 22: sinevoltage1.freqHz[2]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] +// 23: sinevoltage1.sineVoltage[2].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[2] "Frequency of sine wave" type: Real [3] +// 24: sinevoltage1.phase[2]:PARAM(unit = "rad" ) = -2.094395102393195 "Phases of sine waves" type: Real [3] +// 25: sinevoltage1.sineVoltage[2].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[2] "Phase of sine wave" type: Real [3] +// 26: sinevoltage1.V[2]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] +// 27: sinevoltage1.sineVoltage[2].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[2] "Amplitude of sine wave" type: Real [3] +// 28: sinevoltage1.sineVoltage[2].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] +// 29: sinevoltage1.startTime[2]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] +// 30: sinevoltage1.sineVoltage[2].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[2] "Time offset" type: Real [3] +// 31: sinevoltage1.sineVoltage[2].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[2].startTime "Output = offset for time < startTime" type: Real [3] +// 32: sinevoltage1.offset[2]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] +// 33: sinevoltage1.sineVoltage[2].offset:PARAM(unit = "V" ) = sinevoltage1.offset[2] "Voltage offset" type: Real [3] +// 34: sinevoltage1.sineVoltage[2].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[2].offset "Offset of output signal" type: Real [3] +// 35: sinevoltage1.sineVoltage[2].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[2].phase "Phase of sine wave" type: Real [3] +// 36: sinevoltage1.sineVoltage[2].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[2].freqHz "Frequency of sine wave" type: Real [3] +// 37: sinevoltage1.sineVoltage[2].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[2].V "Amplitude of sine wave" type: Real [3] +// 38: sinevoltage1.freqHz[1]:PARAM(start = 1.0 unit = "Hz" ) = 50.0 "Frequencies of sine waves" type: Real [3] +// 39: sinevoltage1.sineVoltage[1].freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.freqHz[1] "Frequency of sine wave" type: Real [3] +// 40: sinevoltage1.phase[1]:PARAM(unit = "rad" ) = -0.0 "Phases of sine waves" type: Real [3] +// 41: sinevoltage1.sineVoltage[1].phase:PARAM(unit = "rad" ) = sinevoltage1.phase[1] "Phase of sine wave" type: Real [3] +// 42: sinevoltage1.V[1]:PARAM(start = 1.0 unit = "V" ) = 187.794213613377 "Amplitudes of sine waves" type: Real [3] +// 43: sinevoltage1.sineVoltage[1].V:PARAM(start = 1.0 unit = "V" ) = sinevoltage1.V[1] "Amplitude of sine wave" type: Real [3] +// 44: sinevoltage1.sineVoltage[1].signalSource.pi:CONST(protected = true ) = 3.141592653589793 type: Real [3] +// 45: sinevoltage1.startTime[1]:PARAM(unit = "s" ) = 0.0 "Time offsets" type: Real [3] +// 46: sinevoltage1.sineVoltage[1].startTime:PARAM(unit = "s" ) = sinevoltage1.startTime[1] "Time offset" type: Real [3] +// 47: sinevoltage1.sineVoltage[1].signalSource.startTime:PARAM(unit = "s" ) = sinevoltage1.sineVoltage[1].startTime "Output = offset for time < startTime" type: Real [3] +// 48: sinevoltage1.offset[1]:PARAM(unit = "V" ) = 0.0 "Voltage offsets" type: Real [3] +// 49: sinevoltage1.sineVoltage[1].offset:PARAM(unit = "V" ) = sinevoltage1.offset[1] "Voltage offset" type: Real [3] +// 50: sinevoltage1.sineVoltage[1].signalSource.offset:PARAM() = sinevoltage1.sineVoltage[1].offset "Offset of output signal" type: Real [3] +// 51: sinevoltage1.sineVoltage[1].signalSource.phase:PARAM(unit = "rad" ) = sinevoltage1.sineVoltage[1].phase "Phase of sine wave" type: Real [3] +// 52: sinevoltage1.sineVoltage[1].signalSource.freqHz:PARAM(start = 1.0 unit = "Hz" ) = sinevoltage1.sineVoltage[1].freqHz "Frequency of sine wave" type: Real [3] +// 53: sinevoltage1.sineVoltage[1].signalSource.amplitude:PARAM() = sinevoltage1.sineVoltage[1].V "Amplitude of sine wave" type: Real [3] // 54: sinevoltage1.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer // 55: sinevoltage1.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer // 56: sinevoltage1.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer @@ -1371,157 +1371,157 @@ val(aimc.inertiaRotor.flange_b.tau, 0); // 58: torque.useSupport:PARAM(final = true ) = false "= true, if support flange enabled, otherwise implicitly grounded" type: Boolean // 59: star.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer // 60: star.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer -// 61: aimc.thermalAmbient.constTr.k:PARAM(start = 1.0 final = true ) = aimc.thermalAmbient.Tr "Constant output value" type: Real -// 62: aimc.thermalAmbient.constTs.k:PARAM(start = 1.0 final = true ) = aimc.thermalAmbient.Ts "Constant output value" type: Real -// 63: aimc.thermalAmbient.Tr:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 final = true ) = aimc.TrOperational "Temperature of rotor (squirrel cage)" type: Real -// 64: aimc.thermalAmbient.thermalCollectorStator.m:PARAM(min = 1 final = true ) = 3 "Number of collected heat flows" type: Integer -// 65: aimc.thermalAmbient.temperatureFriction.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real -// 66: aimc.thermalAmbient.temperatureStrayLoad.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real -// 67: aimc.thermalAmbient.temperatureRotorCore.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real -// 68: aimc.thermalAmbient.temperatureStatorCore.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real -// 69: aimc.thermalAmbient.thermalPort.m:PARAM(flow=false final = true ) = 3 "Number of stator phases" type: Integer -// 70: aimc.thermalAmbient.Ts:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 final = true ) = aimc.TsOperational "Temperature of stator windings" type: Real -// 71: aimc.thermalAmbient.TDefault:CONST(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Default temperature" type: Real -// 72: aimc.thermalAmbient.useTemperatureInputs:PARAM(final = true ) = false "If true, temperature inputs are used; else, temperatures are constant" type: Boolean -// 73: aimc.thermalAmbient.m:PARAM(final = true ) = 3 "Number of stator phases" type: Integer -// 74: aimc.fixed.phi0:PARAM(unit = "rad" ) = 0.0 "Fixed offset angle of housing" type: Real -// 75: aimc.squirrelCageR.alpha:PARAM(unit = "1/K" ) = aimc.alpha20r / (1.0 + aimc.alpha20r * (-293.15 + aimc.TrRef)) "Temperature coefficient of resistance at T_ref" type: Real -// 76: aimc.squirrelCageR.T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TrRef "Reference temperature" type: Real -// 77: aimc.squirrelCageR.Rr:PARAM(unit = "Ohm" ) = aimc.Rr "Rotor resistance per phase translated to stator at T_ref" type: Real -// 78: aimc.squirrelCageR.Lrsigma:PARAM(unit = "H" ) = aimc.Lrsigma "Rotor stray inductance per phase translated to stator" type: Real -// 79: aimc.squirrelCageR.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TrRef "Fixed device temperature if useHeatPort = false" type: Real -// 80: aimc.squirrelCageR.useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean -// 81: aimc.TrOperational:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Operational temperature of rotor resistance" type: Real -// 82: aimc.alpha20r:PARAM(start = 0.0 unit = "1/K" ) "Temperature coefficient of rotor resistance at 20 degC" type: Real -// 83: aimc.TrRef:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Reference temperature of rotor resistance" type: Real -// 84: aimc.Rr:PARAM(start = 0.04 unit = "Ohm" ) = 0.4 "Rotor resistance per phase (equivalent three phase winding) at TRef" type: Real -// 85: aimc.Lrsigma:PARAM(start = 0.1017764061411688 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.002 "Rotor stray inductance per phase (equivalent three phase winding)" type: Real -// 86: aimc.Lm:PARAM(start = 2.898223593858831 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.06931 "Stator main field inductance per phase" type: Real -// 87: aimc.airGapS.L[2,2]:PARAM(unit = "H" protected = true ) = aimc.airGapS.Lm "Inductance matrix" type: Real [2,2] -// 88: aimc.airGapS.L[2,1]:PARAM(unit = "H" protected = true ) = 0.0 "Inductance matrix" type: Real [2,2] -// 89: aimc.airGapS.L[1,2]:PARAM(unit = "H" protected = true ) = 0.0 "Inductance matrix" type: Real [2,2] -// 90: aimc.airGapS.L[1,1]:PARAM(unit = "H" protected = true ) = aimc.airGapS.Lm "Inductance matrix" type: Real [2,2] -// 91: aimc.airGapS.Lm:PARAM(unit = "H" ) = aimc.Lm "Main field inductance" type: Real -// 92: aimc.airGapS.p:PARAM(min = 1 ) = aimc.p "Number of pole pairs" type: Integer -// 93: aimc.airGapS.m:PARAM(final = true ) = 3 "Number of phases" type: Integer -// 94: aimc.internalThermalPort.m:PARAM(flow=false final = true ) = 3 "Number of stator phases" type: Integer -// 95: aimc.strayLoad.strayLoadParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference stray load torque at reference angular velocity and reference current" type: Real -// 96: aimc.strayLoad.strayLoadParameters.power_w:PARAM(min = 1e-60 ) = aimc.strayLoadParameters.power_w "Exponent of stray load loss torque w.r.t. angular velocity" type: Real -// 97: aimc.strayLoad.strayLoadParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.strayLoadParameters.wRef "Reference angular velocity that PRef refers to" type: Real -// 98: aimc.strayLoad.strayLoadParameters.IRef:PARAM(min = 1e-60 unit = "A" ) = aimc.strayLoadParameters.IRef "Reference RMS current that PRef refers to" type: Real -// 99: aimc.strayLoad.strayLoadParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference stray load losses at IRef and wRef" type: Real -// 100: aimc.strayLoad.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean -// 101: aimc.strayLoad.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 102: aimc.strayLoad.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 103: aimc.strayLoad.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer -// 104: aimc.spacePhasorS.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 105: aimc.spacePhasorS.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 106: aimc.spacePhasorS.InverseTransformation[3,2]:PARAM(protected = true ) = -0.8660254037844384 type: Real [3,2] -// 107: aimc.spacePhasorS.InverseTransformation[3,1]:PARAM(protected = true ) = -0.5000000000000004 type: Real [3,2] -// 108: aimc.spacePhasorS.InverseTransformation[2,2]:PARAM(protected = true ) = 0.8660254037844387 type: Real [3,2] -// 109: aimc.spacePhasorS.InverseTransformation[2,1]:PARAM(protected = true ) = -0.4999999999999998 type: Real [3,2] -// 110: aimc.spacePhasorS.InverseTransformation[1,2]:PARAM(protected = true ) = 0.0 type: Real [3,2] -// 111: aimc.spacePhasorS.InverseTransformation[1,1]:PARAM(protected = true ) = 1.0 type: Real [3,2] -// 112: aimc.spacePhasorS.TransformationMatrix[2,3]:PARAM(protected = true ) = -0.5773502691896255 type: Real [2,3] -// 113: aimc.spacePhasorS.TransformationMatrix[2,2]:PARAM(protected = true ) = 0.5773502691896257 type: Real [2,3] -// 114: aimc.spacePhasorS.TransformationMatrix[2,1]:PARAM(protected = true ) = 0.0 type: Real [2,3] -// 115: aimc.spacePhasorS.TransformationMatrix[1,3]:PARAM(protected = true ) = -0.3333333333333336 type: Real [2,3] -// 116: aimc.spacePhasorS.TransformationMatrix[1,2]:PARAM(protected = true ) = -0.3333333333333331 type: Real [2,3] -// 117: aimc.spacePhasorS.TransformationMatrix[1,1]:PARAM(protected = true ) = 0.6666666666666666 type: Real [2,3] -// 118: aimc.spacePhasorS.turnsRatio:PARAM() = 1.0 "Turns ratio" type: Real -// 119: aimc.spacePhasorS.pi:CONST() = 3.141592653589793 type: Real -// 120: aimc.spacePhasorS.m:CONST() = 3 "Number of phases" type: Integer -// 121: aimc.statorCore.turnsRatio:PARAM(min = 1e-60 ) = 1.0 "Effective number of stator turns / effective number of rotor turns (if used as rotor core)" type: Real -// 122: aimc.statorCore.m:PARAM(final = true ) = aimc.statorCore.coreParameters.m "Number of phases" type: Integer -// 123: aimc.statorCore.coreParameters.wMin:PARAM(unit = "rad/s" final = true ) = aimc.statorCoreParameters.wMin type: Real -// 124: aimc.statorCore.coreParameters.GcRef:PARAM(unit = "S" final = true ) = 0.0 "Reference conductance at reference frequency and voltage" type: Real -// 125: aimc.statorCore.coreParameters.ratioHysteresis:PARAM(min = 0.0 max = 1.0 start = 0.775 final = true ) = 0.0 "Ratio of hysteresis losses with respect to the total core losses at VRef and fRef" type: Real -// 126: aimc.statorCore.coreParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.statorCoreParameters.wRef "Reference angular velocity that reference core losses PRef refer to" type: Real -// 127: aimc.statorCore.coreParameters.VRef:PARAM(min = 1e-60 unit = "V" ) = aimc.statorCoreParameters.VRef "Reference inner RMS voltage that reference core losses PRef refer to" type: Real -// 128: aimc.statorCore.coreParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference core losses at reference inner voltage VRef" type: Real +// 61: aimc.TrOperational:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Operational temperature of rotor resistance" type: Real +// 62: aimc.thermalAmbient.Tr:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 final = true ) = aimc.TrOperational "Temperature of rotor (squirrel cage)" type: Real +// 63: aimc.thermalAmbient.constTr.k:PARAM(start = 1.0 final = true ) = aimc.thermalAmbient.Tr "Constant output value" type: Real +// 64: aimc.TsOperational:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Operational temperature of stator resistance" type: Real +// 65: aimc.thermalAmbient.Ts:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 final = true ) = aimc.TsOperational "Temperature of stator windings" type: Real +// 66: aimc.thermalAmbient.constTs.k:PARAM(start = 1.0 final = true ) = aimc.thermalAmbient.Ts "Constant output value" type: Real +// 67: aimc.thermalAmbient.thermalCollectorStator.m:PARAM(min = 1 final = true ) = 3 "Number of collected heat flows" type: Integer +// 68: aimc.thermalAmbient.temperatureFriction.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real +// 69: aimc.thermalAmbient.temperatureStrayLoad.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real +// 70: aimc.thermalAmbient.temperatureRotorCore.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real +// 71: aimc.thermalAmbient.temperatureStatorCore.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Fixed temperature at port" type: Real +// 72: aimc.thermalAmbient.thermalPort.m:PARAM(flow=false final = true ) = 3 "Number of stator phases" type: Integer +// 73: aimc.thermalAmbient.TDefault:CONST(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 final = true ) = 293.15 "Default temperature" type: Real +// 74: aimc.thermalAmbient.useTemperatureInputs:PARAM(final = true ) = false "If true, temperature inputs are used; else, temperatures are constant" type: Boolean +// 75: aimc.thermalAmbient.m:PARAM(final = true ) = 3 "Number of stator phases" type: Integer +// 76: aimc.fixed.phi0:PARAM(unit = "rad" ) = 0.0 "Fixed offset angle of housing" type: Real +// 77: aimc.TrRef:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Reference temperature of rotor resistance" type: Real +// 78: aimc.alpha20r:PARAM(start = 0.0 unit = "1/K" ) "Temperature coefficient of rotor resistance at 20 degC" type: Real +// 79: aimc.squirrelCageR.alpha:PARAM(unit = "1/K" ) = aimc.alpha20r / (1.0 + aimc.alpha20r * (-293.15 + aimc.TrRef)) "Temperature coefficient of resistance at T_ref" type: Real +// 80: aimc.squirrelCageR.T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TrRef "Reference temperature" type: Real +// 81: aimc.Rr:PARAM(start = 0.04 unit = "Ohm" ) = 0.4 "Rotor resistance per phase (equivalent three phase winding) at TRef" type: Real +// 82: aimc.squirrelCageR.Rr:PARAM(unit = "Ohm" ) = aimc.Rr "Rotor resistance per phase translated to stator at T_ref" type: Real +// 83: aimc.Lrsigma:PARAM(start = 0.1017764061411688 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.002 "Rotor stray inductance per phase (equivalent three phase winding)" type: Real +// 84: aimc.squirrelCageR.Lrsigma:PARAM(unit = "H" ) = aimc.Lrsigma "Rotor stray inductance per phase translated to stator" type: Real +// 85: aimc.squirrelCageR.T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TrRef "Fixed device temperature if useHeatPort = false" type: Real +// 86: aimc.squirrelCageR.useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean +// 87: aimc.Lm:PARAM(start = 2.898223593858831 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.06931 "Stator main field inductance per phase" type: Real +// 88: aimc.airGapS.Lm:PARAM(unit = "H" ) = aimc.Lm "Main field inductance" type: Real +// 89: aimc.airGapS.L[2,2]:PARAM(unit = "H" protected = true ) = aimc.airGapS.Lm "Inductance matrix" type: Real [2,2] +// 90: aimc.airGapS.L[2,1]:PARAM(unit = "H" protected = true ) = 0.0 "Inductance matrix" type: Real [2,2] +// 91: aimc.airGapS.L[1,2]:PARAM(unit = "H" protected = true ) = 0.0 "Inductance matrix" type: Real [2,2] +// 92: aimc.airGapS.L[1,1]:PARAM(unit = "H" protected = true ) = aimc.airGapS.Lm "Inductance matrix" type: Real [2,2] +// 93: aimc.p:PARAM(min = 1 start = 2 ) = 2 "Number of pole pairs (Integer)" type: Integer +// 94: aimc.airGapS.p:PARAM(min = 1 ) = aimc.p "Number of pole pairs" type: Integer +// 95: aimc.airGapS.m:PARAM(final = true ) = 3 "Number of phases" type: Integer +// 96: aimc.internalThermalPort.m:PARAM(flow=false final = true ) = 3 "Number of stator phases" type: Integer +// 97: aimc.strayLoad.strayLoadParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference stray load torque at reference angular velocity and reference current" type: Real +// 98: aimc.strayLoadParameters.power_w:PARAM(min = 1e-60 ) = 1.0 "Exponent of stray load loss torque w.r.t. angular velocity" type: Real +// 99: aimc.strayLoad.strayLoadParameters.power_w:PARAM(min = 1e-60 ) = aimc.strayLoadParameters.power_w "Exponent of stray load loss torque w.r.t. angular velocity" type: Real +// 100: aimc.fsNominal:PARAM(start = 50.0 unit = "Hz" ) = 50.0 "Nominal frequency" type: Real +// 101: aimc.strayLoadParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal / /*Real*/(aimc.p) "Reference angular velocity that PRef refers to" type: Real +// 102: aimc.strayLoad.strayLoadParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.strayLoadParameters.wRef "Reference angular velocity that PRef refers to" type: Real +// 103: aimc.strayLoadParameters.IRef:PARAM(min = 1e-60 start = 100.0 unit = "A" ) "Reference RMS current that PRef refers to" type: Real +// 104: aimc.strayLoad.strayLoadParameters.IRef:PARAM(min = 1e-60 unit = "A" ) = aimc.strayLoadParameters.IRef "Reference RMS current that PRef refers to" type: Real +// 105: aimc.strayLoad.strayLoadParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference stray load losses at IRef and wRef" type: Real +// 106: aimc.strayLoad.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean +// 107: aimc.strayLoad.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 108: aimc.strayLoad.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 109: aimc.strayLoad.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer +// 110: aimc.spacePhasorS.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 111: aimc.spacePhasorS.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 112: aimc.spacePhasorS.InverseTransformation[3,2]:PARAM(protected = true ) = -0.8660254037844384 type: Real [3,2] +// 113: aimc.spacePhasorS.InverseTransformation[3,1]:PARAM(protected = true ) = -0.5000000000000004 type: Real [3,2] +// 114: aimc.spacePhasorS.InverseTransformation[2,2]:PARAM(protected = true ) = 0.8660254037844387 type: Real [3,2] +// 115: aimc.spacePhasorS.InverseTransformation[2,1]:PARAM(protected = true ) = -0.4999999999999998 type: Real [3,2] +// 116: aimc.spacePhasorS.InverseTransformation[1,2]:PARAM(protected = true ) = 0.0 type: Real [3,2] +// 117: aimc.spacePhasorS.InverseTransformation[1,1]:PARAM(protected = true ) = 1.0 type: Real [3,2] +// 118: aimc.spacePhasorS.TransformationMatrix[2,3]:PARAM(protected = true ) = -0.5773502691896255 type: Real [2,3] +// 119: aimc.spacePhasorS.TransformationMatrix[2,2]:PARAM(protected = true ) = 0.5773502691896257 type: Real [2,3] +// 120: aimc.spacePhasorS.TransformationMatrix[2,1]:PARAM(protected = true ) = 0.0 type: Real [2,3] +// 121: aimc.spacePhasorS.TransformationMatrix[1,3]:PARAM(protected = true ) = -0.3333333333333336 type: Real [2,3] +// 122: aimc.spacePhasorS.TransformationMatrix[1,2]:PARAM(protected = true ) = -0.3333333333333331 type: Real [2,3] +// 123: aimc.spacePhasorS.TransformationMatrix[1,1]:PARAM(protected = true ) = 0.6666666666666666 type: Real [2,3] +// 124: aimc.spacePhasorS.turnsRatio:PARAM() = 1.0 "Turns ratio" type: Real +// 125: aimc.spacePhasorS.pi:CONST() = 3.141592653589793 type: Real +// 126: aimc.spacePhasorS.m:CONST() = 3 "Number of phases" type: Integer +// 127: aimc.statorCore.turnsRatio:PARAM(min = 1e-60 ) = 1.0 "Effective number of stator turns / effective number of rotor turns (if used as rotor core)" type: Real +// 128: aimc.statorCoreParameters.m:PARAM() = 3 "Number of phases (1 for DC, 3 for induction machines)" type: Integer // 129: aimc.statorCore.coreParameters.m:PARAM() = aimc.statorCoreParameters.m "Number of phases (1 for DC, 3 for induction machines)" type: Integer -// 130: aimc.statorCore.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean -// 131: aimc.lszero.L:PARAM(start = 1.0 unit = "H" ) = aimc.Lszero "Inductance" type: Real -// 132: aimc.lssigma.L[2]:PARAM(unit = "H" ) = aimc.Lssigma "Inductance of both axes" type: Real [2] -// 133: aimc.lssigma.L[1]:PARAM(unit = "H" ) = aimc.Lssigma "Inductance of both axes" type: Real [2] -// 134: aimc.rs.resistor[3].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[3] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] -// 135: aimc.rs.resistor[3].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[3] "Reference temperature" type: Real [3] -// 136: aimc.rs.resistor[3].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[3] "Resistance at temperature T_ref" type: Real [3] -// 137: aimc.rs.resistor[3].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[3] "Fixed device temperature if useHeatPort = false" type: Real [3] -// 138: aimc.rs.resistor[3].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] -// 139: aimc.rs.resistor[2].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[2] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] -// 140: aimc.rs.resistor[2].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[2] "Reference temperature" type: Real [3] -// 141: aimc.rs.resistor[2].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[2] "Resistance at temperature T_ref" type: Real [3] -// 142: aimc.rs.resistor[2].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[2] "Fixed device temperature if useHeatPort = false" type: Real [3] -// 143: aimc.rs.resistor[2].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] -// 144: aimc.rs.resistor[1].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[1] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] -// 145: aimc.rs.resistor[1].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[1] "Reference temperature" type: Real [3] -// 146: aimc.rs.resistor[1].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[1] "Resistance at temperature T_ref" type: Real [3] -// 147: aimc.rs.resistor[1].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[1] "Fixed device temperature if useHeatPort = false" type: Real [3] -// 148: aimc.rs.resistor[1].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] -// 149: aimc.rs.alpha[3]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] -// 150: aimc.rs.alpha[2]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] -// 151: aimc.rs.alpha[1]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] -// 152: aimc.rs.T_ref[3]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] -// 153: aimc.rs.T_ref[2]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] -// 154: aimc.rs.T_ref[1]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] -// 155: aimc.rs.R[3]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] -// 156: aimc.rs.R[2]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] -// 157: aimc.rs.R[1]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] -// 158: aimc.rs.T[3]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] -// 159: aimc.rs.T[2]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] -// 160: aimc.rs.T[1]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] -// 161: aimc.rs.useHeatPort:PARAM(final = true ) = true "=true, if all HeatPorts are enabled" type: Boolean -// 162: aimc.rs.mh:PARAM(min = 1 final = true ) = 3 "Number of heatPorts=number of phases" type: Integer -// 163: aimc.rs.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 164: aimc.rs.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 165: aimc.rs.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer -// 166: aimc.plug_sn.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 167: aimc.plug_sp.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer -// 168: aimc.strayLoadParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference stray load torque at reference angular velocity and reference current" type: Real -// 169: aimc.strayLoadParameters.power_w:PARAM(min = 1e-60 ) = 1.0 "Exponent of stray load loss torque w.r.t. angular velocity" type: Real -// 170: aimc.strayLoadParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal / /*Real*/(aimc.p) "Reference angular velocity that PRef refers to" type: Real -// 171: aimc.strayLoadParameters.IRef:PARAM(min = 1e-60 start = 100.0 unit = "A" ) "Reference RMS current that PRef refers to" type: Real -// 172: aimc.strayLoadParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference stray load losses at IRef and wRef" type: Real -// 173: aimc.statorCoreParameters.wMin:PARAM(unit = "rad/s" final = true ) = 1e-06 * aimc.statorCoreParameters.wRef type: Real -// 174: aimc.statorCoreParameters.GcRef:PARAM(unit = "S" final = true ) = 0.0 "Reference conductance at reference frequency and voltage" type: Real -// 175: aimc.statorCoreParameters.ratioHysteresis:PARAM(min = 0.0 max = 1.0 start = 0.775 final = true ) = 0.0 "Ratio of hysteresis losses with respect to the total core losses at VRef and fRef" type: Real -// 176: aimc.statorCoreParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal "Reference angular velocity that reference core losses PRef refer to" type: Real -// 177: aimc.statorCoreParameters.VRef:PARAM(min = 1e-60 start = 100.0 unit = "V" ) "Reference inner RMS voltage that reference core losses PRef refer to" type: Real -// 178: aimc.statorCoreParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference core losses at reference inner voltage VRef" type: Real -// 179: aimc.statorCoreParameters.m:PARAM() = 3 "Number of phases (1 for DC, 3 for induction machines)" type: Integer -// 180: aimc.friction.frictionParameters.tauLinear:PARAM(unit = "N.m" final = true ) = 0.0 "Torque corresponding with linear angular velocity range" type: Real -// 181: aimc.friction.frictionParameters.wLinear:PARAM(unit = "rad/s" final = true ) = aimc.frictionParameters.wLinear "Linear angular velocity range" type: Real -// 182: aimc.friction.frictionParameters.linear:PARAM(final = true ) = 0.001 "Linear angular velocity range with respect to reference angular velocity" type: Real -// 183: aimc.friction.frictionParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference friction torque at reference angular velocity" type: Real -// 184: aimc.friction.frictionParameters.power_w:PARAM(min = 1e-60 ) = aimc.frictionParameters.power_w "Exponent of friction torque w.r.t. angular velocity" type: Real -// 185: aimc.friction.frictionParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.frictionParameters.wRef "Reference angular velocity that the PRef refer to" type: Real -// 186: aimc.friction.frictionParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference friction losses at wRef" type: Real -// 187: aimc.friction.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean -// 188: aimc.inertiaStator.stateSelect:PARAM(min = StateSelect.never max = StateSelect.always ) = StateSelect.default "Priority to use phi and w as states" type: enumeration(never, avoid, default, prefer, always) -// 189: aimc.inertiaStator.J:PARAM(min = 0.0 start = 1.0 unit = "kg.m2" ) = aimc.Js "Moment of inertia" type: Real -// 190: aimc.inertiaRotor.stateSelect:PARAM(min = StateSelect.never max = StateSelect.always ) = StateSelect.default "Priority to use phi and w as states" type: enumeration(never, avoid, default, prefer, always) -// 191: aimc.inertiaRotor.J:PARAM(min = 0.0 start = 1.0 unit = "kg.m2" ) = aimc.Jr "Moment of inertia" type: Real -// 192: aimc.frictionParameters.tauLinear:PARAM(unit = "N.m" final = true ) = 0.0 "Torque corresponding with linear angular velocity range" type: Real -// 193: aimc.frictionParameters.wLinear:PARAM(unit = "rad/s" final = true ) = 0.001 * aimc.frictionParameters.wRef "Linear angular velocity range" type: Real -// 194: aimc.frictionParameters.linear:PARAM(final = true ) = 0.001 "Linear angular velocity range with respect to reference angular velocity" type: Real -// 195: aimc.frictionParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference friction torque at reference angular velocity" type: Real -// 196: aimc.frictionParameters.power_w:PARAM(min = 1e-60 ) = 2.0 "Exponent of friction torque w.r.t. angular velocity" type: Real -// 197: aimc.frictionParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal / /*Real*/(aimc.p) "Reference angular velocity that the PRef refer to" type: Real -// 198: aimc.frictionParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference friction losses at wRef" type: Real -// 199: aimc.useThermalPort:PARAM(final = true ) = false "Enable / disable (=fixed temperatures) thermal port" type: Boolean -// 200: aimc.Js:PARAM(start = aimc.Jr unit = "kg.m2" ) "Stator's moment of inertia" type: Real -// 201: aimc.useSupport:PARAM(final = true ) = false "Enable / disable (=fixed stator) support" type: Boolean -// 202: aimc.Jr:PARAM(start = 0.29 unit = "kg.m2" ) = 2.0 "Rotor's moment of inertia" type: Real -// 203: aimc.pi:CONST(unit = "rad" ) = 3.141592653589793 type: Real -// 204: aimc.Lssigma:PARAM(start = 0.1017764061411688 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.004 "Stator stray inductance per phase" type: Real -// 205: aimc.Lszero:PARAM(unit = "H" ) = aimc.Lssigma "Stator zero sequence inductance" type: Real -// 206: aimc.alpha20s:PARAM(start = 0.0 unit = "1/K" ) "Temperature coefficient of stator resistance at 20 degC" type: Real -// 207: aimc.TsRef:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Reference temperature of stator resistance" type: Real -// 208: aimc.Rs:PARAM(start = 0.03 unit = "Ohm" ) = 0.435 "Stator resistance per phase at TRef" type: Real -// 209: aimc.TsOperational:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Operational temperature of stator resistance" type: Real -// 210: aimc.fsNominal:PARAM(start = 50.0 unit = "Hz" ) = 50.0 "Nominal frequency" type: Real -// 211: aimc.p:PARAM(min = 1 start = 2 ) = 2 "Number of pole pairs (Integer)" type: Integer +// 130: aimc.statorCore.m:PARAM(final = true ) = aimc.statorCore.coreParameters.m "Number of phases" type: Integer +// 131: aimc.statorCoreParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal "Reference angular velocity that reference core losses PRef refer to" type: Real +// 132: aimc.statorCoreParameters.wMin:PARAM(unit = "rad/s" final = true ) = 1e-06 * aimc.statorCoreParameters.wRef type: Real +// 133: aimc.statorCore.coreParameters.wMin:PARAM(unit = "rad/s" final = true ) = aimc.statorCoreParameters.wMin type: Real +// 134: aimc.statorCore.coreParameters.GcRef:PARAM(unit = "S" final = true ) = 0.0 "Reference conductance at reference frequency and voltage" type: Real +// 135: aimc.statorCore.coreParameters.ratioHysteresis:PARAM(min = 0.0 max = 1.0 start = 0.775 final = true ) = 0.0 "Ratio of hysteresis losses with respect to the total core losses at VRef and fRef" type: Real +// 136: aimc.statorCore.coreParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.statorCoreParameters.wRef "Reference angular velocity that reference core losses PRef refer to" type: Real +// 137: aimc.statorCoreParameters.VRef:PARAM(min = 1e-60 start = 100.0 unit = "V" ) "Reference inner RMS voltage that reference core losses PRef refer to" type: Real +// 138: aimc.statorCore.coreParameters.VRef:PARAM(min = 1e-60 unit = "V" ) = aimc.statorCoreParameters.VRef "Reference inner RMS voltage that reference core losses PRef refer to" type: Real +// 139: aimc.statorCore.coreParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference core losses at reference inner voltage VRef" type: Real +// 140: aimc.statorCore.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean +// 141: aimc.Lssigma:PARAM(start = 0.1017764061411688 / (6.283185307179586 * aimc.fsNominal) unit = "H" ) = 0.004 "Stator stray inductance per phase" type: Real +// 142: aimc.Lszero:PARAM(unit = "H" ) = aimc.Lssigma "Stator zero sequence inductance" type: Real +// 143: aimc.lszero.L:PARAM(start = 1.0 unit = "H" ) = aimc.Lszero "Inductance" type: Real +// 144: aimc.lssigma.L[2]:PARAM(unit = "H" ) = aimc.Lssigma "Inductance of both axes" type: Real [2] +// 145: aimc.lssigma.L[1]:PARAM(unit = "H" ) = aimc.Lssigma "Inductance of both axes" type: Real [2] +// 146: aimc.TsRef:PARAM(min = 0.0 start = 293.15 unit = "K" nominal = 300.0 ) "Reference temperature of stator resistance" type: Real +// 147: aimc.alpha20s:PARAM(start = 0.0 unit = "1/K" ) "Temperature coefficient of stator resistance at 20 degC" type: Real +// 148: aimc.rs.alpha[3]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] +// 149: aimc.rs.resistor[3].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[3] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] +// 150: aimc.rs.T_ref[3]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] +// 151: aimc.rs.resistor[3].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[3] "Reference temperature" type: Real [3] +// 152: aimc.Rs:PARAM(start = 0.03 unit = "Ohm" ) = 0.435 "Stator resistance per phase at TRef" type: Real +// 153: aimc.rs.R[3]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] +// 154: aimc.rs.resistor[3].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[3] "Resistance at temperature T_ref" type: Real [3] +// 155: aimc.rs.T[3]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] +// 156: aimc.rs.resistor[3].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[3] "Fixed device temperature if useHeatPort = false" type: Real [3] +// 157: aimc.rs.resistor[3].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] +// 158: aimc.rs.alpha[2]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] +// 159: aimc.rs.resistor[2].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[2] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] +// 160: aimc.rs.T_ref[2]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] +// 161: aimc.rs.resistor[2].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[2] "Reference temperature" type: Real [3] +// 162: aimc.rs.R[2]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] +// 163: aimc.rs.resistor[2].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[2] "Resistance at temperature T_ref" type: Real [3] +// 164: aimc.rs.T[2]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] +// 165: aimc.rs.resistor[2].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[2] "Fixed device temperature if useHeatPort = false" type: Real [3] +// 166: aimc.rs.resistor[2].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] +// 167: aimc.rs.alpha[1]:PARAM(unit = "1/K" ) = aimc.alpha20s / (1.0 + aimc.alpha20s * (-293.15 + aimc.TsRef)) "Temperature coefficients of resistances at reference temperatures" type: Real [3] +// 168: aimc.rs.resistor[1].alpha:PARAM(unit = "1/K" ) = aimc.rs.alpha[1] "Temperature coefficient of resistance (R_actual = R*(1 + alpha*(T_heatPort - T_ref))" type: Real [3] +// 169: aimc.rs.T_ref[1]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Reference temperatures" type: Real [3] +// 170: aimc.rs.resistor[1].T_ref:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T_ref[1] "Reference temperature" type: Real [3] +// 171: aimc.rs.R[1]:PARAM(start = 1.0 unit = "Ohm" ) = aimc.Rs "Resistances R_ref at temperatures T_ref" type: Real [3] +// 172: aimc.rs.resistor[1].R:PARAM(start = 1.0 unit = "Ohm" ) = aimc.rs.R[1] "Resistance at temperature T_ref" type: Real [3] +// 173: aimc.rs.T[1]:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.TsRef "Fixed device temperatures if useHeatPort = false" type: Real [3] +// 174: aimc.rs.resistor[1].T:PARAM(min = 0.0 start = 288.15 unit = "K" nominal = 300.0 ) = aimc.rs.T[1] "Fixed device temperature if useHeatPort = false" type: Real [3] +// 175: aimc.rs.resistor[1].useHeatPort:PARAM(final = true ) = true "=true, if HeatPort is enabled" type: Boolean [3] +// 176: aimc.rs.useHeatPort:PARAM(final = true ) = true "=true, if all HeatPorts are enabled" type: Boolean +// 177: aimc.rs.mh:PARAM(min = 1 final = true ) = 3 "Number of heatPorts=number of phases" type: Integer +// 178: aimc.rs.plug_n.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 179: aimc.rs.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 180: aimc.rs.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer +// 181: aimc.plug_sn.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 182: aimc.plug_sp.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer +// 183: aimc.strayLoadParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference stray load torque at reference angular velocity and reference current" type: Real +// 184: aimc.strayLoadParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference stray load losses at IRef and wRef" type: Real +// 185: aimc.statorCoreParameters.GcRef:PARAM(unit = "S" final = true ) = 0.0 "Reference conductance at reference frequency and voltage" type: Real +// 186: aimc.statorCoreParameters.ratioHysteresis:PARAM(min = 0.0 max = 1.0 start = 0.775 final = true ) = 0.0 "Ratio of hysteresis losses with respect to the total core losses at VRef and fRef" type: Real +// 187: aimc.statorCoreParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference core losses at reference inner voltage VRef" type: Real +// 188: aimc.friction.frictionParameters.tauLinear:PARAM(unit = "N.m" final = true ) = 0.0 "Torque corresponding with linear angular velocity range" type: Real +// 189: aimc.frictionParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = 6.283185307179586 * aimc.fsNominal / /*Real*/(aimc.p) "Reference angular velocity that the PRef refer to" type: Real +// 190: aimc.frictionParameters.wLinear:PARAM(unit = "rad/s" final = true ) = 0.001 * aimc.frictionParameters.wRef "Linear angular velocity range" type: Real +// 191: aimc.friction.frictionParameters.wLinear:PARAM(unit = "rad/s" final = true ) = aimc.frictionParameters.wLinear "Linear angular velocity range" type: Real +// 192: aimc.friction.frictionParameters.linear:PARAM(final = true ) = 0.001 "Linear angular velocity range with respect to reference angular velocity" type: Real +// 193: aimc.friction.frictionParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference friction torque at reference angular velocity" type: Real +// 194: aimc.frictionParameters.power_w:PARAM(min = 1e-60 ) = 2.0 "Exponent of friction torque w.r.t. angular velocity" type: Real +// 195: aimc.friction.frictionParameters.power_w:PARAM(min = 1e-60 ) = aimc.frictionParameters.power_w "Exponent of friction torque w.r.t. angular velocity" type: Real +// 196: aimc.friction.frictionParameters.wRef:PARAM(min = 1e-60 unit = "rad/s" ) = aimc.frictionParameters.wRef "Reference angular velocity that the PRef refer to" type: Real +// 197: aimc.friction.frictionParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference friction losses at wRef" type: Real +// 198: aimc.friction.useHeatPort:PARAM(final = true ) = true "=true, if heatPort is enabled" type: Boolean +// 199: aimc.inertiaStator.stateSelect:PARAM(min = StateSelect.never max = StateSelect.always ) = StateSelect.default "Priority to use phi and w as states" type: enumeration(never, avoid, default, prefer, always) +// 200: aimc.Jr:PARAM(start = 0.29 unit = "kg.m2" ) = 2.0 "Rotor's moment of inertia" type: Real +// 201: aimc.Js:PARAM(start = aimc.Jr unit = "kg.m2" ) "Stator's moment of inertia" type: Real +// 202: aimc.inertiaStator.J:PARAM(min = 0.0 start = 1.0 unit = "kg.m2" ) = aimc.Js "Moment of inertia" type: Real +// 203: aimc.inertiaRotor.stateSelect:PARAM(min = StateSelect.never max = StateSelect.always ) = StateSelect.default "Priority to use phi and w as states" type: enumeration(never, avoid, default, prefer, always) +// 204: aimc.inertiaRotor.J:PARAM(min = 0.0 start = 1.0 unit = "kg.m2" ) = aimc.Jr "Moment of inertia" type: Real +// 205: aimc.frictionParameters.tauLinear:PARAM(unit = "N.m" final = true ) = 0.0 "Torque corresponding with linear angular velocity range" type: Real +// 206: aimc.frictionParameters.linear:PARAM(final = true ) = 0.001 "Linear angular velocity range with respect to reference angular velocity" type: Real +// 207: aimc.frictionParameters.tauRef:PARAM(unit = "N.m" final = true ) = 0.0 "Reference friction torque at reference angular velocity" type: Real +// 208: aimc.frictionParameters.PRef:PARAM(min = 0.0 unit = "W" final = true ) = 0.0 "Reference friction losses at wRef" type: Real +// 209: aimc.useThermalPort:PARAM(final = true ) = false "Enable / disable (=fixed temperatures) thermal port" type: Boolean +// 210: aimc.useSupport:PARAM(final = true ) = false "Enable / disable (=fixed stator) support" type: Boolean +// 211: aimc.pi:CONST(unit = "rad" ) = 3.141592653589793 type: Real // 212: aimc.m:PARAM(final = true ) = 3 "Number of phases" type: Integer // 213: terminalBox.star.plug_p.m:PARAM(flow=false min = 1 final = true ) = 3 "Number of phases" type: Integer // 214: terminalBox.star.m:PARAM(min = 1 final = true ) = 3 "Number of phases" type: Integer diff --git a/simulation/modelica/tearing/Tearing12-cel.mos b/simulation/modelica/tearing/Tearing12-cel.mos index 8035e0ebb33..6ee556d1181 100644 --- a/simulation/modelica/tearing/Tearing12-cel.mos +++ b/simulation/modelica/tearing/Tearing12-cel.mos @@ -69,7 +69,7 @@ simulate(Tearing12); getErrorString(); // * Torn equation systems: 1 // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: -// * Linear torn systems: 1 {(61,76.6%) 844} +// * Linear torn systems: 1 {(60,77.4%) 845} // * Non-linear torn systems: 0 // " // endResult diff --git a/simulation/modelica/tearing/Tearing12-celMC3.mos b/simulation/modelica/tearing/Tearing12-celMC3.mos index ccc7fdb5c9f..a59507129a1 100644 --- a/simulation/modelica/tearing/Tearing12-celMC3.mos +++ b/simulation/modelica/tearing/Tearing12-celMC3.mos @@ -69,7 +69,7 @@ simulate(Tearing12); getErrorString(); // * Torn equation systems: 1 // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: -// * Linear torn systems: 1 {(89,41.3%) 816} +// * Linear torn systems: 1 {(53,72.4%) 852} // * Non-linear torn systems: 0 // " // endResult diff --git a/simulation/modelica/tearing/Tearing12-omc.mos b/simulation/modelica/tearing/Tearing12-omc.mos index cf71d7be16f..a1a6a5020a6 100644 --- a/simulation/modelica/tearing/Tearing12-omc.mos +++ b/simulation/modelica/tearing/Tearing12-omc.mos @@ -67,7 +67,7 @@ simulate(Tearing12); getErrorString(); // * Torn equation systems: 1 // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: -// * Linear torn systems: 1 {(77,71.4%) 828} +// * Linear torn systems: 1 {(77,71.3%) 828} // * Non-linear torn systems: 0 // " // endResult diff --git a/simulation/modelica/tearing/Tearing19-cel.mos b/simulation/modelica/tearing/Tearing19-cel.mos index 5445fed9171..0a85065229b 100644 --- a/simulation/modelica/tearing/Tearing19-cel.mos +++ b/simulation/modelica/tearing/Tearing19-cel.mos @@ -70,9 +70,9 @@ val(x5,0.0); getErrorString(); // * Mixed (continuous/discrete) equation systems: 0 // Notification: Torn system details for strict tearing set: // * Linear torn systems: 0 -// * Non-linear torn systems: 1 {1 8} +// * Non-linear torn systems: 1 {2 7} // " -// 0.1912059442455359 +// 0.191205944245536 // "" // 3.333983265654047 // "" diff --git a/simulation/modelica/tearing/dynamicTearing2.mos b/simulation/modelica/tearing/dynamicTearing2.mos index 24b13220350..37669af473b 100644 --- a/simulation/modelica/tearing/dynamicTearing2.mos +++ b/simulation/modelica/tearing/dynamicTearing2.mos @@ -47,9 +47,9 @@ simulate(dynamicTearing2, simflags="-lv=LOG_DT_CONS"); getErrorString(); // allEquations: // ======================================== // -// 20: $cse6=sin(2.0 * time) [Real ] +// 20: $cse4=sin(time) [Real ] // 21: $cse5=cos(time) [Real ] -// 22: $cse4=sin(time) [Real ] +// 22: $cse6=sin(2.0 * time) [Real ] // strict set: // 38: (LINEAR) index:1 jacobian: true // variables: @@ -114,9 +114,9 @@ simulate(dynamicTearing2, simflags="-lv=LOG_DT_CONS"); getErrorString(); // // algebraicEquations (1 systems): // ======================================== -// 20: $cse6=sin(2.0 * time) [Real ] +// 20: $cse4=sin(time) [Real ] // 21: $cse5=cos(time) [Real ] -// 22: $cse4=sin(time) [Real ] +// 22: $cse6=sin(2.0 * time) [Real ] // strict set: // 38: (LINEAR) index:1 jacobian: true // variables: @@ -196,9 +196,9 @@ simulate(dynamicTearing2, simflags="-lv=LOG_DT_CONS"); getErrorString(); // 6: 2.0 * x2 - sin(time) * x3 + x1 (RESIDUAL) // 5: 5.0 * x5 - x6 + sin(time) * x4 (RESIDUAL) // Jacobian idx: 0 -// 9: $cse3=sin(time) [Real ] +// 9: $cse1=sin(2.0 * time) [Real ] // 10: $cse2=cos(time) [Real ] -// 11: $cse1=sin(2.0 * time) [Real ] +// 11: $cse3=sin(time) [Real ] // 12: x3.$pDERLSJac0.dummyVarLSJac0=-0.5 * (-$cse2) * x2SeedLSJac0 - -2.0 * x4SeedLSJac0 [Real ] // 13: $res.3.$pDERLSJac0.dummyVarLSJac0=x2SeedLSJac0 - $cse3 * x3.$pDERLSJac0.dummyVarLSJac0 [Real ] // 14: x5.$pDERLSJac0.dummyVarLSJac0=(-x6SeedLSJac0) - 0.5 * $cse1 * x7SeedLSJac0 [Real ] @@ -268,9 +268,9 @@ simulate(dynamicTearing2, simflags="-lv=LOG_DT_CONS"); getErrorString(); // 37: $res.4.$pDERLSJac1.dummyVarLSJac1=x3SeedLSJac1 + -2.0 * x4.$pDERLSJac1.dummyVarLSJac1 - $cse5 * x5SeedLSJac1 [Real ] // // Jacobian idx: 0 -// 9: $cse3=sin(time) [Real ] +// 9: $cse1=sin(2.0 * time) [Real ] // 10: $cse2=cos(time) [Real ] -// 11: $cse1=sin(2.0 * time) [Real ] +// 11: $cse3=sin(time) [Real ] // 12: x3.$pDERLSJac0.dummyVarLSJac0=-0.5 * (-$cse2) * x2SeedLSJac0 - -2.0 * x4SeedLSJac0 [Real ] // 13: $res.3.$pDERLSJac0.dummyVarLSJac0=x2SeedLSJac0 - $cse3 * x3.$pDERLSJac0.dummyVarLSJac0 [Real ] // 14: x5.$pDERLSJac0.dummyVarLSJac0=(-x6SeedLSJac0) - 0.5 * $cse1 * x7SeedLSJac0 [Real ]