Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update branch with changes in main #315

Merged
merged 30 commits into from
Nov 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
a5981a6
ODESolvers: Schedule `ODESolvers_PostStep` after recovering
eschnett Oct 23, 2024
e729afd
Loop: Update AMReX include files
eschnett Oct 23, 2024
8dd8aec
ADMBaseX: Clean up schedule
eschnett Oct 23, 2024
fccbea7
HydroBaseX: Clean up schedule
eschnett Oct 23, 2024
485b9ea
CarpetX: Correct ENO operators
eschnett Oct 25, 2024
40be639
CarpetX: Correct ENO operators
eschnett Oct 25, 2024
1380ea6
CarpetX: Correct poison check on HIP systems
eschnett Oct 25, 2024
901bc9e
CarpetX: Implement `minmod` prolongation operator
eschnett Oct 25, 2024
1368f94
CarpetX: Support openPMD_api 0.16.0
eschnett Oct 30, 2024
6ace6e2
CarpetX: Use Blosc compression by default for openPMD output
eschnett Oct 30, 2024
a8ee002
CarpetX: Reformat code
eschnett Oct 30, 2024
2df98d9
CarpetX: ADIOS2: Avoid too much screen output
eschnett Oct 30, 2024
51e0572
CarpetX: ADIOS2: Use Blosc compression by default
eschnett Oct 30, 2024
7b25fac
Arith: Clean up code
eschnett Oct 30, 2024
72614a2
BoxInBox: Don't allow zero radius
eschnett Oct 30, 2024
9744b92
Loop: Inline more aggressively
eschnett Oct 30, 2024
8e80691
MovingBoxToy: Code cleanup
eschnett Oct 30, 2024
4735fab
TestSymmetries: Beautify code
eschnett Oct 30, 2024
6d37335
Loop: New macro CCTK_KERNEL
eschnett Oct 30, 2024
3173c89
CI: Update Docker images
eschnett Oct 30, 2024
ecf3fcc
FluxWaveToyX: Correct RHS handling after ODESolver update
eschnett Nov 1, 2024
7fcb4b8
SIMDWaveToyX: Correct RHS handling after ODESolver update
eschnett Nov 1, 2024
7f1f5c7
WaveToyX: Correct RHS handling after ODESolver update
eschnett Nov 1, 2024
5ae5949
StaggeredWaveToyX: Correct RHS handling after ODESolver update
eschnett Nov 1, 2024
c8792a0
CI: Update Docker images to AMReX 24.11
eschnett Nov 1, 2024
472ac7d
FluxWaveToyX: Correct schedule and test output
eschnett Nov 1, 2024
88ef4ee
TestODESolvers: Correct schedule
eschnett Nov 1, 2024
397ba23
TestProlongate: Remove unsupporte 1st-order ENO operators
eschnett Nov 1, 2024
9dafbff
Merge pull request #312 from EinsteinToolkit/gramx
eschnett Nov 1, 2024
1b83a21
CarpetX: only use BLOSC2 if compiled into ADIOS2 (#314)
rhaas80 Nov 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
44 changes: 32 additions & 12 deletions ADMBaseX/schedule.ccl
Original file line number Diff line number Diff line change
@@ -1,41 +1,61 @@
# Schedule definitions for thorn ADMBaseX

SCHEDULE GROUP ADMBaseX_InitialData AT initial
{
} "Schedule group for calculating ADM initial data"
if (CCTK_IsThornActive("ODESolvers")) {

SCHEDULE GROUP ADMBaseX_InitialData IN ODESolvers_Initial
{
} "Schedule group for calculating ADM initial data"

SCHEDULE GROUP ADMBaseX_InitialGauge AT initial AFTER ADMBaseX_InitialData
{
} "Schedule group for the ADM initial gauge condition"
SCHEDULE GROUP ADMBaseX_InitialGauge IN ODESolvers_Initial AFTER ADMBaseX_InitialData
{
} "Schedule group for the ADM initial gauge condition"

SCHEDULE GROUP ADMBaseX_PostInitial AT initial AFTER (ADMBaseX_InitialData ADMBaseX_InitialGauge)
{
} "Schedule group for modifying the ADM initial data, such as e.g. adding noise"
SCHEDULE GROUP ADMBaseX_PostInitial IN ODESolvers_Initial AFTER (ADMBaseX_InitialData ADMBaseX_InitialGauge)
{
} "Schedule group for modifying the ADM initial data, such as e.g. adding noise"

if (CCTK_IsThornActive("ODESolvers")) {
SCHEDULE GROUP ADMBaseX_SetADMVars IN ODESolvers_PostStep
{
} "Set ADM variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMRHS IN ODESolvers_PostStep
{
} "Set ADM RHS variables in this group"

} else {

SCHEDULE GROUP ADMBaseX_SetADMVars AT post_recover_variables
{
} "Set ADM variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMRHS AT post_recover_variables
{
} "Set ADM RHS variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMVars AT postregrid
{
} "Set ADM variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMVars AT poststep
SCHEDULE GROUP ADMBaseX_SetADMRHS AT postregrid
{
} "Set ADM RHS variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMVars AT postrestrict
{
} "Set ADM variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMRHS AT postregrid
SCHEDULE GROUP ADMBaseX_SetADMRHS AT postrestrict
{
} "Set ADM RHS variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMVars AT poststep
{
} "Set ADM variables in this group"

SCHEDULE GROUP ADMBaseX_SetADMRHS AT poststep
{
} "Set ADM RHS variables in this group"

}

if (CCTK_EQUALS(initial_data, "Cartesian Minkowski")) {
Expand Down
10 changes: 6 additions & 4 deletions Arith/src/defs.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -138,14 +138,16 @@ template <> struct nan<double> {

// An explicitly unrolled for loop

template <int imin, int imax, int istep = 1, typename F,
enable_if_t<(istep > 0 ? imin >= imax : imin <= imax)> * = nullptr>
template <
int imin, int imax, int istep = 1, typename F,
std::enable_if_t<(istep > 0 ? imin >= imax : imin <= imax)> * = nullptr>
constexpr ARITH_INLINE ARITH_DEVICE ARITH_HOST void unroll_for(const F &f) {
// done: do nothing
}

template <int imin, int imax, int istep = 1, typename F,
enable_if_t<!(istep > 0 ? imin >= imax : imin <= imax)> * = nullptr>
template <
int imin, int imax, int istep = 1, typename F,
std::enable_if_t<!(istep > 0 ? imin >= imax : imin <= imax)> * = nullptr>
constexpr ARITH_INLINE ARITH_DEVICE ARITH_HOST void unroll_for(const F &f) {
f(imin);
unroll_for<imin + istep, imax, istep>(f);
Expand Down
24 changes: 12 additions & 12 deletions BoxInBox/param.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,25 @@ CCTK_REAL position_z_1 "Position of this region"
CCTK_REAL radius_1[30] "Radius of refined region for this level"
{
-1 :: "illegal"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_x_1[30] "x-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_y_1[30] "y-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_z_1[30] "z-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0


Expand Down Expand Up @@ -120,25 +120,25 @@ CCTK_REAL position_z_2 "Position of this region"
CCTK_REAL radius_2[30] "Radius of refined region for this level"
{
-1 :: "illegal"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_x_2[30] "x-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_y_2[30] "y-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_z_2[30] "z-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0


Expand Down Expand Up @@ -188,23 +188,23 @@ CCTK_REAL position_z_3 "Position of this region"
CCTK_REAL radius_3[30] "Radius of refined region for this level"
{
-1 :: "illegal"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_x_3[30] "x-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_y_3[30] "y-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0

CCTK_REAL radius_z_3[30] "z-radius of refined region for this level"
{
-1 :: "ignore this radius"
0:* :: ""
(0:* :: ""
} -1.0
8 changes: 6 additions & 2 deletions CarpetX/param.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -433,10 +433,12 @@ KEYWORD prolongation_type "Prolongation type"
"interpolate" :: "interpolate between data points"
"conservative" :: "interpolate cell averages, ensuring conservation"
"ddf" :: "interpolate in vertex centred and conserve (with one order lower) in cell centred directions"
"eno" :: "interpolate in vertex centred and ENO-conserve in cell centred directions"
"eno" :: "interpolate in vertex centred and minmod-conserve in cell centred directions"
"minmod" :: "interpolate in vertex centred and ENO-conserve in cell centred directions"
"hermite" :: "Hermite-interpolate in vertex centred and conserve in cell centred directions"
"natural" :: "interpolate in vertex centred and conserve in cell centred directions, using the same order"
"poly-cons3lfb" :: "interpolate polynomially in vertex centred directions and conserve with 3rd order accuracy and a linear fallback in cell centred directions"
"poly-eno3lfb" :: "interpolate polynomially in vertex centred directions and use ENO stencils with 3rd order accuracy and a linear fallback in cell centred directions"
} "natural"

CCTK_INT prolongation_order "Prolongation order"
Expand Down Expand Up @@ -588,7 +590,7 @@ BOOLEAN out_norm_omit_sumloc_for_backward_compatibility "Omit sumloc norms" STEE
KEYWORD openpmd_format "openPMD file format" STEERABLE=always
{
"HDF5" :: ""
"ADIOS1" :: ""
"ADIOS1" :: "requires openPMD_api <0.16"
"ADIOS2_auto" :: "Choose ADIOS2 format automatically (either ADIOS2_BP5 or ADIOS2_BP4)"
"ADIOS2" :: "requires openPMD_api <0.15"
"ADIOS2_BP" :: "requires openPMD_api >=0.15"
Expand All @@ -597,6 +599,8 @@ KEYWORD openpmd_format "openPMD file format" STEERABLE=always
"ADIOS2_SST" :: ""
"ADIOS2_SSC" :: ""
"JSON" :: ""
"TOML" :: "requires openPMD_api >=0.16"
"GENERIC" :: "requires openPMD_api >=0.16"
} "ADIOS2_auto"

STRING out_openpmd_vars "Variables to output in openPMD format" STEERABLE=always
Expand Down
Loading