Running command: translateModel(OpenHPL.Examples.HPSimple_Francis_IPSLGenInfBus,tolerance=0.0001,outputFormat="empty",numberOfIntervals=10000,variableFilter="",fileNamePrefix="OpenHPL_OpenHPL.Examples.HPSimple_Francis_IPSLGenInfBus") Notification: Performance of loadModel(OpenHPL): time 2.427/2.427, allocations: 258 MB / 265.1 MB, free: 5.387 MB / 218.7 MB Notification: Performance of FrontEnd - loaded program: time 2.916e-05/2.924e-05, allocations: 7.938 kB / 327.7 MB, free: 10 MB / 266.7 MB Notification: Performance of FrontEnd - Absyn->SCode: time 0.1328/0.1329, allocations: 60.23 MB / 387.9 MB, free: 13.67 MB / 330.7 MB Notification: Performance of FrontEnd - scodeFlatten: time 0.4375/0.5704, allocations: 108.4 MB / 496.3 MB, free: 3.949 MB / 378.7 MB Notification: Performance of FrontEnd - mkProgramGraph: time 0.0002266/0.5707, allocations: 83.5 kB / 496.4 MB, free: 3.941 MB / 378.7 MB Notification: Performance of FrontEnd - DAE generated: time 0.1783/0.749, allocations: 43.36 MB / 0.5271 GB, free: 1.781 MB / 410.7 MB Notification: Performance of FrontEnd: time 2.094e-06/0.749, allocations: 0 / 0.5271 GB, free: 1.781 MB / 410.7 MB Notification: Performance of Transformations before backend: time 0.0002104/0.7492, allocations: 51.94 kB / 0.5272 GB, free: 1.73 MB / 410.7 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 398 * Number of variables: 398 Notification: Performance of Generate backend data structure: time 0.009624/0.7589, allocations: 2.695 MB / 0.5298 GB, free: 15.17 MB / 426.7 MB Notification: Performance of prepare preOptimizeDAE: time 4.248e-05/0.7589, allocations: 12.03 kB / 0.5298 GB, free: 15.16 MB / 426.7 MB Notification: Performance of preOpt normalInlineFunction (simulation): time 0.0056/0.7646, allocations: 0.7083 MB / 0.5305 GB, free: 14.5 MB / 426.7 MB Notification: Performance of preOpt evaluateParameters (simulation): time 0.003656/0.7682, allocations: 1.232 MB / 0.5317 GB, free: 13.46 MB / 426.7 MB Notification: Performance of preOpt simplifyIfEquations (simulation): time 0.0004571/0.7687, allocations: 299 kB / 0.532 GB, free: 13.13 MB / 426.7 MB Notification: Performance of preOpt expandDerOperator (simulation): time 0.000409/0.7692, allocations: 99.41 kB / 0.5321 GB, free: 13.04 MB / 426.7 MB Notification: Performance of preOpt removeEqualFunctionCalls (simulation): time 0.004549/0.7737, allocations: 1.658 MB / 0.5337 GB, free: 11.99 MB / 426.7 MB Notification: Performance of preOpt clockPartitioning (simulation): time 0.004116/0.7779, allocations: 1.589 MB / 0.5353 GB, free: 10.8 MB / 426.7 MB Notification: Performance of preOpt findStateOrder (simulation): time 5.064e-05/0.778, allocations: 0 / 0.5353 GB, free: 10.8 MB / 426.7 MB Notification: Performance of preOpt replaceEdgeChange (simulation): time 0.0002184/0.7782, allocations: 0 / 0.5353 GB, free: 10.8 MB / 426.7 MB Notification: Performance of preOpt inlineArrayEqn (simulation): time 4.694e-05/0.7782, allocations: 40 kB / 0.5353 GB, free: 10.76 MB / 426.7 MB Notification: Performance of preOpt removeSimpleEquations (simulation): time 0.0181/0.7964, allocations: 6.207 MB / 0.5414 GB, free: 4.402 MB / 426.7 MB Notification: Performance of preOpt comSubExp (simulation): time 0.01245/0.8089, allocations: 3.255 MB / 0.5445 GB, free: 1.098 MB / 426.7 MB Notification: Performance of preOpt resolveLoops (simulation): time 0.002366/0.8113, allocations: 0.8631 MB / 0.5454 GB, free: 248 kB / 426.7 MB Notification: Performance of preOpt evalFunc (simulation): time 0.001337/0.8126, allocations: 0.8876 MB / 0.5462 GB, free: 15.17 MB / 442.7 MB Notification: Performance of preOpt encapsulateWhenConditions (simulation): time 4.759e-05/0.8127, allocations: 48.56 kB / 0.5463 GB, free: 15.11 MB / 442.7 MB Notification: Performance of pre-optimization done (n=179): time 5.584e-06/0.8127, allocations: 0 / 0.5463 GB, free: 15.11 MB / 442.7 MB [/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OMCompiler/build/lib/omlibrary/Modelica 3.2.3/Blocks/Math.mo:552:5-552:12:writable] Error: Model is structurally singular, error found sorting equations 114: Frequency.y = Frequency.k * order2_1.w; 112: governor.add3.u2 = governor.gain_f.k * Frequency.y; 115: governor.P_ref = power.offset + (if time < power.startTime then 0.0 else if time < power.startTime + power.duration then (time - power.startTime) * power.height / power.duration else power.height); 108: governor.look_up_table.u[1] = governor.gain_P.k * governor.P_ref; 94: governor.look_up_table.y[1] = Modelica.Blocks.Tables.Internal.getTable1DValue(governor.look_up_table.tableID, 1, governor.look_up_table.u[1]); 104: der(governor.control.x_scaled[1]) = (governor.control.a_end * governor.Y_gv - governor.control.a[2] * governor.control.x_scaled[1]) / governor.control.a[1]; 106: governor.control.x[1] = governor.control.x_scaled[1] / governor.control.a_end; 107: governor.add1.u2 = governor.gain_droop.k * governor.Y_gv; 105: governor.control.y = (governor.control.bb[2] - governor.control.a[2] * governor.control.d) * governor.control.x[1] + governor.control.d * governor.Y_gv; 111: governor.add2.u2 = governor.add3.k1 * governor.const.k + governor.add3.k2 * governor.add3.u2; 113: governor.add2.u1 = governor.gain_droop2.k * governor.look_up_table.y[1]; 109: governor.add1.y = governor.add1.k1 * governor.control.y + governor.add1.k2 * governor.add1.u2; 95: der(governor.pilot_servo.x_scaled[1]) = (governor.pilot_servo.a_end * governor.add2.y - governor.pilot_servo.a[2] * governor.pilot_servo.x_scaled[1]) / governor.pilot_servo.a[1]; 110: governor.add2.y = governor.add2.k1 * governor.add2.u1 + governor.add2.k2 * governor.add2.u2 + governor.add2.k3 * governor.add1.y; 97: governor.pilot_servo.x[1] = governor.pilot_servo.x_scaled[1] / governor.pilot_servo.a_end; 96: governor.pilot_servo.y = (governor.pilot_servo.bb[2] - governor.pilot_servo.a[2] * governor.pilot_servo.d) * governor.pilot_servo.x[1] + governor.pilot_servo.d * governor.add2.y; 101: governor.gain_T_s.y = governor.gain_T_s.k * governor.pilot_servo.y; 46: turbine.d0_2 = turbine.l * (turbine.r_v ^ 2.0 - turbine.R_v_ ^ 2.0) / (turbine.l - turbine.R_v_); 47: turbine.theta_0 = turbine.theta0 - acos(0.5 * (turbine.r_v ^ 2.0 + turbine.R_v_ ^ 2.0 - turbine.d0_2) / (turbine.R_v_ * turbine.r_v)); 52: turbine.Wdot_t_n = turbine.W_t1_n + turbine.k_ft3_ * turbine.Vdot_n_ ^ 2.0 - turbine.W_t2_n; 51: turbine.W_t1_n = 0.1047197551196598 * data.rho * turbine.Vdot_n_ ^ 2.0 * turbine.n_n * turbine.R_1_ * turbine.cot_a1_n / turbine.A_1; 53: turbine.alpha1_n = atan(1.0 / turbine.cot_a1_n); 54: turbine.alpha1_n = acos(0.5 * turbine.d_n / turbine.l) - acos(0.5 * (turbine.d_n ^ 2.0 + turbine.R_v_ ^ 2.0 - turbine.r_v ^ 2.0) / (turbine.R_v_ * turbine.d_n)); 55: turbine.theta_n = turbine.theta0 - acos(0.5 * (turbine.r_v ^ 2.0 + turbine.R_v_ ^ 2.0 - turbine.d_n ^ 2.0) / (turbine.R_v_ * turbine.r_v)); 83: der(order2_1.delta) = order2_1.w_b * (-1.0 + order2_1.w); 82: order2_1.iq = order2_1.c2 * order2_1.vd + order2_1.vf_MB * order2_1.c1 - order2_1.c1 * order2_1.vq; 81: order2_1.id = order2_1.vf_MB * order2_1.c3 + (-order2_1.c3) * order2_1.vq - order2_1.c1 * order2_1.vd; 88: infiniteBus.p.vi = (sin(order2_1.delta) * order2_1.vq - cos(order2_1.delta) * order2_1.vd) * order2_1.V_MBtoSB; 87: infiniteBus.p.vr = (sin(order2_1.delta) * order2_1.vd + cos(order2_1.delta) * order2_1.vq) * order2_1.V_MBtoSB; 92: Normilizer.y = Normilizer.k * Normilizer.u; 91: order2_1.pe = (order2_1.vq + order2_1.ra * order2_1.iq) * order2_1.iq + (order2_1.vd + order2_1.ra * order2_1.id) * order2_1.id; 84: der(order2_1.w) = (Normilizer.y * order2_1.S_SBtoMB - order2_1.pe) / order2_1.M; 27: penstock.v = penstock.Vdot / penstock.A_; 26: penstock.Vdot = penstock.mdot / data.rho; 28: penstock.M = data.rho * penstock.L * penstock.Vdot; 29: penstock.F_f = OpenHPL.Functions.DarcyFriction.Friction(penstock.v, penstock.D_, penstock.L, data.rho, data.mu, penstock.p_eps); 23: der(tail.m) = 0.0; 19: tail.A = tail.H * (tail.w + 2.0 * tail.H * tan(0.0174532925199433 * tail.alpha)); 21: tail.F_f = 0.0; 20: tail.m = data.rho * tail.A * tail.L; 15: discharge.v = discharge.Vdot / discharge.A_; 14: discharge.Vdot = penstock.mdot / data.rho; 22: 0.0 = tail.A * (data.p_a - discharge.p_o) + data.g * data.rho * tail.A * tail.H - tail.F_f; 16: discharge.M = data.rho * discharge.L * discharge.Vdot; 17: discharge.F_f = OpenHPL.Functions.DarcyFriction.Friction(discharge.v, discharge.D_, discharge.L, data.rho, data.mu, discharge.p_eps); 30: der(penstock.M) = data.rho * penstock.Vdot ^ 2.0 * (1.0 / penstock.A_i + (-1.0) / penstock.A_o) + intake.p_o * penstock.A_i + penstock.m * data.g * penstock.cos_theta + (-penstock.F_f) - penstock.p_o * penstock.A_o; 18: der(discharge.M) = data.rho * discharge.Vdot ^ 2.0 * (1.0 / discharge.A_i + (-1.0) / discharge.A_o) + discharge.p_i * discharge.A_i + discharge.m * data.g * discharge.cos_theta + (-discharge.F_f) - discharge.p_o * discharge.A_o; 79: turbine.dp_tr = penstock.p_o - discharge.p_i; 75: turbine.cot_a2 = turbine.cot_b2 + RealizerAng.y * turbine.R_2_ * turbine.A_2 / turbine.Vdot; 76: turbine.cot_g1 = turbine.cot_a1 - RealizerAng.y * turbine.R_1_ * turbine.A_1 / turbine.Vdot; 65: turbine.Wdot_ft_l = if governor.Y_gv < turbine.u_min then turbine.k_ft4 * turbine.Vdot ^ 2.0 else turbine.k_ft3_ * turbine.Vdot ^ 2.0; 64: turbine.Wdot_ft_w = if governor.Y_gv < turbine.u_min then 0.0 else turbine.k_ft2_ * turbine.Vdot * turbine.cot_a2 ^ 2.0; 63: turbine.Wdot_ft_s = if governor.Y_gv < turbine.u_min then 0.0 else turbine.k_ft1_ * turbine.Vdot * (turbine.cot_g1 - turbine.cot_b1) ^ 2.0; 77: turbine.dp_tr * turbine.Vdot + 0.5 * penstock.mdot * turbine.Vdot ^ 2.0 * (turbine.A_0 ^ (-2.0) - turbine.A_2 ^ (-2.0)) = turbine.Wdot_t; 66: turbine.Wdot_ft = turbine.Wdot_ft_s + turbine.Wdot_ft_w + turbine.Wdot_ft_l; 78: turbine.Wdot_t = Normilizer.u + turbine.Wdot_ft; 61: turbine.W_t2 = penstock.mdot * RealizerAng.y * turbine.R_2_ * (RealizerAng.y * turbine.R_2_ + turbine.Vdot * turbine.cot_b2 / turbine.A_2); 34: surgeTank.m = data.rho * surgeTank.A * surgeTank.l; 5: der(reservoir.m) = 0.0; 1: reservoir.A = reservoir.H * (reservoir.w + 2.0 * reservoir.H * tan(0.0174532925199433 * reservoir.alpha)); 3: reservoir.F_f = 0.0; 2: reservoir.m = data.rho * reservoir.A * reservoir.L; 9: intake.v = intake.Vdot / intake.A_; 4: 0.0 = reservoir.A * (data.p_a - intake.p_i) + data.g * data.rho * reservoir.A * reservoir.H - reservoir.F_f; 10: intake.M = data.rho * intake.L * intake.Vdot; 11: intake.F_f = OpenHPL.Functions.DarcyFriction.Friction(intake.v, intake.D_, intake.L, data.rho, data.mu, intake.p_eps); 12: der(intake.M) = data.rho * intake.Vdot ^ 2.0 * (1.0 / intake.A_i + (-1.0) / intake.A_o) + intake.p_i * intake.A_i + intake.m * data.g * intake.cos_theta + (-intake.F_f) - intake.p_o * intake.A_o; 42: surgeTank.F_g = surgeTank.m * data.g * surgeTank.cos_theta; 35: surgeTank.F_f = OpenHPL.Functions.DarcyFriction.Friction(surgeTank.v, surgeTank.D, surgeTank.l, data.rho, data.mu, surgeTank.p_eps); 41: surgeTank.F_p = (intake.p_o - data.p_a) * surgeTank.A; 40: surgeTank.F = surgeTank.F_p + (-surgeTank.F_f) - surgeTank.F_g; 39: surgeTank.Mdot = surgeTank.mdot * surgeTank.v; 32: der(surgeTank.m) = surgeTank.mdot; 33: der(surgeTank.M) = surgeTank.Mdot + surgeTank.F; 37: surgeTank.M = surgeTank.m * surgeTank.v; 38: surgeTank.v = surgeTank.Vdot / surgeTank.A; 6: intake.Vdot = data.rho; 36: surgeTank.mdot = data.rho * surgeTank.Vdot; 8: intake.Vdot = intake.mdot / data.rho; 93: RealizerAng.y = RealizerAng.k * order2_1.w; 57: turbine.Vdot = penstock.mdot / data.rho; 62: Normilizer.u = turbine.W_t1 - turbine.W_t2; 43: surgeTank.mdot = intake.mdot - penstock.mdot; 60: turbine.W_t1 = penstock.mdot * RealizerAng.y * turbine.R_1_ * turbine.Vdot * turbine.cot_a1 / turbine.A_1; 74: turbine.cot_a1 = cos(turbine.alpha1) / turbine.sin_a1; 71: turbine.r_v ^ 2.0 = turbine.d ^ 2.0 + turbine.R_v_ ^ 2.0 + (-2.0) * turbine.d * turbine.R_v_ * cos(turbine.psi); 59: turbine.sin_a1 = sin(turbine.alpha1); 73: turbine.alpha1 = turbine.phi - turbine.psi; 72: cos(turbine.phi) = 0.5 * turbine.d / turbine.l; 45: turbine.theta0 = acos(turbine.r_Y / turbine.R_Y); 70: turbine.d ^ 2.0 = turbine.r_v ^ 2.0 + turbine.R_v_ ^ 2.0 + (-2.0) * turbine.r_v * turbine.R_v_ * cos(turbine.dtheta); 48: turbine.R_Y = 1.8 + turbine.r_Y; 69: turbine.dtheta = turbine.theta - turbine.theta0; 49: turbine.u_start = sqrt(turbine.r_Y ^ 2.0 + turbine.R_Y ^ 2.0 + (-2.0) * turbine.r_Y * turbine.R_Y * cos(turbine.theta_0)); 50: turbine.u_end = sqrt(turbine.r_Y ^ 2.0 + turbine.R_Y ^ 2.0 + (-2.0) * turbine.r_Y * turbine.R_Y * cos(turbine.theta_n)); 68: turbine.Y ^ 2.0 = turbine.r_Y ^ 2.0 + turbine.R_Y ^ 2.0 + (-2.0) * turbine.r_Y * turbine.R_Y * cos(turbine.theta); 67: turbine.Y = turbine.u_start + governor.Y_gv * (turbine.u_end - turbine.u_start); 103: governor.Y_gv = homotopy(smooth(0, if governor.main_servo.y > governor.limiter_Y_gv.uMax then governor.limiter_Y_gv.uMax else if governor.main_servo.y < governor.limiter_Y_gv.uMin then governor.limiter_Y_gv.uMin else governor.main_servo.y), governor.main_servo.y); 99: governor.main_servo.y = (governor.main_servo.bb[2] - governor.main_servo.a[2] * governor.main_servo.d) * governor.main_servo.x[1] + governor.main_servo.d * governor.limiter_dotY_gv.y; 102: governor.limiter_dotY_gv.y = homotopy(smooth(0, if governor.gain_T_s.y > governor.limiter_dotY_gv.uMax then governor.limiter_dotY_gv.uMax else if governor.gain_T_s.y < governor.limiter_dotY_gv.uMin then governor.limiter_dotY_gv.uMin else governor.gain_T_s.y), governor.gain_T_s.y); 100: governor.main_servo.x[1] = governor.main_servo.x_scaled[1] / governor.main_servo.a_end; 98: der(governor.main_servo.x_scaled[1]) = (governor.main_servo.a_end * governor.limiter_dotY_gv.y - governor.main_servo.a[2] * governor.main_servo.x_scaled[1]) / governor.main_servo.a[1]; for variables governor.control.x_scaled[1](72), governor.add2.u2(68), governor.pilot_servo.x_scaled[1](80), pwLinewithOpening1.ir.im(47), RealizerAng.y(87), pwLinewithOpening1.is.im(51), pwLinewithOpening1.vr.im(49), pwLinewithOpening1.vr.re(50), pwLinewithOpening1.is.re(52), pwLine2.Q12(44), pwLinewithOpening1.ir.re(48), pwLine2.P12(46), order2_1.pe(90), pwLine2.P21(45), governor.look_up_table.u[1](84), Normilizer.u(89), pwLinewithOpening1.Q21(53), turbine.W_t1(132), turbine.Wdot_ft_l(128), turbine.Wdot_ft_s(130), turbine.W_t2(131), turbine.Wdot_t(127), turbine.Vdot(126), turbine.c_m1(125), order2_1.vd(94), order2_1.P(96), order2_1.w(97), order2_1.id(92), order2_1.vq(93), governor.pilot_servo.x[1](81), governor.pilot_servo.y(82), turbine.theta_0(108), penstock.dp(149), penstock.p_o(150), penstock.Vdot(148), surgeTank.Mdot(144), turbine.theta(121), reservoir.m(178), reservoir.F_f(176), penstock.v(153), tail.Vdot_i(157), discharge.M(164), tail.H(155), reservoir.A(179), tail.A(159), surgeTank.M(145), tail.m(158), turbine.d_n(103), turbine.theta_n(102), turbine.alpha1_n(101), turbine.d(114), turbine.sin_a1(116), turbine.cot_g1(117), order2_1.p.ir(100), turbine.Y(112), order2_1.p.ii(99), turbine.cot_a1(119), surgeTank.m(146), intake.M(171), intake.mdot(174), intake.v(173), reservoir.H(175), intake.Vdot(167), intake.F_f(172), discharge.v(166), discharge.dp(161), discharge.Vdot(160), surgeTank.F_g(138), surgeTank.F(143), surgeTank.F_f(139), surgeTank.h(137), surgeTank.Vdot(136), discharge.p_i(163), surgeTank.mdot(147), surgeTank.v(141), surgeTank.F_p(140), intake.p_i(170), surgeTank.l(142), intake.dp(168), Normilizer.y(88), turbine.dtheta(120), turbine.cot_a2(118), turbine.dp_tr(135), turbine.phi(123), turbine.W_t1_n(105), turbine.u_end(107), turbine.psi(122), turbine.u_start(106), turbine.cot_a1_n(104), turbine.Wdot_ft(133), turbine.d0_2(109), turbine.Wdot_ft_w(129), turbine.R_Y(113), tail.F_f(156), penstock.F_f(152), turbine.Y0(111), turbine.theta0(110), pwLinewithOpening1.Q12(54), governor.P_ref(86), pwLinewithOpening1.P21(55), governor.Y_gv(85), governor.look_up_table.y[1](83), order2_1.delta(98) Error: Internal error Transformation Module PFPlusExt index Reduction Method Pantelides failed!