I’m trying to run a Modelica code in SystemModeler:
model code //constants constant Real pi = 2 * Modelica.Math.asin(1.0); parameter Real mukpc = 0.2; parameter Real muspc = 0.0; parameter Real mukps = 0.0; parameter Real musps = 0.0; parameter Real mukcs = 0.2; parameter Real muscs = 0.0; parameter Real mp = 1.0; parameter Real js = 2.0; parameter Real b1 = 0.01; parameter Real b2 = 0.01; parameter Real b3 = 0.015; parameter Real r1 = 0.01; parameter Real r2 = 0.003; parameter Real r3 = 0.003; parameter Real Ts = 1; parameter Real Tw = 0.9; parameter Real absTol = 0.01; //variables Real X1, X2, X3, Y1, Y2, Y3, tets, V1, V2, V3, omgs, A1, A2, A3, alps, Fp1, Fp2, Fp3, Fncp1, Fncp2, Fncp3, Ffcp1, Ffcp2, Ffcp3, Tcp1, Tcp2, Tcp3, Ffsp1, Ffsp2, Ffsp3, Fnsp1, Fnsp2, Fnsp3, Tfsp1, Tfsp2, Tfsp3, Text, Tfsc, Fscx, Fscy, T1, T2, T3; initial equation tets = pi / 3; omgs = 0.1; equation //inpute forces Fp1 = if mod(time, 3 * Ts) < Tw then 1000 else 0; Fp2 = if mod(time, 3 * Ts) < Tw + Ts and mod(time, 3 * Ts) > Ts then 1000 else 0; Fp3 = if mod(time, 3 * Ts) < Tw + 2 * Ts and mod(time, 3 * Ts) > 2 * Ts then 1000 else 0; Text = 0; //derivatives V1 = der(X1); V2 = der(X2); V3 = der(X3); A1 = der(V1); A2 = der(V2); A3 = der(V3); omgs = der(tets); alps = der(omgs); //kinematics X1 = r1 * cos(tets) + r2; Y1 = r1 * sin(tets); X2 = r1 * cos(tets + 2 * pi / 3) + r2; Y2 = r1 * sin(tets + 2 * pi / 3); X3 = r1 * cos(tets + 4 * pi / 3) + r2; Y3 = r1 * sin(tets + 4 * pi / 3); //dynamic equations //shaft js * alps = T1 + T2 + T3 - Text - Tfsc; Fscx = Fnsp1 + Fnsp2 + Fnsp3; Fscy = Ffsp1 + Ffsp2 + Ffsp3; //Fsc =sqrt(Fscx^2+Fscx^2); T1 = Fnsp1 * Y1 - Ffsp1 * X1 - Tfsp1; T2 = Fnsp1 * Y2 - Ffsp2 * X2 - Tfsp2; T3 = Fnsp3 * Y3 - Ffsp3 * X3 - Tfsp3; //p1 mp * A1 = Fp1 - Ffcp1 - Fnsp1; Ffsp1 = Fncp1; Tfsp1 + Fnsp1 * (b2 / 2 - Y1) = Ffsp1 * b1 - Fp1 * b2 / 2 + Tcp1; //p2 mp * A2 = Fp2 - Ffcp2 - Fnsp2; Ffsp2 = Fncp2; Tfsp2 + Fnsp2 * (b2 / 2 - Y2) = Ffsp2 * b1 - Fp2 * b2 / 2 + Tcp2; //p3 mp * A3 = Fp3 - Ffcp3 - Fnsp3; Ffsp3 = Fncp3; Tfsp3 + Fnsp3 * (b2 / 2 - Y3) = Ffsp3 * b1 - Fp3 * b2 / 2 + Tcp3; //friction Ffcp1 = -mukpc * (abs(Fncp1) + abs(Tcp1 / b3)) * sign(V1); Ffcp2 = -mukpc * (abs(Fncp2) + abs(Tcp2 / b3)) * sign(V2); Ffcp3 = -mukpc * (abs(Fncp3) + abs(Tcp3 / b3)) * sign(V3); Tfsp1 = 0; Tfsp2 = 0; Tfsp3 = 0; Ffsp1 = 0; Ffsp2 = 0; Ffsp3 = 0; Tfsc = mukcs * sqrt(Fscx ^ 2 + Fscy ^ 2) * sign(omgs); end code;
But I get the error:
Error
Simulation of foo exited with an error(-1073741819), see log window for details
and then:
Error: Could not read result file “C:/Users/foo/AppData/Local/Temp/WolframSystemModeler-5.0.0/sme.5.0.0_1510933977_23281.mat”. Missing data_2 matrix, the file might be corrupt.
I would appreciate if you could help me understand what is the problem and how can I solve it?