# -*- coding: utf-8 -*- from math import cos, sin from opt_params import par g = 9.81 def fdxdt(yy, uu): [ v_vnu, omega, v_L, x_vnu, theta_vnu, L_vnu] = yy [F_car,F_load,M_car,M_load,cfr_car,cfr_load,cfr_kela] = uu dxdt =[ F_car/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + F_load*sin(theta_vnu)/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*L_vnu*cfr_load*omega*sin(theta_vnu)**2*cos(theta_vnu)/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*L_vnu*cfr_load*omega*cos(theta_vnu)**3/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) - 2.0*L_vnu*cfr_load*omega*cos(theta_vnu)/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) - 2.0*cfr_car*v_vnu/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) - 2.0*cfr_kela*v_L*sin(theta_vnu)/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*cfr_load*v_L*sin(theta_vnu)**3/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*cfr_load*v_L*sin(theta_vnu)*cos(theta_vnu)**2/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) - 2.0*cfr_load*v_L*sin(theta_vnu)/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*cfr_load*v_vnu*sin(theta_vnu)**2/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) + 2.0*cfr_load*v_vnu*cos(theta_vnu)**2/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load) - 2.0*cfr_load*v_vnu/(M_car - M_load*sin(theta_vnu)**2 - M_load*cos(theta_vnu)**2 + M_load), -F_car*M_load*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - F_load*M_load*sin(theta_vnu)*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*L_vnu*M_car*cfr_load*omega*sin(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*L_vnu*M_car*cfr_load*omega*cos(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)**4/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)**2*cos(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - M_car*M_load*g*sin(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*M_car*M_load*omega*v_L/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*M_car*cfr_load*v_vnu*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + M_load**2*g*sin(theta_vnu)**3/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + M_load**2*g*sin(theta_vnu)*cos(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - M_load**2*g*sin(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*M_load**2*omega*v_L*sin(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*M_load**2*omega*v_L*cos(theta_vnu)**2/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*M_load**2*omega*v_L/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*M_load*cfr_car*v_vnu*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*M_load*cfr_kela*v_L*sin(theta_vnu)*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*M_load*cfr_load*v_L*sin(theta_vnu)**3*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) - 2.0*M_load*cfr_load*v_L*sin(theta_vnu)*cos(theta_vnu)**3/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2) + 2.0*M_load*cfr_load*v_L*sin(theta_vnu)*cos(theta_vnu)/(L_vnu*M_car*M_load - L_vnu*M_load**2*sin(theta_vnu)**2 - L_vnu*M_load**2*cos(theta_vnu)**2 + L_vnu*M_load**2), -F_car*M_load*sin(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - F_load*M_car/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + F_load*M_load*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - F_load*M_load/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + L_vnu*M_car*M_load*omega**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - L_vnu*M_load**2*omega**2*sin(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - L_vnu*M_load**2*omega**2*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + L_vnu*M_load**2*omega**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)**3*cos(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)*cos(theta_vnu)**3/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*L_vnu*M_load*cfr_load*omega*sin(theta_vnu)*cos(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + M_car*M_load*g*cos(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*M_car*cfr_kela*v_L/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*M_car*cfr_load*v_L*sin(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*M_car*cfr_load*v_L*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*M_car*cfr_load*v_vnu*sin(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - M_load**2*g*sin(theta_vnu)**2*cos(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - M_load**2*g*cos(theta_vnu)**3/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + M_load**2*g*cos(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*M_load*cfr_car*v_vnu*sin(theta_vnu)/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*M_load*cfr_kela*v_L*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*M_load*cfr_kela*v_L/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*M_load*cfr_load*v_L*sin(theta_vnu)**2*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) + 2.0*M_load*cfr_load*v_L*cos(theta_vnu)**4/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2) - 2.0*M_load*cfr_load*v_L*cos(theta_vnu)**2/(M_car*M_load - M_load**2*sin(theta_vnu)**2 - M_load**2*cos(theta_vnu)**2 + M_load**2), v_vnu, omega, v_L] return dxdt ##################### def Flukko(yy, uu): [F_car,F_load,M_car,M_load,cfr_car,cfr_load,cfr_kela] = uu return M_load*g