Types
AstroNbodySim.CoarseMeshAstroNbodySim.DSAstroNbodySim.DeleteAstroNbodySim.DirectSumAstroNbodySim.EulerAstroNbodySim.FDMAstroNbodySim.FEMAstroNbodySim.FFTAstroNbodySim.FVMAstroNbodySim.GravityModelAstroNbodySim.LeapfrogAstroNbodySim.MHDAstroNbodySim.MLAstroNbodySim.MOND1983MilgromAstroNbodySim.NewtonAstroNbodySim.OutboundLimiterAstroNbodySim.OutputInfoAstroNbodySim.PhysicsInfoAstroNbodySim.SPHAstroNbodySim.SimConfigAstroNbodySim.SimulationAstroNbodySim.StreamInfoAstroNbodySim.TimeInfoAstroNbodySim.TreeAstroNbodySim.TreeSimConfigAstroNbodySim.VisualizationInfo
AstroNbodySim.Simulation — Typestruct Simulation{D}config::Anyid::Pair{Int64, Int64}pids::Vector{Int64}simdata::Anytimeinfo::Any::TimeInfooutputinfo::Any::OutputInfologinfo::Any::LogInfophysics::Any::PhysicsInfostream::Any::StreamInfovisinfo::Any::VisualizationInfobuffer::Any::Bufferbgforce::Vector{Function}bgpotential::Vector{Function}
AstroNbodySim.SimConfig — Typestruct SimConfig{F, U}name::Stringauthor::Stringdaytime::Dates.DateTimefloattype::AnyNumeric type of float numbers
units::AnyPrefered units in simulation. Default is
uAstro. SeePhysicalParticles:uAstro,uSI,uGadget2,uCGS. To run without units, usenothingZeroValues::AnyZeroValue. Pre-constructed zero values for different types to simplify function argumentsconstants::AnyConstant. Physical constantsloggingmode::AnyChoose how to display status of simulation. Supported:
NormalMode,ProgressMode,SilentMode. Default isProgressModedisplaying progress barstime::AnyTimeConfigoutput::AnyOutputConfigsolver::AnySolverConfiggrav::AnyGravityConfigdevice::AnyDeviceConfig
Examples
SimConfig(; GravitySolver = Tree())
SimConfig(; device = GPU(), TimeStep = 1.0e-5u"Gyr")
SimConfig(; units = uGadget2)
SimConfig(; units = nothing, ForceSofteningTable = [0.01 for i in 1:6])
SimConfig(; TimeEnd = 1.0u"Gyr", OutputDir = "Test/Dir")Missing docstring for LogInfo. Check Documenter's build log for details.
AstroNbodySim.StreamInfo — Typemutable struct StreamInfologgingio::IOStreamtimerio::IOStreamanalyserio::IOStream
AstroNbodySim.TimeInfo — Typemutable struct TimeInfo{T<:Number, I<:Integer}dt::NumberTime interval between neighbor time steps
system_time_int::Integersystem_time_float::Numberlast_system_time_int::Integerlast_system_time_float::Numbernext_output_time_int::Integernext_output_time_float::Numberredshift::Float64scalefactor::Float64min_endstep::Integerstepcount::Integer
AstroNbodySim.OutputInfo — Typemutable struct OutputInfosnapshotcount::Int64syncflag::Bool
AstroNbodySim.PhysicsInfo — Typemutable struct PhysicsInfoNumForceUpdateSinceLast::Int64
AstroNbodySim.VisualizationInfo — Typemutable struct VisualizationInfoprogress::ProgressMeter.ProgressPlotData::Anyresolution::Anyfig::AnyRealtime::BoolRenderTime::Float64last_plot_time::Float64xlims::Anyylims::Anyzlims::Anymarkersize::Float64
AstroNbodySim.TreeSimConfig — Typestruct TreeSimConfigControls accuracy of tree method
TreeOpenAngle::Float64If the view angle of tree node that relative to the sink point is too large, open this node. In radian unit. Default is
0.1ErrTolAcc::Float64While opening the tree node, take the last acceleration into account. Improves accuracy at high redshift cosmology. Default is
0.025
Missing docstring for OctreeData. Check Documenter's build log for details.
Missing docstring for Buffer. Check Documenter's build log for details.
Trait types
AstroNbodySim.DirectSum — TypeDirect Summation Method
AstroNbodySim.Tree — TypePeano-Hilbert Space Filling Octree Method
AstroNbodySim.FDM — TypeFinite Differencing Method
AstroNbodySim.FFT — TypeFast Fourier Transform
AstroNbodySim.ML — TypeMachine Learning
AstroNbodySim.SPH — TypeSmoothed Particle Hydrodynamics
AstroNbodySim.MHD — TypeMagnetohydrodynamics
AstroNbodySim.FEM — TypeFinite Element Method
AstroNbodySim.FVM — TypeFinite Volume Method
AstroNbodySim.GravityModel — TypeGravity model. Supported: Newton, MOND1983Milgrom, QUMOND
AstroNbodySim.Newton — TypeTraditional Newtonian gravity
AstroNbodySim.MOND1983Milgrom — TypeMilgrom 1983 formula of MOND
Missing docstring for QUMOND. Check Documenter's build log for details.
Missing docstring for LoggingMode. Check Documenter's build log for details.
Missing docstring for NormalMode. Check Documenter's build log for details.
Missing docstring for ProgressMode. Check Documenter's build log for details.
Missing docstring for SilentMode. Check Documenter's build log for details.
Missing docstring for TimeIntegration. Check Documenter's build log for details.
AstroNbodySim.Euler — Type1st-order explicit Euler time integration
AstroNbodySim.Leapfrog — TypeLeapfrog time integration
Missing docstring for GPUAlgorithm. Check Documenter's build log for details.
Missing docstring for AllPairs. Check Documenter's build log for details.
Missing docstring for Tiled. Check Documenter's build log for details.
AstroNbodySim.OutboundLimiter — Type`::OutboundLimiter`. Choose how to handle particles out of the non-periodic simulation box.
Supported:
- `Delete`: delete outbound particles
- `DS`: use direct summation method to compute forces
- `CoarseMesh`: Construct a coarse mesh to overlap all particlesAstroNbodySim.Delete — TypeDelete outbound particles if they run out of the non-periodic simulation box
AstroNbodySim.DS — TypeCompute forces using direct summation method if the particles run out of the non-periodic simulation box
AstroNbodySim.CoarseMesh — TypeConstruct a coarse mesh to overlap all particles for non-periodic boundary conditions