SWIFTsim merge requestshttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests2022-08-06T03:35:00Zhttps://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1353Draft: Subtask speedup - Still requires work2022-08-06T03:35:00ZMatthieu SchallerDraft: Subtask speedup - Still requires workFor now, compile with `CFLAGS=-DONLY_SUBTASKS` added to the configuration line.
This introduces significantly faster neighbour finding in particle distributions with strong density gradients. For instance planetary applications or probl...For now, compile with `CFLAGS=-DONLY_SUBTASKS` added to the configuration line.
This introduces significantly faster neighbour finding in particle distributions with strong density gradients. For instance planetary applications or problematic feedback-disturbed galaxies.
Changes:
- Add the brute-force density checks to the planetary scheme (not just sphenix)
- Rewrite the recursion logic in the hydro and stars sub-task:
- The interaction functions have extra parameters to optionally consider particles only between 0.5 * width and width
- The subtask recursion now continues to lower level if we reach a level where h is too large. From that level on, we will just use the feature of only considering particles in the appropriate range of h.
- When recursing, only the h_max of _active_ particles is considered, not all particles.
Notes:
- We will consider c7adb289391c613ccebf2be0bd630b83f86fe171 separately.
- In a second phase, I'll remove entirely the self + pair tasks and keep only the subs.
Todo:
- [x] Verify RT isn't broken
- [x] Verify MPI runs are happy.
- [x] Port changes to the other hydro schemes.
- [ ] Handle particles drifting out of their cells.
Fixes #688.https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1530Draft: Blank functions for MHD support2023-12-10T12:38:08ZMatthieu SchallerDraft: Blank functions for MHD supportChanges:
- Moved the signal velocity calculation to a new file that is SPH-scheme independant. There are two versions in there, one for MHD runs, one for non-MHD runs
- Added the `mhd` directory for the scheme specific things. In ther...Changes:
- Moved the signal velocity calculation to a new file that is SPH-scheme independant. There are two versions in there, one for MHD runs, one for non-MHD runs
- Added the `mhd` directory for the scheme specific things. In there there is only `None` scheme for now, i.e. no-MHD runs
- Added all the empty functions for the loops over neighbours
- Added all the empty functions for the things done in-between loops (drift, kick, reset...)
- Added a small structure that is carried by the particles to contain the MHD fields.
Todo:
- [ ] Deal with the case where the MHD wants three loops but the hydro only needs two...
- [x] Deal with Gasoline signal velocity
- [x] Prevent MHD + Gizmo
- [x] Unit tests
- [x] Cleanly deal with mu_0
- [x] Cleanly deal with stats
- [ ] Cleanly deal with div v
- [ ] Work out units of B^2 PS.https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1624Draft: Add magma2 SPH scheme2023-07-15T16:33:16ZZhen XiangDraft: Add magma2 SPH schemeI just added the MAGMA2 scheme in the branch MAGMA2 and are there some advices for the future implementation?
I added the two extra profiles:
- hydro_iact_cosmo.h and hydro_iact_sphenix.h. One is added the cosmological term and anothe...I just added the MAGMA2 scheme in the branch MAGMA2 and are there some advices for the future implementation?
I added the two extra profiles:
- hydro_iact_cosmo.h and hydro_iact_sphenix.h. One is added the cosmological term and another is using the sphenix's diffusion parameter.
- There is a parameter called h_crit in the runner_iact_force and runner_iact_nonsym_force , which is the inverse of the resolution eta. And everytime I just change the parameter manually
- Also for the matrix inversion, I just paste the function invert_dimension_by_dimension_matrixin swift, and it might need clear a bit and call the function instead
- And I just directly use constant viscosity and diffusion parameters into the function without define it in the hydro_parameter.h. It also might need to change a bit
- Last thing is MAGMA2 use the quadratically mid point reconstruction and it is also worth to test the linearly reconstruction. Since it may increases the computing effciency.https://gitlab.cosma.dur.ac.uk/swift/swiftsim/-/merge_requests/1777Draft: Streamlined MAGMA2 implementation2023-12-03T19:03:48ZMatthieu SchallerDraft: Streamlined MAGMA2 implementationThis is a reimplementation of the MAGMA2 branch with:
- Simpler symmetric matrix handling
- Only 1st order reconstruction of `v` and `u`.
- Only basic viscosity and diffusion terms as in the Rosswog 2020 implementation
Questions:
...This is a reimplementation of the MAGMA2 branch with:
- Simpler symmetric matrix handling
- Only 1st order reconstruction of `v` and `u`.
- Only basic viscosity and diffusion terms as in the Rosswog 2020 implementation
Questions:
- Do we need more advanced terms? SPHENIX-like? Or the Rosswog entropy-based viscosity switch?
- What implementation do we want? Traditional or Gasoline?
Todo:
- [ ] Document the matrix stuff
- [ ] Scale-factors
- [ ] Strange corner cases (e.g. no ngb)
- [ ] Tests in galaxy settings
- [ ] Properly implement the symmetric functions.
- [ ] Fix documentation. It still mentions `Minimal` and `SPHENIX` in places.