8 #include "tarch/tarch.h"
9 #include "tarch/CompilerSpecificSettings.h"
10 #include "tarch/multicore/multicore.h"
11 #include "tarch/accelerator/accelerator.h"
21 #if defined(WITH_OPENMP)
22 #pragma omp declare simd
24 static inline void ncp(
double* BgradQ,
const double*
const Q,
const double*
const gradQSerialised,
const int normal,
25 const int CCZ4LapseType,
53 #if defined(WITH_OPENMP)
54 #pragma omp declare simd
56 static inline void source(
double* S,
const double*
const Q,
57 const int CCZ4LapseType,
65 const double CCZ4itau,
73 #if defined(WITH_OPENMP)
74 #pragma omp declare simd
77 const double*
const Q,
81 const double CCZ4GLMc,
89 #if defined(WITH_OPENMP)
90 #pragma omp declare simd
93 const double*
const Q,
97 const double CCZ4GLMc,
105 void admconstraints(
double* constraints,
const double*
const Q,
const double*
const gradQSerialised);
110 void ThetaOutputNCP(
double* NCPterm,
const double*
const Q,
const double*
const gradQSerialised,
int normal);
116 void TestingOutput(
double* terms,
const double*
const Q,
const double*
const gradQSerialised);
122 void Psi4Calc(
double* Psi4,
const double*
const Q,
const double*
const gradQSerialised,
double*
coor);
139 const double* NOALIAS oldQ,
140 double* NOALIAS dQdt,
constexpr double timeStepSize
static void source(double *S, const double *const Q, const int CCZ4LapseType, const double CCZ4ds, const double CCZ4c, const double CCZ4e, const double CCZ4f, const double CCZ4bs, const double CCZ4sk, const double CCZ4xi, const double CCZ4itau, const double CCZ4eta, const double CCZ4k1, const double CCZ4k2, const double CCZ4k3, const double CCZ4SO)
The source term is one out of two terms that we use in our CCZ4 formulation.
static void ncp(double *BgradQ, const double *const Q, const double *const gradQSerialised, const int normal, const int CCZ4LapseType, const double CCZ4ds, const double CCZ4c, const double CCZ4e, const double CCZ4f, const double CCZ4bs, const double CCZ4sk, const double CCZ4xi, const double CCZ4mu, const double CCZ4SO)
void enforceCCZ4constraints(double *NOALIAS newQ)
A postprocessing routine which pushes the volume solution back into the area of the CCZ4 constraints.
void admconstraints(double *constraints, const double *const Q, const double *const gradQSerialised)
This is a postprocessing routine to monitor if the physical constraints are fulfilled.
void TestingOutput(double *terms, const double *const Q, const double *const gradQSerialised)
A temporary test function, to output some testing values 0,1 entries: Hamilton constraint related ter...
void Psi4Calc(double *Psi4, const double *const Q, const double *const gradQSerialised, double *coor)
This function is for the calculation of psi4, a quantity related to gravitional wave.
static double maxEigenvalue(const double *const Q, int normal, const double CCZ4e, const double CCZ4ds, const double CCZ4GLMc, const double CCZ4GLMd)
void ThetaOutputNCP(double *NCPterm, const double *const Q, const double *const gradQSerialised, int normal)
A temporary test function, to output Hamilton constraint related term in theta, 1 terms: RPlusTwoNabl...
This code is taken from the original ExaHyPE project written by colleagues from the University of Tre...