Inscription / Connexion Nouveau Sujet
Forum Autre
Partager :

Syntaxe python

Posté par
Macair
08-07-15 à 20:15

Bonjour à tous,

je cherche à tracer la trajectoire d'un objet de masse quelconque aux abords d'un point de lagrange L4.
Je connais les équations de la trajectoire. Donc mon programme est très simple, une boucle for suffit, avec un pas noté h.
Cependant en lançant mon programme dans la console, il n'y a aucun problème. Ensuite quand j'applique ma fonction avec des données, j'ai deux messages d'erreur: - concernant le module appelé
- et ensuite par une division par zéro que je ne trouve nul part

Voici l'algo et le message d'erreur:

import math
def stabL4 (h,x0,y0,a,M0,M,Vx0,Vy0): #M0 étant la masse la plus élevée
    liste_x=[x0]
    liste_y=[y0]
    G=6.67*10**-11
    omega=math.sqrt(G*(M0+M)/a**3)        
    a1=-0.75*x0-1.299*y0-2*Vy0/omega                  
    A1=-2.598*x0-4.5*y0+3.25*Vx0/omega-1.299*Vy0/omega
    a2=1.75*x0+1.299*y0+2*Vy0/omega    
    A2=(5.19*x0+9*y0-4.5*Vx0/omega+2.5981*Vy0/omega)/math.sqrt(27*M/M0)
    w1=omega
    w2=0.5*omega*math.sqrt(27*M/M0)
    k=M/M0
    K=3/4*math.sqrt(3)*(1-k)/(1+k)
    A=K*(w1**2+3/4*omega**2)/(K**2*omega**2+4*w1**2)
    B=2*w1*(w1**2+3/4*omega**2)/(omega*(K**2*omega**2+4*w1**2))
    C=K*(w2**2+3/4*omega**2)/(K**2*omega**2+4*w2**2)
    D=2*w2*(w2**2+3/4*omega**2)/(omega*(K**2*omega**2+4*w2**2))
    L=1
    for L in range (1,(3600*24*365.25)//h):
        t=h*L
        liste_x.append(a1*math.cos(w1*t)+a2*math.cos(w2*t)+A1*math.sin(w1*t)+A2*math.sin(w2*t))
        liste_y.append((B*A1-A*a1)*math.cos(w1*t)-(B*a1+A*A1)*math.sin(w1*t)-(C*a2-D*A2)*math.cos(w2*t)-(C*A2+D*a2)*math.sin(w2*t))
    return (liste_x,liste_y)

# a=1.5 * 10^11m pour Terre/Soleil
# G=6.67* 10^-11 SI
#M(Terre)=6*10^24 kg
#M(Soleil)= 2*10^30 kg

stabL4(1,-5*10**8,9.23*10**7,1.5*10**11,2*10**30,6*10**24,2,136)

Pouvez vous me dire ce qui ne va pas ?

merci beaucoup

Syntaxe python

Posté par
vanoise
re : Syntaxe python 23-07-15 à 00:14

Bonsoir,
Je ne suis pas compétent en langage Python. Juste quelques remarques.
S'il s'agit, comme tu l'as écrit, de préparer un TIPE, je ne crois pas que chercher juste à imiter le contenu du site de Gilbert Gastebois sur le sujet soit un bon plan. Ce site sera sûrement connu du jury. Il vaut mieux un sujet peu ambitieux mais bien maîtrisé qu'un sujet mal maîtrisé sur le plan théorique.
Tu pourrais commencer par programmer des courbes de niveau, c'est à dire des courbes de même potentiel. Voici l'exemple du système soleil -Jupiter où le niveau U = 0 est arbitrairement fixé aux points L4 et L5 (croix rouges) les centres du soleil et de Jupiter correspondent aux croix vertes. Le potentiel décroit à partir de ces points dans toutes les directions (positions d'équilibre instable) mais pas aussi rapidement dans toutes les directions, d'où la forme allongée des équipotentielles au voisinage des points L4 et L5. Le second schéma est un "zoom" du premier au voisinage de L4. Il y aurait beaucoup à dire sur les allures de ces équipotentielles. Pourrais-tu, par exemple, en déduire des indications sur la direction, le sens et la norme de la résultante (forces de gravitation + force d'inertie) ?


Pour la trajectoire autour de L4, au lieu de chercher seulement à tracer les courbes dont les équations sont fournies par Gilbert Gastebois, tu pourrais écrire les équations différentielles du mouvement puis chercher à les intégrer numériquement avec un moyen informatique.Les forces sont très peu intenses, le mouvement est toujours relativement lent. Voici un exemple étudié sur une durée de 300ans. Les trajectoires sont extrêmement variables selon les conditions initiales mais l'objet ne s'éloigne jamais définitivement du point L4 même s'il peut, à certaines dates, en être très éloigné. C'est pour cette raison que L4 et L5 sont parfois qualifiés, de façon à mon avis un peu abusive, de positions stables.

Syntaxe python

Syntaxe python

Syntaxe python

Posté par
Macair
re : Syntaxe python 23-07-15 à 21:28

Bonjour
Je comprends votre point de vu... Je ne compte pas faire un copier coller bien évidemment mais je comptais juste vérifier mes si tout marchait comme je le voulais.
Mais en tout cas merci, je compte etudier vos pistes.

Posté par
michelle2015
A votre attention 02-08-15 à 22:06

Bonjour la communauté. J'ai une information à partager avec vous vu la joie qui m'anime.

Edit Coll : effacé

Merci de faire passer le message

Cordialement



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2024

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !