52 const T* __restrict__ quadraturePoints
71 const double* __restrict__ quadratureWeights
132 const int orientation,
133 const int nodesPerAxis
167 const double* __restrict__
const QCell,
168 const double* __restrict__
const derivativeOperator,
170 const int nodesPerAxis,
172 const int scalarIndex,
173 double* __restrict__ gradQ
180 double* __restrict__ QOut,
181 const double* __restrict__ Qsubstract,
184 const int auxiliaryVariables
195 const double* __restrict__ Q,
198 const int auxiliaryVariables
212 const double* __restrict__ Q,
215 const int auxiliaryVariables,
217 int numberOfQuantitiesProjectedOntoFace
257 template<
typename QStoreType>
261 const double* __restrict__ QuadratureNodes1d,
263 const QStoreType* __restrict__ Q,
272 int unknownsPlusAuxiliaryVariables,
274 int numberOfProjectedQuantities,
277 const double* __restrict__ srcQ,
278 double* __restrict__ destQ
std::string plotFace(const double *__restrict__ Q, const int order, const int unknowns, const int auxiliaryVariables, int normal, int numberOfQuantitiesProjectedOntoFace)
tarch::la::Vector< Dimensions, int > getStrides(int nodesPerAxis)
tarch::la::Vector< Dimensions, double > getQuadraturePoint(const tarch::la::Vector< Dimensions, double > &cellCentre, const tarch::la::Vector< Dimensions, double > &cellSize, const tarch::la::Vector< Dimensions, int > &index, int polynomialOrder, const T *__restrict__ quadraturePoints)
Construct location of a quadrature point.
void computeGradient(const double *__restrict__ const QCell, const double *__restrict__ const derivativeOperator, const double invDx, const int nodesPerAxis, const int strideQ, const int scalarIndex, double *__restrict__ gradQ)
double getQuadratureWeight(const tarch::la::Vector< 3, double > &cellSize, const tarch::la::Vector< 3, int > &index, const double *__restrict__ quadratureWeights)
Compute integral over shape function over cell defined by index.
tarch::la::Vector< Dimensions, int > getIndex(int node, tarch::la::Vector< Dimensions, int > strides)
int getNodesPerCell(int nodesPerAxis)
The number of nodes in a cell is basically the input to the power of d.
void subtractCell(double *__restrict__ QOut, const double *__restrict__ Qsubstract, const int order, const int unknowns, const int auxiliaryVariables)
QStoreType evaluatePolynomial(const peano4::datamanagement::CellMarker &marker, int order, const double *__restrict__ QuadratureNodes1d, int unknownsPerDoF, const QStoreType *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, int unknown)
Evaluate the DG polynomial.
void copyOneSideOfFaceProjection(int unknownsPlusAuxiliaryVariables, int order, int numberOfProjectedQuantities, int normal, int isRightFaceHalf, const double *__restrict__ srcQ, double *__restrict__ destQ)
Delegate to PatchUtils of the Finite Volume scheme.
std::string plotCell(const double *__restrict__ Q, const int order, const int unknowns, const int auxiliaryVariables)
int cellIndexToHullIndex(const tarch::la::Vector< Dimensions, int > &indexCell, const int direction, const int orientation, const int nodesPerAxis)
For the generic kernels that I use here most of the time.