24 int numberOfGridCellsPerPatchPerAxis
28 return ::exahype2::fv::getVolumeSize(h,numberOfGridCellsPerPatchPerAxis);
34 int numberOfGridCellsPerPatchPerAxis
38 return ::exahype2::fv::getVolumeSize(h,numberOfGridCellsPerPatchPerAxis);
44 int numberOfGridCellsPerPatchPerAxis
48 return ::exahype2::fv::getFaceSize(h,numberOfGridCellsPerPatchPerAxis);
54 int numberOfGridCellsPerPatchPerAxis
58 return ::exahype2::fv::getFaceSize(h,numberOfGridCellsPerPatchPerAxis);
80 int numberOfGridCellsPerPatchPerAxis,
85 return ::exahype2::fv::getVolumeCentre(x,h,numberOfGridCellsPerPatchPerAxis,index);
92 int numberOfGridCellsPerPatchPerAxis,
97 return ::exahype2::fv::getVolumeCentre(x,h,numberOfGridCellsPerPatchPerAxis,index);
104 int numberOfGridCellsPerPatchPerAxis,
111 return ::exahype2::fv::getFaceCentre(x,h,numberOfGridCellsPerPatchPerAxis,overlap,normal,index);
118 int numberOfGridCellsPerPatchPerAxis,
125 return ::exahype2::fv::getFaceCentre(x,h,numberOfGridCellsPerPatchPerAxis,overlap,normal,index);
136 const double* __restrict__ Q,
154 const double* __restrict__ Q,
156 int auxiliaryVariables,
157 int numberOfGridCellsPerPatchPerAxis,
159 const std::string& location =
"",
160 bool triggerNonCriticalAssertion =
true,
161 double* minValues =
nullptr,
162 double* maxValues =
nullptr
173 const double* __restrict__ Q,
175 int auxiliaryVariables,
176 int numberOfGridCellsPerPatchPerAxis,
178 bool prettyPrint =
false
183 const double* __restrict__ Q,
185 int auxiliaryVariables,
186 int numberOfGridCellsPerPatchPerAxis,
189 bool prettyPrint =
false
static tarch::la::Vector< 2, double > getGridFaceCentre(const tarch::la::Vector< 2, double > &x, const tarch::la::Vector< 2, double > &h, int numberOfGridCellsPerPatchPerAxis, int overlap, int normal, const tarch::la::Vector< 2, int > &index)
static tarch::la::Vector< 2, double > getGridFaceSize(const tarch::la::Vector< 2, double > &h, int numberOfGridCellsPerPatchPerAxis)
static tarch::la::Vector< 2, double > getGridCellCentre(const tarch::la::Vector< 2, double > &x, const tarch::la::Vector< 2, double > &h, int numberOfGridCellsPerPatchPerAxis, const tarch::la::Vector< 2, int > &index)
In ExaHyPE's Finite Volume setup, a cell hosts a patch of Finite Volumes.
void validatePatch(const double *__restrict__ Q, int unknowns, int auxiliaryVariables, int numberOfGridCellsPerPatchPerAxis, int haloSize, const std::string &location="", bool triggerNonCriticalAssertion=true, double *minValues=nullptr, double *maxValues=nullptr)
Just runs over the patch and ensures that no entry is non or infinite.
std::string plotGridCell(const double *__restrict__ Q, int unknowns)
Helper routine that I need in the log statements.
std::string plotPatch(const double *__restrict__ Q, int unknowns, int auxiliaryVariables, int numberOfGridCellsPerPatchPerAxis, int haloSize, bool prettyPrint=false)
Plot patch.
static tarch::la::Vector< 2, double > getGridCellSize(const tarch::la::Vector< 2, double > &h, int numberOfGridCellsPerPatchPerAxis)
std::string plotPatchOverlap(const double *__restrict__ Q, int unknowns, int auxiliaryVariables, int numberOfGridCellsPerPatchPerAxis, int haloSize, int normal, bool prettyPrint=false)
For the generic kernels that I use here most of the time.