AstroNbodySim.jl
This is an astrophysical simulation code library under GPL 3.0
Documentation
- Dev — documentation of the in-development version.
For beginners, it is highly recommended to read the documentation of PhysicalParticles.jl.
Installation
]add AstroNbodySim
or
]add https://github.com/JuliaAstroSim/AstroNbodySim.jl
You might need to install NVIDIA CUDA toolkit
Package Features
- Compute with units
- User-friendly
- Well documented
- Readable programming
- Vectorized array operations
- Dispatch on types for various simulation settings
- Float16, Float32, Float64, Int128, BigFloat, Measurement, etc.
- Cross-platform: Linux, Windows, MacOS. Easy to deploy
- Hybrid Parallelism: multi-threading, distributed parallelism, GPU acceleration
- Modularity and Versatility: 9 packages, designed for general purposes, highly extentable
- Realtime visualzation (interactive)
- Auto-test workflow
Features quick view
Realtime visualization of simulations on GPU
Galactic collision
Uncertainty propagation
Autodiff of background potential field
User-difined pipeline: Tidal disruption event (TDE)
Position slices:
Accretion history:
Lagrange radii and scale radius
Solar System
Supporting and Citing
This software was developed as part of academic research. If you would like to help support it, please star the repository. If you use this software as part of your research, teaching, or other activities, we would be grateful if you could cite the following:
%TODO WIP
FAQ
Package ecosystem
- Basic data structure: PhysicalParticles.jl
- File I/O: AstroIO.jl
- Initial Condition: AstroIC.jl
- Parallelism: ParallelOperations.jl
- Trees: PhysicalTrees.jl
- Meshes: PhysicalMeshes.jl
- Plotting: AstroPlot.jl
- Simulation: AstroNbodySim
- Benchmark: BenchmarkPlots
- Parameter space exploration: ParameterSpace