I need to solve some coupled differentials equations for a physic project, and i manage to make my script working. However, the results I get are completely false despite having checked the coefficients I'm using. Is this script any good or is there so errors ?
#résolution vectorielle des 2 équations couplées p5 et p6 par la méthode de Runge Kutta ordre 4 (?) (odeint)
#importation des bibliothèques
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
# Mise de l'équation sous forme dY/dt = f(Y,t) (cf classeur TIPE)
# Y = [[u],[v]] , u = dr / dt et v = ds /dt
# odeint prend en argument (la fonction f, les conditions initiales, )
#? Calcul des coefficients
epsilon = 30e-3 #rayon du javelot en m
gamma = 2 #Cx amimensionné
rho = 1.204 #masse volumique de l'air en kg/m^3
L = 2700e-3 #longueur javelot en m
m = 800e-3 #masse javelot en kg
delta = 10 (np.pi/180) #angle d'attaque en rad
alpha = np.pi/4 #angle de lancé en rad
g = 9.81
betaj = 8*gamma*rho*epsilon*L #8gamma*rho*epsilon*L de dim M.L^-1
gammaj = 2*gamma*np.pi*rho*np.square(epsilon) #en M.L^-1
a = -(gammaj + betaj*np.abs(np.sin(delta)))/m
b = -g + (betaj/m) * np.sin(delta)*np.sin(alpha)
# définition de f(Y,t)
def SecondMembre(Y,t) : #u vitesse selon ux, v vitesse selon uy
u = Y[0]
v = Y[1]
dudt = a*u**2 + a*v**2
dvdt = b*u**2 + b*v**2
return([dudt, dvdt])
#tableau de temps en lesquels la fonction fournit la solution Y(t)
#n est le nombre de temps dans la liste, ti le temps initial et tf le temps final en seconde
ti=0
tf=30
n=200
t=np.linspace(ti,tf,n)
#conditions initiales
u0 = 7.07
v0 = 7.07
CondInit=np.array([u0,v0])
#utilisation de odeint
Ys = odeint(SecondMembre, CondInit, t) #renvoie une matrice avec u et v pour les 200 pas de temps
u=Ys[:,0]
v=Ys[:,1] #! c'est une fonction numpy et pas un tableau python classique
print(u)
There is the link to the documentation from which I took the equations if any of you want to check, it is at page 5/6 https://www.leshatton.org/Documents/jav2005a_paper.pdf
I've tried to solve it by puting the equations under a matrix form, but im not sure of it
thanks for your help