SymOrb.jl
Symmetric periodic orbits in the n-body problem in Julia
What
SymOrb.jl
is a Julia package provides tools for finding periodic and symmetric solutions to the gravitational $n$-body problem using a variational approach. It is a reimplementation in a unified Julia environment of the original symorb package, which was written in Fortran and Python.
Quick start
- Install
SymOrb
by typing] add https://github.com/DipMathUniTO/SymOrb.jl
- Write a configuration file
config.toml
symmetry_name = "2d_cyclic_2"
NOB = 3
dim = 2
m = [1, 1, 1]
# Group generators
kern = "TrivialKerTau(2)"
action_type = 0
rotV = "[[-1, 0], [0, -1] ]"
rotS = "(2,3)"
# Other configs
F = 24
Omega = [
[0, 0],
[0, 0]
]
- Initialize the problem
using SymOrb
P = initialize("config.toml")
- Find a periodic orbit
orbits = find_orbits(P)
- Show the orbit
using GLMakie
path_animation(P, orbits[1].fourier_coeff)