Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Einrichtung der wissenschaftlichen N-Body-Simulation AstroGen2

profile picture
Author
Kimi Sickinger, Philip Späth
Published
2025-03-05
Time to read
5 minutes reading time

Einführung

Dieses Tutorial erklärt, wie die AstroGen2-Simulation auf einem Linux-Server installiert und analysiert wird, um die Sternentstehung in Galaxien und Galaxienwechselwirkungen zu untersuchen.

Voraussetzungen

Bevor du beginnst, stelle sicher, dass dein Server die folgenden Anforderungen erfüllt.

Dieses Tutorial erklärt wie du die Simulation auf einem Linux-Server durchführen, die erzeugten Daten auf ein Windows-Gerät kopieren und diese dort analysieren kannst. Es ist theoretisch aber auch möglich die Simulation und die Analyse der Simulationsergebnisse auf einem einzelnen Windows-Gerät durchführen.

Für die Installation und Simulation:

  • Betriebssystem: Windows oder Linux (Ubuntu empfohlen)

  • Bereits installiert:

    Vor dem Start, installiere die folgende Software auf deinem System:

    • CMake (Version 3.10 oder höher)
    • GCC (GNU Compiler Collection)
    sudo apt update
    sudo apt install cmake gcc g++

Für die Analyse der Simulationsergebnisse:

  • Betriebssystem: Windows

Schritt 1 - Installation

Verbinde dich mit deinem Linux-Server und klone das Repository auf deinen Rechner:

cd ~ && git clone https://github.com/Philip-Spaeth/AstroGen2.git

Navigiere in das Projektverzeichnis:

cd ~/AstroGen2/simulation

Baue das Projekt mit CMake:

mkdir build && cd build
cmake ..
make

Schritt 2 - Einrichtung der Startdaten der Galaxien

Die Anfangsbedingungen für die Galaxien müssen im Verzeichnis ~/AstroGen2/input_data/ gespeichert werden.

Navigiere in den Eingabeordner ~/AstroGen2/input_data/ und klone das Repository Example_ICs_AG2:

cd ~/AstroGen2/input_data/
git clone https://github.com/Philip-Spaeth/Example_ICs_AG2.git

Schritt 3 - Konfiguration der Simulation

Bearbeite die Konfigurationseinstellungen, um Galaxienparameter und Simulationseinstellungen zu definieren:

nano ~/AstroGen2/simulation/Config.ini

Passe folgende Parameter an:

Parameter Beschreibung
inputPath Passe diesen Parameter an, um den Eingabedatensatz auszuwählen. Das Basisverzeichnis ist ~/AstroGen2/input_data/.

Beispiel:
inputPath = Example_ICs_AG2/galIC/22k.dat
inputDataFormat Falls das Format der Eingabedatei geändert wird, aktualisiere den Wert von diesem Parameter entsprechend:

.dat.gal.ag.agc.age
gadgetmakeGalagagcage
numberOfParticles Setze hier die Anzahl der Partikel für die Simulation. Dieser Wert darf die Anzahl der Partikel in der Eingabedatei nicht überschreiten. Mit der oben genannten Beispiel-Eingabedatei wäre das max. 22000.
numParticlesOutput Hiermit kann zusätzlich die Anzahl der gespeicherten Partikel nach der Simulation festgelegt werden.

Schritt 4 - Ausführen des kompilierten Programms

Nach dem Bauen des Projekts kann die Simulation ausgeführt werden:

cd ~/AstroGen2/simulation/build/
./Astro_Genesis
./AstroGen2

Schritt 5 - Analyse der Simulationsergebnisse

Wechsel nun auf dein Windows-Gerät, um dort die Analyse durchzuführen.

Schritt 5.1 - Einrichtung von AGRender zur Analyse

  • Klone das AGRender-Repository

    • WSL-Subsystem für Windows

      mkdir ~/AstroGen2
      cd ~/AstroGen2
      git clone https://github.com/Philip-Spaeth/AGRender.git
    • PowerShell

      mkdir ~/AstroGen2
      cd ~/AstroGen2
      curl -o AGRender.zip https://github.com/Philip-Spaeth/AGRender/archive/refs/heads/master.zip
      tar -xf AGRender.zip
      mv AGRender-master AGRender

  • Füge die Analyseergebnisse hinzu

    Das Programm AGRender benötigt ein separates Verzeichnis namens output_data, um Renderdaten zu speichern. Die berechneten Daten müssen relativ zur type.exe in dem Ordner output_data liegen. Etwa wie in diesem Beispiel:

    AstroGen2/
    ├── output_data
    │   └── test
    └── AGRender
        └── pre_build
            └── type.exe

    Wenn du alle Schritte auf demselben Windows-Gerät ausgeführt hast, kannst du direkt die berechneten Daten in dem output_data-Ordner verwenden.

    Wenn du auf zwei separaten Systemen arbeitest, musst du den /output_data-Ordner mit den Analyseergebnissen von deinem Linux-Server auf dein Windows-Gerät kopieren.

    Navigiere auf deinem Windows-Gerät zu AstroGen2 und kopiere mit folgendem Befehl die berechneten Daten vom Linux-Server auf dein Windows-Gerät:

    cd ~/AstroGen2
    scp -r <user>@<server_ip>:~/AstroGen2/output_data .

  • Verwende vorgefertigte Binärdateien oder kompiliere aus dem Quellcode

    Wähle eine der beiden Optionen.

    • Verwendung vorgefertigter Binärdateien empfohlen
      cd AGRender/pre_build
      # chmod +x galaxyPart.exe && chmod +x type.exe
      ./galaxyPart.exe  oder  ./type.exe

    • Kompilierung des Projekts mit CMake

      mkdir build && cd build
      cmake ..
      make

Dies sollte eine interaktive Umgebung starten, in der du weitere Angaben machen kannst.

Option Beschreibung
Data folder to load Wähle Option 1 test aus
video or liveViewer Wähle Option 2 aus, für die Live-Simulationsansicht

Schritt 5.2 - Steuerung von AGRender

  • Maus: Ansicht drehen

  • Tastatur: Bewegung und Interaktion mit Partikeln

    Taste Aktion
    w Vorwärts bewegen
    s Rückwärts bewegen
    d Nach rechts bewegen
    a Nach links bewegen
    L Auf Galaxienzentrum fokussieren
    Strg Schnellere Bewegung
    Leertaste Start/Stop der Simulation
    Pfeil links Geschwindigkeit verringern
    Pfeil rechts Geschwindigkeit erhöhen
    Tasten 1-9 Bestimmte Partikeltypen anzeigen (Gas, Dunkle Materie, etc.)

Beispielvisualisierung

Ergebnis

Mit diesem Tutorial und dem AstroGen2 Programm ist es möglich wissenschaftliche Simulationen von Galaxien zu berechnen und dabei die Sternentstehung und das Verhalten von Galaxien auf wissenschaftlichem Niveo zu untersuchen.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get €20/$20 free credit!

Valid until: 31 December 2025 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more