Solve an ODE on a torus

7 views (last 30 days)
T.C.
T.C. on 5 Jun 2024
Commented: T.C. on 6 Jun 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...).

Answers (1)

John D'Errico
John D'Errico on 5 Jun 2024
Edited: John D'Errico on 5 Jun 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 Comment
T.C.
T.C. on 6 Jun 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.

Sign in to comment.

Tags

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!