If you wonder where to find specific things, this readme should make things clear. I will go shortly over each of the folders.
In this place, you find all the code I have written so far.
- The archive contains old code not needed in the forseeable future.
- The folder cpp contains the up-to-date code. You can find source code as well as many examples in there. The source code is structured as follows: The subdirectory magsphere contains the main code of this project, written in C++. You can download the source code and compile it yourself with
g++ -o magsphere.out -I/usr/include/eigen3 magsphere.cpp(you may need to adapt the Eigen path). Then, modify the input file to your liking and execute the simulation by./magsphere.out < input. You can use this python script to get a quick overview over a calculation. The bash script can be used to start many calculations automatically sweeping over some range of input values. To analyse the data, you find the (well-documented) python package simutils. To install it, simply go to the parent directory and executepip install .. Since the package uses numpy-docstrings, you can call help() on any function to obtain extensive information. - The animation directory is still work in progress. It may contain code to animate the output of the main program in manim one day.
Here you can find the images I created with inkscape. Those are mostly overview images of the system's physics.
This folder contains the complete theoretical background and all my derivations for the main system.
This contains a quick detour I did about the topology of the sine surface and the Seifert-van Kampen Theorem.