Site de Hajo Numerical Physics : Calculer, pas simuler
Numerical Physics
Les méthodes numériques jouent depuis longtemps un rôle essentiel dans la recherche en physique. L'environnement
de programmation «Numerical Physics» a pour but d'aider à aborder ce thème dans l'enseignement scolaire à l'aide
d'un langage de programmation simple qui ne soit pas encombré par des commandes d'entrée, de sortie et graphiques.
Celles-ci sont placées dans un préambule de programme séparé et ne sont pas nécessaires pour la compréhension du
programme proprement dit. Contrairement aux simulations habituelles, il est ainsi possible de suivre comment le
résultat est obtenu à l'aide des équations de base simples connues.
La partie du programme que les élèves doivent comprendre ne contient pour l'essentiel que ces quelques équations
comme F = ma ou sn = sn+1
+ v Δt. Cela permet p. ex. de présenter l'évolution d'une oscillation
de ressort, sous forme de graphique ou de simulation. Comme le programme maîtrise le calcul vectoriel, il est tout
aussi facile de présenter les mouvements des planètes, les trajectoires des électrons dans le champ magnétique
(y compris la possible trajectoire en spirale) ou l'expérience de Rutherford.
Même des sujets complexes comme le puits de potentiel carré ou la distribution d'énergie dans un gaz
idéal peuvent être traités, mais avec un effort de programmation plus important.
Dans d'autres matières comme la biologie, la relation prédateur-proie, p. ex., peut également être illustrée
avec ce programme.
Les exemples cités sont brièvement présentés ci-dessous. Des exemples de programmes et leurs explications plus
détaillées peuvent être téléchargés dans la section «Télécharger» sous «Examples.zip»
ou «AllInOne».
Un programme très simple : trajectoire d'un projectile
Il n'y a pas plus simple : seules les équations pour le mouvement rectiligne et l'accélération constante sont
nécessaires, mais dans une boucle avec un intervalle de temps Δt très court à chaque passage.
Mais les points forts de l'environnement de program­mation sont déjà apparents : séparation totale de la physique
et de l'entrée/sortie des données et des graphiques , maîtrise du calcul vectoriel, affichage d'une simulation
au lieu d'un graphique et, pour la simulation, synchronisation avec le temps réel.
Un autre programme simple : Oscillation d'un ressort
Les définitions de la vitesse et de l'accélération, la loi de Hook et l'équation de base de Newton sont
nécessaires. Ainsi, à partir des valeurs de départ, on calcule la position et la vitesse suivantes de la
masse oscillante. Cette opération est répétée en boucle.
Oscillation amortie:
En ajoutant un terme d'amortissement, il est également possible de visualiser des oscillations amorties.
La représentation dans l'espace des phases peut également être réalisée facilement en remplaçant le temps
par la deuxième variable (impulsion ou vitesse) dans la commande GRAPH.
Oscillations couplés :
Le même programme que ci-dessus, mais deux fois. A cela s'ajoute la force de couplage avec des signes
différents pour les deux ressorts (marquée en couleur dans le texte du programme). On voit clairement comment l'énergie circule entre les deux ressorts.
Animation des oscillations couplés :
C'est en gros le même programme que précédemment. La différence entre l'affichage sous forme de
graphique ou de simulation réside dans une seule instruction dans la partie définition.
De plus, l'évolution temporelle peut être synchronisée avec le temps réel. Sans couplage, la
période d'une masse ici est de 2.0 s.
Calcul vectoriel : Force de Lorentz
Le langage de programmation maîtrise le calcul vectoriel. Il permet p. ex. de calculer les orbites des
planètes et les trajectoires des particules chargées dans le champ magnétique aussi facilement que
l'oscillation d'un ressort à l'aide de la force de Lorentz. On voit ici la trajectoire en spirale d'un
électron dans le champ magnétique.
L'opérateur pour le produit en croix est #.
Système solaire
Le problème des 3 corps peut également être traité à l'aide du calcul vectoriel. Si possible, afficher
les les images en cliquant avec le bouton droit de la souris pour les agrandir.
Dans le programme de gauche, les forces réciproques du Soleil, de la Terre et de la Lune sont calculées.
(L'effet sur le Soleil peut être ignoré en raison de sa grande masse.) La distance Terre-Lune est
calculée comme la différence entre les vecteurs Soleil-Terre et Soleil-Lune.
Dans le programme de droite, les forces réciproques de la Terre et de la Lune sont prises en compte. On
peut voir comment la Terre tourne autour du centre de gravité commun (point blanc). (Placez la souris sur
ce point pour voir qu'il reste stable. Agrandir l'image, p. ex. avec la molette de la souris.)
Physique quantique :
La mathématique des ondes de DeBroglie pour l'équation de Schroedinger indépendante du temps est la même
que celle des oscillations de ressort. Le puits de potentiel (infini et fini) peuvent être traités avec
la même méthode.
Cependant, le programme est plus complexe : il faut chercher un état non divergent par itération de l'énergie
de la particule.
Gaz parfait :
Numerical Physics permet également des études statistiques. Ici, la répartition de l'énergie des particules
dans un gaz idéal est calculée. La courbe théorique est également montrée à titre de comparaison.
Toutes les np particules reçoivent une énergie initiale correspondant à la température
T, puis chacune entre nc fois en collision avec chacune d'elles. Les équations
pour le choc élastique donnent les nouvelles énergies.
Autres sciences naturelles P. ex., biologie : relation prédateur-proie :
Cet environnement de programmation peut également être utilisé pour d'autres sciences naturelles.
En biologie, p. ex., le modèle proie-prédateur peut être traitée à l'aide des équations de
Lotka-Volterra (populations en fonction du temps ou sous forme de diagramme de phase).