12
votes

Aide avec les intégrateurs symplectiques


4 commentaires

Fondamentalement, je veux juste intégrer un problème de N-corporel. Je suppose que les paramètres sont alors les positions des corps, la momente et les masses.


Je suis allé sous l'hypothèse selon laquelle les problèmes généraux N-corporels ne peuvent pas être résolus symboliquement, que c'est la raison pour laquelle les intégrateurs numériques (tels que les intégrateurs de RK4 et symplectiques) sont utilisés. Si vous voulez dire mettre en place le problème avec les équations différentielles appropriées, ne vous inquiétez pas pour cela. Il m'a fallu un certain temps pour que l'intégrateur RK4 fonctionne également, mais cela a davantage à faire de ma capacité à transférer des équations mathématiques au code (c'est-à-dire qu'il est possible de pouvoir le faire, mais ne pourrez pas non plus écrire de code à fais-le).


Je rougis. Je vous lisez tous les questions à tout ce qui est rapidement et simplement vu "symbolique" où vous avez écrit "symplectique". Mes excuses, mais tous mes commentaires (maintenant supprimés du mauvais point) étaient basés sur cette malentendance.


Oh, ok, pas de soucis alors. Le problème que je vais avoir concerne simplement un intégrateur symplectique au code. Je ne reçois nulle part avec mes tentatives alors je voulais juste voir comment d'autres personnes le font.


3 Réponses :


7
votes

Comme vous avez demandé le code source: de ici Vous pouvez télécharger MATLAB et Code ForTran pour des méthodes symétriques pour les systèmes hamiltoniens et les méthodes symétriques de problèmes réversibles. Et beaucoup d'autres méthodes pour traiter aussi des équations diff.

et dans Ce document Vous pouvez trouver la description de les algorithmes.

Modifier

Si vous utilisez Mathematica Ceci peut aider aussi.


3 commentaires

Merci, cela aide définitivement! Ce dont j'avais besoin était d'avoir les équations dans des papiers décrits dans le code et que le lien que vous avez fourni, cela.


@George Comme vous l'avez vu, des exemples de code source pour des algorithmes symplectiques sont rares sur le Web. Lorsque vous avez terminé, envisagez de poster votre code quelque part pour aider les autres dans le besoin.


Je peux certainement apprécier comment les exemples d'effrayage sont. Bien qu'un grand nombre de papiers soient écrits sur des algorithmes symplectiques utilisés pour résoudre divers problèmes, il semble que ces mêmes scientifiques ne mettent pas le code pour leurs algorithmes sur le Web. Je posterai un lien plus tard si je peux obtenir un algorithme symplectique de travail.



1
votes

Je suis dans le domaine de l'accélérateur physique (sources de lumière synchrotron) et dans les électrons de modélisation se déplaçant par des champs magnétiques, nous utilisons régulièrement des intégrateurs symboliques. Notre carrosserie de base est un intégrateur symplectique de 4ème ordre. Comme indiqué dans les commentaires ci-dessus, ces codes ne sont malheureusement pas normalisés ou facilement disponibles.

Un open source code de suivi basé Matlab est appelé accélérateur Boîte à outils. Il y a un projet Sourceforge appelé ATCollab. Voir un wiki désordonné ici https://sourceforge.net/apps/mediawiki/atcollab/index.php ? Titre = Main_Page

Pour les intégrateurs, vous pouvez regarder ici: https://sourceforge.net/p/atcollab/code- 0/235 / Tree / Trunk / Aintegors / Les intégrateurs sont écrits en C avec MEX Lien vers Matlab. Parce que les électrons sont relativistes, les termes cinétiques et potentiels ont un peu différent de celui de l'affaire non relativiste, mais on peut toujours écrire le hamiltonien comme H = H1 + H2 où H1 est une dérive et H2 est un coup de pied (disons d'aimants quadripolaires ou d'autres champs magnétiques).


0 commentaires

2
votes

Voici le code source d'une méthode de composition de quatrième ordre basé sur le schéma de verlet. Une régression linéaire de $ \ log_ {10} (\ delta t) $ vs. \ log_ {10} (erreur) $ montrera une pente de 4, comme prévu de la théorie (voir le graphique ci-dessous). Plus d'informations peuvent être trouvées ici , ici ou ICI . xxx

comparaison de commande


0 commentaires