- #1

Arman777

Gold Member

- 2,170

- 189

Thanks

You are using an out of date browser. It may not display this or other websites correctly.

You should upgrade or use an alternative browser.

You should upgrade or use an alternative browser.

- Thread starter Arman777
- Start date

- #1

Arman777

Gold Member

- 2,170

- 189

Thanks

- #2

jedishrfu

Mentor

- 14,193

- 8,181

More specifically, the Open Source Physics library and Java is one way. They have a three body example in java that shows the various known solutions to the problem. They have a book that teaches an intro to computational physics.

Another is Matlab and its collection of libraries and toolboxes. Youll have to search for a book or course that discusses the tecniques to use. Mathworks has many resources and notes on its website to get you going.

Python and Anaconda is yet another route.

There is a lot to learn here. While you could bash your way through some examples you’ll always have a doubt that your sim is correct if you don’t understand the math and physics.

I learned via the java route through a grad course i took based on the OSP book and code. I already knew java quite well so that part was easy and the prof guided us through the hard stuff. The funny part was he didn't fully understand java and the new version of the book switched from using basic to using java.

- #3

Arman777

Gold Member

- 2,170

- 189

Hmm so where should I start ?

- #4

jedishrfu

Mentor

- 14,193

- 8,181

I'd start with the math:

- Algebra

- Geometry

- Algebra 2 ie trig in particular, series, sequences for Calculus ...

- Calculus 1,2,3

- Differential Eqns

- Linear Algebra

At this point, you should have a good basis for doing any classical mechanics, E&M Theory and Quantum Mechanics at the undergrad level using all the math you've studied so far.

Then the physics:

- Classical Mechanics

And lastly the programming:

- either Java+OSP or Matlab or Python

Finally, you need to understand the specifics of encoding a set of differential equations to solve for numerically in the environment chosen.

https://www.wired.com/2016/06/way-solve-three-body-problem/

Personally, I'd choose learning Java and using OSP because it's designed for doing computational physics in an academic environment. However, there's a lot to be said for using Matlab too.

https://www.compadre.org/osp/items/detail.cfm?ID=9777

https://stackoverflow.com/questions/5293535/programming-a-3-body-problem-using-matlab

Python I'm not as sure of although its heavily used in Data Science and Machine Learning work, but using Numpy and related libraries you could construct some good simulations and Python is easier to learn than Java.

https://github.com/htx1219/Python/blob/master/222/Three Body Problem.py

Miscellaneous resources:

https://www.newscientist.com/articl...dy-problem-has-over-a-thousand-new-solutions/

https://javalab.org/en/three_body_problem_en/

- #5

berkeman

Mentor

- 64,166

- 15,375

With a 2-body simulation...?Hmm so where should I start ?

How far along are you in your math learning? Have you had calculus yet?

What programming languages are you most familiar with?

- #6

Arman777

Gold Member

- 2,170

- 189

Yes that also came to my mind today. I ll start from there.With a 2-body simulation...?

pythonWhat programming languages are you most familiar with?

Once I did a trajectory for an electron under the lorentz force. I guess this would be more complicated but I ll try.Finally, you need to understand the specifics of encoding a set of differential equations to solve for numerically in the environment chosen.

I can't learn java currently so I ll go with python.

- #7

aaroman

- 55

- 15

Then the optimization issues appear: using Barnes-Hut, neighbors lists and so on... some things I mentioned on the blog. Unfortunately the associated projects are in C++, not python.

Share:

- Last Post

- Replies
- 7

- Views
- 532

- Replies
- 8

- Views
- 714

MHB
What should we do if the number of bytes to be transferred are not in multiples of eight in ipv4?

- Last Post

- Replies
- 0

- Views
- 217

- Last Post

- Replies
- 19

- Views
- 1K

- Replies
- 5

- Views
- 488

- Last Post

- Replies
- 4

- Views
- 383

- Replies
- 1

- Views
- 200

- Replies
- 0

- Views
- 672

- Last Post

- Replies
- 0

- Views
- 582

- Last Post

- Replies
- 2

- Views
- 362