Simulateur à N corps
Explorer des particules en interaction en une, deux ou trois dimensions, avec forces et conditions initiales modifiables.
À propos de cet outil
Explorer quelques particules en interaction. Commencez par l'orbite circulaire à deux corps, inspectez son énergie et sa quantité de mouvement, puis changez une masse ou une vitesse. Démarrer/reprendre continue une exécution en pause. Un pas met en pause et avance d'exactement un Δt ; Réinitialiser reconstruit l'état à partir des valeurs initiales modifiables. Une modification physique arrête l'exécution. Choisir une scène remplace toutes les valeurs initiales, constantes de force, formules personnalisées et remplacements. Changer de dimensions préserve les coordonnées cachées, vitesses et brouillons de formules ; seules les dimensions sélectionnées évoluent. Les formules de paire personnalisées survivent au passage à un autre préréglage de force et au retour.
Unités et forces. Choisir des unités de masse, longueur, temps et charge cohérentes. Ce sont des unités de modèle, pas automatiquement SI. Les positions ont l'unité longueur, les vitesses longueur/temps, les forces masse·longueur/temps² et l'énergie masse·longueur²/temps². G a pour unité longueur³/(masse·temps²). Le k de Coulomb a pour unité énergie·longueur/charge² ; le k de ressort énergie/longueur² ; pour Lennard–Jones, k est une énergie et σ une longueur. ε est la longueur d'adoucissement Gravité/Coulomb. Une exécution 1D ou 2D contraint le mouvement à une droite ou un plan tout en conservant la même loi de force ponctuelle.
Pour une paire, dx=x−xj et de même pour y/z. r²=dx²+dy²+dz² et r=√r² sont des distances géométriques. La gravité utilise F=−G·m·mj·Δr/(r²+ε²)^(3/2), Coulomb F=k·q·qj·Δr/(r²+ε²)^(3/2), et les ressorts de paire F=−k·Δr avec longueur au repos nulle. Lennard–Jones utilise U=4k[(σ/r)^12−(σ/r)^6] et F=24k[2(σ/r)^12−(σ/r)^6]·Δr/r² : répulsion à courte portée, attraction au-delà de r=2^(1/6)σ. Il n'utilise ni adoucissement ni facteur de masse. Les chevauchements singuliers ou expressions indéfinies arrêtent l'exécution au lieu de produire une force nulle.
Expressions personnalisées. Les composantes sont des forces, divisées par la masse réceptrice pour obtenir l'accélération. Variables de paire : t, m, mj, q, qj, dx, dy, dz, r, r2, x, y, z, xj, yj, zj, G, k, eps, sigma. Variables de champ global/local : t, m, q, x, y, z, G, k. Un remplacement substitue toutes les forces de paire reçues par cette particule ; il ne remplace pas la force reçue par son partenaire. Les forces externes locales s'ajoutent aux forces globales. Utiliser Fx; Fy; Fz dans les éditeurs de remplacement ; les composantes omises valent zéro et un remplacement de paire entièrement vide conserve la loi partagée. Les dimensions inactives sont conservées mais ignorées. Par exemple une force globale 2*m; −m; 3*m donne une accélération constante (2; −1; 3) en 3D ; saisir des signes moins ASCII ordinaires dans les formules.
Les opérateurs pris en charge sont +, -, *, /, %, ^, **, comparaisons, &&, ||, ! et condition ? oui : non. Les deux puissances s'associent à droite : 2^3^2=512 et −2^2=−4. Les branches conditionnelles sont en court-circuit, donc r>0 ? 1/r : 0 est valide. Les fonctions mathématiques pures comprennent abs, sqrt, cbrt, pow, exp, log/log10/log2, les fonctions trigonométriques et hyperboliques et leurs inverses, atan2, hypot, min, max, floor, ceil, round, trunc, sign, expm1 et log1p. Math.pow et les autres noms Math autorisés fonctionnent aussi ; les constantes comprennent PI et E. Pas de globaux, d'affectations, d'accès objet ni de random(). Chaque composante autorise 1 024 caractères, 256 nœuds de syntaxe et une profondeur d'imbrication 32. Les calculs intermédiaires non finis sont des erreurs.
Lire les résultats. L'énergie cinétique, la quantité de mouvement et le centre de masse sont toujours disponibles. L'énergie totale et E−E₀ ne sont affichées que pour un préréglage de paire connu sans champs additionnels ni remplacements actifs ; les formules personnalisées arbitraires n'ont pas de potentiel inféré. Pour des remplacements dirigés ou des champs externes, la quantité de mouvement n'est pas nécessairement conservée. La méthode numérique est velocity Verlet à pas fixe. Un Δt plus petit améliore en général la précision ; les rencontres proches et la répulsion raide peuvent exiger des pas bien plus petits. C'est un modèle pédagogique à quelques particules, sans fusion de collisions ni solveur adaptatif.
La scène circulaire a G=m=1, rayon 0.5 et vitesse √0.5. Le triangle utilise la vitesse de rotation adaptée à son adoucissement. Les données en huit sont des conditions initiales publiées arrondies, donc une récurrence exacte à long terme n'est pas promise ; la scène perturbée est une illustration, pas un classifieur de chaos. Le graphique offre des projections orthographiques XY/XZ/YZ en 3D et des échelles égales. Ajustement, projection et visibilité des traînées ne changent pas le temps du modèle. Les traînées conservent xyz physique et le temps, au plus 500 échantillons par particule, espacés d'au moins 0.02 unités de temps du modèle.
Limites et sauvegarde. Il y a 2–12 particules, Δt=0.0001–0.1 et lecture 0.01–10 unités de temps du modèle/seconde. Les masses sont 10⁻⁶–10⁶ ; coordonnées, vitesses et charges initiales bornées par ±10⁶ ; G et k par 0–10⁶ ; ε par 0–1 000 ; σ par 10⁻⁶–1 000. Jusqu'à 32 pas d'intégration sont effectués par image. Le temps de modèle restant est conservé ; lorsque cette limite est atteinte, le retard est signalé et rattrapé selon la capacité de calcul. Les onglets/outils masqués arrêtent l'horloge du modèle. Avec les animations réduites, le premier Démarrer prépare un état en pause ; un second Démarrer anime explicitement. Seuls les brouillons d'entrée et les réglages de vue sont sérialisés, pas les trajectoires. Les brouillons jusqu'à la limite de 1 500 caractères de la plateforme peuvent survivre au rechargement ; les plus grands restent en mémoire du module pendant la navigation et sont perdus au rechargement, avec un avis visible.
Références : potentiel LAMMPS 12–6, velocity Verlet, adoucissement de Plummer, données en huit de Montgomery.
Le PNG enregistre la projection actuelle, avec axes et traces, sans faire avancer la simulation.