1.3 Simulation numérique
a) Écrire une fonction Euler qui prend en paramètres un vecteur de temps t, une position initiale
X0, une vitesse initiale V0, et qui renvoie une matrice composée de trois colonnes, chacune étant
une coordonnée de la solution approchée avec la méthode d’Euler (par exemple, M= [x, y, z],
avec x= (x0, ..., xn),y= (y0, ..., yn),z= (z0, ..., zn). Remarque: écrire des fonctions valables
pour le cas général où B et E dépendent de l’espace et du temps.
b) Écrire une fonction AfficherSolution qui prend en paramètres le pas de temps ∆t, le temps final
T, et qui affiche la trajectoire approchée de la solution avec la méthode d’Euler.
c) Bonus: Écrire une fonction AnimationSolution qui affiche une animation, un film montrant le
déplacement de la particule au cours du temps.
d) Écrire une fonction EulerRichardson, similaire à la fonction Euler, mais basée sur la méthode
d’Euler-Richardson à pas adaptatif 1.
e) Bonus: En s’inspirant de l’algorithme d’Euler-Richardson, proposez une méthode d’ordre 4à pas
adaptatif.
Data: Donnée initiale x(t0), temps final T, pas de temps ∆t, tolérance d’erreur tol
Result: Approximation de la fonction xsolution du problème de Cauchy
˙x(t) = f(t, x(t)), x(t0) = x0
x0=x(t0);
while t < T do
k1=f(tn, xn);
k2=f(tn+∆tn
2, xn+∆tn
2k1);
ǫ=|k2−k1|;
if ǫ > tol then
∆t= 0.9qtol
ǫ∆t
else
xn+1 =xn+k2∆tn;
∆t= 0.9qtol
ǫ∆t;
tn+1 =tn+ ∆t;
end
end
Algorithm 1: Méthode d’Euler-Richardson
1.4 Application: accélérateur de particules
Dans ce cas, on supposera E=E0e3et B=B0e3. Pour le problème de Cauchy, on posera X(0) =
(0,0,0) et ˙
X(0) = (1,0,1).
a) Solution exacte. Calculer la solution exacte du problème de Cauchy dans ce cas. Pour cela, on
commencera par découpler le système (une EDO sur z, un système d’EDO couplées sur xet y),
puis on introduira la notation u=x+iy, on résoudra une EDO sur u, puis on identifiera la
partie réelle et la partie imaginaire de upour trouver la solution.
2