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 = m a 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).