Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SWIFTweb
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SWIFT
SWIFTweb
Merge requests
!11
Updated homepage text for all 3 sections
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Updated homepage text for all 3 sections
updated_homepage
into
master
Overview
4
Commits
5
Pipelines
0
Changes
3
Merged
Matthieu Schaller
requested to merge
updated_homepage
into
master
7 years ago
Overview
4
Commits
5
Pipelines
0
Changes
3
Expand
This is ready to be pushed online.
0
0
Merge request reports
Compare
master
version 2
0157e99c
7 years ago
version 1
86174363
7 years ago
master (base)
and
version 1
latest version
830d0cee
5 commits,
7 years ago
version 2
0157e99c
4 commits,
7 years ago
version 1
86174363
3 commits,
7 years ago
3 files
+
217
−
69
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
3
Search (e.g. *.vue) (Ctrl+P)
data/astro.md
+
138
−
37
Options
# Astronomer
Want to get started using SWIFT? Check out the onboarding guide available
[
here
](
onboarding.pdf
)
.
Want to get started using SWIFT? Check out the on-boarding guide available
[
here
](
onboarding.pdf
)
. SWIFT can be used as a drop-in replacement for
Gadget-2 and initial conditions in hdf5 format for Gadget can
directly be read by SWIFT. The only difference is the parameter file
that will need to be adapted for SWIFT.
SWIFT combines multiple numerical methods that are briefly outlined
here. The whole art is to efficiently couple them to efficiently
exploit modern computer architectures.
## Gravity
SWIFT uses the Fast Multipole Method to calculate gravitational forces between
particles. As well as this self-gravity mode, we also make many useful external
potentials available, such as a softened point mass and sine wave.
Gravtiational accuracy can be tuned through use of a standard 'opening angle',
which is controlled at runtime in the parameterfile.
## SPH Emulation Modes
There are many hydrodynamics schemes implemented in SWIFT, and SWIFT is designed
such that it should be (relatively) simple for users to add their own. The three
main modes are as follows:
SWIFT uses the Fast Multipole Method (FMM) to calculate gravitational
forces between near-by particles. These forces are combined with
long-range forces provided by a mesh that captures both the periodic
nature of the calculation and the expansion of the simulated universe.
SWIFT currently uses a single fixed but time-variable softening length
for all the particles.
As well as this self-gravity mode, we also make many useful external
potentials available, such as galaxy haloes or stratified boxes that
are used in idealised problems.
Gravitational accuracy can be tuned through use of the opening angle
and the choice of a multipole order for the short-range gravity
calculation. The mesh forces are controlled by the cell size and
frequency of the update.
## Cosmology
SWIFT implements a standard LCDM cosmology background expansion and
solves the equations in a comoving frame. We allow for equations of
state of dark-energy that evolves with scale-factor. The structure of
the code can easily allow for modified-gravity solvers or
self-interacting dark matter schemes to be implemented. These will be
part of future releases of the code.
Unlike other cosmological codes, SWIFT does not express quantities in
units of the reduced Hubble parameter. This reduces the possible
confusion created by this convention when using the data product but
requires users to convert their initial conditions (using a specific
mode of operation of SWIFT!) when taking them from a different code.
## Hydrodynamics Schemes
There are many hydrodynamics schemes implemented in SWIFT, and SWIFT
is designed such that it should be simple for users to add their
own.
All the schemes can be combined with a time-step limiter inspired by
the method of
[
Durier & Dalla Vecchia
2012
](
http://adsabs.harvard.edu/abs/2012MNRAS.419..465D
)
, which is
necessary to ensure energy conservation in simulations that involve
sudden injection of energy such as in feedback events.
The four main modes are as follows:
### Minimal SPH
In this mode SWIFT uses the simplest energy-conserving SPH scheme that
can be written with no viscosity switches nor thermal diffusion
terms. It follows exactly the description in the review of the topic
by
[
Price 2012
](
http://adsabs.harvard.edu/abs/2012JCoPh.231..759P
)
and
is not optimised. This mode is used for education purposes or can
serve as the basis to help developers create other hydrodynamics
schemes.
### GADGET-2 SPH
SWIFT makes a 'backwards-compatible' GADGET-2 SPH mode, which uses a standard
[
Monaghan 1977
](
http://adsabs.harvard.edu/abs/1977MNRAS.181..375G
)
artificial
SWIFT makes a 'backwards-compatible'
[
GADGET-2
SPH
](
http://adsabs.harvard.edu/abs/2002MNRAS.333..649S
)
mode, which
uses a standard
[
Monaghan
1977
](
http://adsabs.harvard.edu/abs/1977MNRAS.181..375G
)
artificial
viscosity scheme with a
[
Balsara
](
https://www.ideals.illinois.edu/handle/2142/23836
)
switch. Note that
the GADGET-2 SPH scheme is implemented to be the same as in the public release
of GADGET-2, rather than the equations as specified in the original paper, as
there are some differences. This is to enable users to use SWIFT as a drop-in
replacement for GADGET-2.
[
Balsara
](
https://www.ideals.illinois.edu/handle/2142/23836
)
switch. Note that the GADGET-2 SPH scheme is implemented to be the
same as in the public release of GADGET-2. This is to enable users to
use SWIFT as a drop-in replacement for GADGET-2.
### Pressure-Entropy SPH
In SWIFT, the Pressure-Entropy and (in the future) Pressure-Energy schemes from
[
Hopkins 2013
](
http://adsabs.harvard.edu/abs/2013MNRAS.428.2840H
)
are made
available for use. These schemes use a weighting factor of either entropy or
energy in the calculation of density, which has the effect of promoting mixing
and reducing spurious surface tensions that are present in a traditional
"Density-Entropy" scheme (such as the GADGET-2 one presented above).
In SWIFT, the Pressure-Entropy and (in the future) Pressure-Energy
schemes from
[
Hopkins
2013
](
http://adsabs.harvard.edu/abs/2013MNRAS.428.2840H
)
are made
available for use. These schemes use a weighting factor of either
entropy or energy in the calculation of density, which has the effect
of promoting mixing and reducing spurious surface tensions that are
present in a traditional "Density-Entropy" scheme (such as the
GADGET-2 one presented above). This scheme avoids artificial surface
tension at contact discontinuities and allows for better mixing
between phases. This leads to a much better behaviour of the SPH
method in cases such at the Kelvin-Helmholtz instabilities or the
infamous
[
'blob'
test
](
http://adsabs.harvard.edu/abs/2007MNRAS.380..963A
)
.
### GIZMO (MFM)
Bert Vandenbrouke has also implemented a publicly-available GIZMO-like scheme
(
[
Hopkins 2015
](
http://adsabs.harvard.edu/cgi-bin/bib_query?arXiv:1409.7395
)
)
in SWIFT. This promises higher-accuracy hydrodynamics, but with the natural
adaptivity of SPH.
SWIFT can also use the GIZMO scheme (
[
Hopkins
2015
](
http://adsabs.harvard.edu/cgi-bin/bib_query?arXiv:1409.7395
)
),
also know as 'SPH-ALE' outside of astrophysics. This schemes is a
hybrid between a particle method and a finite volume method. Whilst
particles are being used to represent the fluid, fluxes between them
are computed and exchanged using Riemann solvers and proper gradient
reconstruction. This allows for a much more accurate representation of
the physics without any ad-hoc switches for viscosity or thermal
diffusion but also comes at a higher computational cost.
## Subgrid models for galaxy formation
SWIFT implements two main models to study galaxy formation. These are
available in the public repository and different components (star
formation, cooling, feedback, etc.) can be mixed and matched for
comparison purposes.
### EAGLE model
The
[
EAGLE model
](
http://adsabs.harvard.edu/abs/2015MNRAS.446..521S
)
of galaxy formation is available in SWIFT. This combines the cooling
of gas due to interaction with the UV and X-ray background radiation
of
[
Wiersma 2009
](
http://adsabs.harvard.edu/abs/2009MNRAS.393...99W
)
,
the star-formation method of
[
Schaye
2008
](
http://adsabs.harvard.edu/abs/2008MNRAS.383.1210S
)
, the stellar
evolution and gas enrichment model of
[
Wiersma
2009
](
http://adsabs.harvard.edu/abs/2009MNRAS.399..574W
)
, feedback
from stars following
[
Dalla Vecchia
2012
](
http://adsabs.harvard.edu/abs/2012MNRAS.426..140D
)
,
super-massive black-hole accretion following
[
Rosas-Guevara
2015
](
http://adsabs.harvard.edu/abs/2013arXiv1312.0598R
)
and
black-hole feedback following
[
Booth
2009
](
http://adsabs.harvard.edu/abs/2009MNRAS.398...53B
)
. All these
modules have been ported from the Gadget-3 code to SWIFT and will
hence behave slightly differently.
### GEAR model
The
[
GEAR model
](
http://adsabs.harvard.edu/abs/2012ASPC..453..141R
)
is
available in SWIFT. This model uses the
[
GRACKLE
library
](
http://adsabs.harvard.edu/abs/2017MNRAS.466.2217S
)
for
cooling and is one of the many models that are part of the
[
AGORA
comparison
project
](
http://adsabs.harvard.edu/abs/2014ApJS..210...14K
)
.
## Structure finder
SWIFT can be linked to the VELOCIraptor phase-space structure finder
to return haloes and sub-haloes while the simulation is running. This
on-the-fly processing allows for a much faster time-to-science than in
the classic way of post-processing simulations after they are run.
## Documentation and tests
There is a large amount of background reading material available in the
theory directory provided with SWIFT. You will need pdflatex to build
@@ -54,9 +160,4 @@ use, the results of which are available on our developer Wiki
[
here
](
https://gitlab.cosma.dur.ac.uk/swift/swiftsim/wikis/hydro-tests
)
.
## Paralleisation strategy
SWIFT uses a hybrid OpenMP + MPI paralellisation scheme with the
[
QuickShed
](
https://gitlab.cosma.dur.ac.uk/swift/quicksched
)
tasking library.
This enables SWIFT to achieve near-perfect weak scaling (see next section).
Loading