Skip to content

KHARMA 2024.9#98

Merged
c-prather merged 92 commits intostablefrom
dev
Sep 13, 2024
Merged

KHARMA 2024.9#98
c-prather merged 92 commits intostablefrom
dev

Conversation

@c-prather
Copy link
Contributor

@c-prather c-prather commented Jun 6, 2024

More transmissive boundaries, more stringent tests, more documentation, more cleaner, more faster, more better.

Highlights:

Ben Prather and others added 30 commits May 30, 2024 10:11
Mainly this PR adds a laplacian for face-centered B to `CleanupDivergence`,
which is automatically used if the B_CT package is loaded.  It doesn't actually
seem faster than the cell-centered version despite having a smaller stencil.
It also adds a "PtoU" for face-centered fields, which takes a cell-centered B
and interpolates it to faces.  Yes, this means interpolating interpolated values,
which is not ideal but doesn't seem egregious.
Finally, it adds a version of the `resize` test with face-centered fields.

I also rephrased the face divB in terms of derivatives for clarity, spit out Flux-CT
device functions into a header like Face-CT has, and modified some uncommon
device-side B field functions a bit.

Finally, this adds an unrelated feature allowing re-initialization of electron temps
at user option, designed for restarting ideal simulations w/electrons enabled.
Fix face-centered B cleaning with outflow boundary conditions
Polar averaging for angular momentum
Fix restarting ideal runs w/EMHD
CI fixes and version bumps
Ben Prather and others added 28 commits September 4, 2024 17:47
These must have been reintroduced in a merge;
Linking was always done with the versions in
kharma/prob/elec, so these were just dead code.
Update AddGeoSource to the form listed in docs
implicit.hpp was importing the entire EMHD
namespace, avoid that.  Other cleanup.
Respect frame-switch parameters for mixed fluid frames.
Rename fluid/drift to normal/drift to reflect our usage
(note original inspiration *is* fluid/drift)
Fix compiling floors under Nvidia, maybe a touch slower
Fix MHDModes test: upwinded CT converges @2.15-2.3, allow this
gs05_c CT scheme no longer needs velocities preserved. UCT1/2 will,
but I'm not sure we'll implement those, revive this code if we do.
Other removals/reshuffles as I looked up parameters
All of KHARMA's parameter files were drifting out of date.  This:
1. Removes all ghost_zones = true, which is always unnecessary unless
   debugging something nasty
2. Moves `reconstruction` param into `<flux>`, generally also adds
   `type=llf` for clarity
3. Moves all boundary declarations to `<boundaries>`, where they
   are even needed anymore.
4. When emulating iharm3d, set `flux_ct` and `onedw` explicitly, and
   name the file to reflect iharm3d "mode."
5. Thoroughly modern mad.par and sane.par reflecting best practices
6. Remove refinement pars from unrefined meshes
* Remove some tests from the GPU version of all_pars which are
  expected to fail -- too much memory or non-GPU dependent.
* restart & re-init tests are broken with new mad.par/sane.par.
  They always work on dedicated machines but fail in CI for some
  reason.  Maybe it's MPI? Disable that to see.
* Fix 2D restart test for new mad.par/sane.par, add EMHD
* Remove EMHD tests from NVHPC CI, EMHD is buggy on specifically
  the NVHPC stack, so we will avoid it until this is fixed.
* Accommodate CUDA+GCC on Darwin, see above
* Move ApplyEMHDLimits, conventionally it should be in .cpp file
* 2D restarts needed another option
* actually remove conducting_atmo from NVHPC tests
* Point people to the wiki now that it's """good"""
Parameter updates and code/comment cleanup
@c-prather
Copy link
Contributor Author

Finally a release with net negative line count! The tests passed if you click through, GitHub limits the number of status updates per commit and our mirror with GitLab hits the limit if the tests take too long.

@c-prather c-prather merged commit 869c137 into stable Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant