Skip to content

Commit

Permalink
Merge pull request #312 from EinsteinToolkit/gramx
Browse files Browse the repository at this point in the history
Various CarpetX updates
  • Loading branch information
eschnett authored Nov 1, 2024
2 parents a941c33 + 397ba23 commit 9dafbff
Show file tree
Hide file tree
Showing 494 changed files with 2,451 additions and 12,631 deletions.
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

0 comments on commit 9dafbff

Please sign in to comment.