SymOrb.jl
Symmetric periodic orbits in the n-body problem in Julia
What
SymOrb.jl is a Julia package that provides tools for finding periodic and symmetric solutions to the gravitational $n$-body problem using a variational approach. It is a modular refactoring in a unified Julia environment of the original symorb package, which was written in Fortran and Python.
Documentation
The online documentation is available at https://dipmathunito.github.io/SymOrb.jl/dev/
Installation
A full guide through the installation is available at https://dipmathunito.github.io/SymOrb.jl/dev/installation/
Quick start
- Install
SymOrbfollwing the guide linked above - 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)