Solve an ODE on a torus

7 visualizzazioni (ultimi 30 giorni)
T.C.
T.C. il 5 Giu 2024
Commentato: T.C. il 6 Giu 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...).

Risposte (1)

John D'Errico
John D'Errico il 5 Giu 2024
Modificato: John D'Errico il 5 Giu 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 Commento
T.C.
T.C. il 6 Giu 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.

Accedi per commentare.

Tag

Prodotti


Release

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by