SWIFTsim merge requestshttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests2023-09-14T13:02:42Zhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1756Mhd fs2023-09-14T13:02:42ZFederico Andrés StasyszynMhd fshttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1755Mhd canvas2023-09-12T15:32:46ZFederico Andrés StasyszynMhd canvasFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1754Update Branch and new features2023-09-12T14:30:36ZFederico Andrés StasyszynUpdate Branch and new featuresbugfix in VP
Resitivity in Direct Induction by Fedebugfix in VP
Resitivity in Direct Induction by Fedehttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1753Resitiivity timesteping2023-09-12T14:29:00ZFederico Andrés StasyszynResitiivity timestepinghttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1752fixed v signs in makeIC to allign v field with vforced, added B fields as in ...2023-09-12T09:54:46ZFederico Andrés Stasyszynfixed v signs in makeIC to allign v field with vforced, added B fields as in ...fixed v signs in makeIC to allign v field with vforced, added B fields as in arXiv:0808.2141 to makeICnew, changed v0 to 1.5 in vforcedfixed v signs in makeIC to allign v field with vforced, added B fields as in arXiv:0808.2141 to makeICnew, changed v0 to 1.5 in vforcedFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1751Mhd canvas2023-09-08T09:37:09ZFederico Andrés StasyszynMhd canvashttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1750Mhd canvas2023-09-07T12:33:24ZFederico Andrés StasyszynMhd canvasFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1749Draft: Merge the moving mesh hydro scheme in master2024-03-27T14:16:36ZYolan UyttenhoveDraft: Merge the moving mesh hydro scheme in master### Overview
This adds a moving-mesh hydro scheme to SWIFT. To use it, SWIFT must be compiled with the option `--with-hydro=shadowswift` and run with `--hydro`. Most hydro-test work out of the box, but might need tweaking for optimal pe...### Overview
This adds a moving-mesh hydro scheme to SWIFT. To use it, SWIFT must be compiled with the option `--with-hydro=shadowswift` and run with `--hydro`. Most hydro-test work out of the box, but might need tweaking for optimal performance (see caveats).
The scheme uses a `drift` -> `geometry` -> `flux` -> `kick2` -> `gradient` -> `timestep` -> `kick1` structure for it's time-step:
- **Grid construction** is carried out as a `self` task with implicit `grid-sync` `pair` tasks ensuring the necessary synchronization with the neighboring cells whose particles are _read_ during construction.
- **Flux exchange** is always carried out by ordinary `self` and `pair` tasks since it must be done on the construction level in the tree (we need the Voronoi faces). Flux exchange is also manifestly conservative/symmetric and therefore `pair` tasks must be handled on both MPI nodes if necessary.
- For the **gradient interaction**, I have switched to a meshless WLS gradient scheme, meaning that the gradient calculation is a "normal" hydro loop which can be carried out by `self`, `pair`, `subself` and `subpair` interactions on any desired level, independent of the grid construction. Alternatively, the older WLS gradient computation which uses the Voronoi cells is also available and that method uses the same task structure of the flux interaction loop.
- The **limiter interaction** follows the same structure as the gradient loop. Meaning that it will be an ordinary hydro loop when the meshless gradients are used and a neighbour loop explicitely looping over the Voronoi faces else.
### Caveats
- Running a hydro-test as-is, will introduce scatter in the densities, because each particle has it's own volume determined by it's Voronoi cell. Exact ICs can be computed by using the volumes saved in the first snapshot and the desired densities to compute the appropriate masses for the particles.
- A vacuum must be explicitly represented by particles of 0 (or extremely low) density (e.g. in the Evrard collapse or Vacuum hydro tests). Exactly zero mass particles cause problems with gravity at the moment (e.g. cannot compute center of mass of cells containing only zero mass particles), but work fine in hydro only simulations.
- The timestep limiter works in most cases, but might use a wrong timestep for the flux calculation in some rare cases (see also Issue #832).
### Current status
This is an overview of what is/isn't working (yet):
- [x] Hydrodynamics (1D, 2D and 3D)
- [x] Gravity
- [x] Cosmological time-integration
- [ ] Zel'dovich pancake
- [x] Chemistry (See also issue #834 for detailed status)
- [x] cooling
- [ ] Star formation/stellar feedback
- [x] Non periodic boundary conditions: reflective, vacuum, open and inflow boundary conditions
- [x] (Fixed) boundary particles
- [x] MPI support
- [ ] Particle splitting/merging
### To-do
- [ ] Some functions are missing docstrings
- [x] Documentation on websiteYolan UyttenhoveYolan Uyttenhovehttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1748Mhd canvas2023-09-07T10:45:39ZFederico Andrés StasyszynMhd canvasupdateupdateFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1747Mhd canvas2023-09-07T08:23:13ZFederico Andrés StasyszynMhd canvasLast update, including Roberts FLOWLast update, including Roberts FLOWFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1746Mhd fs2023-09-07T08:21:31ZFederico Andrés StasyszynMhd fsSmall changes> restrict and cast in serial_io.cSmall changes> restrict and cast in serial_io.cFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1745Fixed issues with missing unlocks/dependencies/debug checks for top level...2023-09-06T09:35:54ZFederico Andrés StasyszynFixed issues with missing unlocks/dependencies/debug checks for top level...Fixed issues with missing unlocks/dependencies/debug checks for top level cells which aren't also super cellsFixed issues with missing unlocks/dependencies/debug checks for top level cells which aren't also super cellsFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1744GEAR-RT: theory2023-09-06T12:50:48ZMladen IvkovicGEAR-RT: theoryThis MR adds TeX theory documents for GEAR-RT.This MR adds TeX theory documents for GEAR-RT.Matthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1743Fix for infinite loop in Brent's method2023-09-04T13:08:57ZYolan UyttenhoveFix for infinite loop in Brent's methodFixes #861.
@mivkov Now that there are none of the debug messages from the `reproduce_861` branch, I did notice quite a bit of `rt_check_unphysical_state: Fixing unphysical energy case 4 | -2.368605e-09 | 7.137288e-04 2.072430e-03 1.103...Fixes #861.
@mivkov Now that there are none of the debug messages from the `reproduce_861` branch, I did notice quite a bit of `rt_check_unphysical_state: Fixing unphysical energy case 4 | -2.368605e-09 | 7.137288e-04 2.072430e-03 1.103263e-03 | 7.929667e-02` messages. Do you think this a (related) issue?
Also should look into making the Newton-Rhapson iteration the default again as in @bvandenbroucke's [shadowfax implementation](https://github.com/AstroUGent/shadowfax/blob/master/src/riemann/ExactRiemannSolver.cpp)?Yolan UyttenhoveYolan Uyttenhovehttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1742GEARRT: update grackle2023-07-25T15:11:55ZMladen IvkovicGEARRT: update grackle- update the grackle API for newer version of grackle
- includes minor other fixes
- I spent waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay to much time trying to get autoconf to somehow check for the correct grackle version being installed by expli...- update the grackle API for newer version of grackle
- includes minor other fixes
- I spent waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay to much time trying to get autoconf to somehow check for the correct grackle version being installed by explicitly checking the grackle version. Can't get it to work. So now I'm checking for 2 specific new functions in the grackle API, and hoping that will catch most issues with deprecated grackle versions.Matthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1741Grackle Cooling updates2023-09-22T07:47:08ZYves RevazGrackle Cooling updatesAdd new parameters that allow now to reproduce the Iliev06 test0.Add new parameters that allow now to reproduce the Iliev06 test0.Matthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1740Update hm80.h2023-07-17T08:00:45ZJacob Kegerreisjacob.kegerreis@durham.ac.ukUpdate hm80.hUpdate planetary EoS tables to match WoMa output.Update planetary EoS tables to match WoMa output.Matthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1739Updated and cleaned version of the Magnetised Cloud Collapse test2023-07-11T18:47:57ZFederico Andrés StasyszynUpdated and cleaned version of the Magnetised Cloud Collapse testFederico Andrés StasyszynFederico Andrés Stasyszynhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1738fix typo2023-07-11T10:23:38ZMladen Ivkovicfix typoMatthieu SchallerMatthieu Schallerhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1737Add cpuid for AMD Milan and Genoa CPUs.2023-07-06T17:11:31ZPeter W. DraperAdd cpuid for AMD Milan and Genoa CPUs.Add cpuid patterns for AMD Milan and Genoa chips. Without these will not get znver flags set correctly.
Note will need GCC 13 for Genoa znver4 support.Add cpuid patterns for AMD Milan and Genoa chips. Without these will not get znver flags set correctly.
Note will need GCC 13 for Genoa znver4 support.Peter W. DraperPeter W. Draper