Solve an ODE on a torus

7 vues (au cours des 30 derniers jours)
T.C.
T.C. le 5 Juin 2024
Commenté : T.C. le 6 Juin 2024
I have an ODE that I need to solve on a torus. Namely, I have many "point charges" that I need to put on the square , and I need to study a motion under the action of said points. The problem is, I'd really like to set it up as if the square were a torus, so that when I exit from one side I pop up from the opposite one. However, I do not know how to impose this. Notice, also, that I am using the brand new tool "Solve" from the latest release since it seems to speed things up quite a bit (basically because MATLAB knows better than me what method to use...).

Réponses (1)

John D'Errico
John D'Errico le 5 Juin 2024
Modifié(e) : John D'Errico le 5 Juin 2024
Simple enough. Just transform the problem. So if [u,v] live on [0,1]x[0,1], then
s = (cos(2*pi*u)+1)/2
t = (cos(2*pi*v)+1)/2
also lives on [0,1]x[0,1], but (s,t) now behave as you wish.
  1 commentaire
T.C.
T.C. le 6 Juin 2024
So you say to change variables in the ODE and use those? I can try something like that, the problems are that:
1) The change of variables need to be an isometry, so that the metric does not change;
2) The interaction with the charges depend on the distance of the particle with them. So I'd need to consider that as well.
I think I can do it with some work.I was wondering if maybe there was an obscure MATLAB function that achieved this and that I did not know about.

Connectez-vous pour commenter.

Tags

Produits


Version

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by