48 const tarch::la::Vector<Dimensions,double>& cellCentre,
49 const tarch::la::Vector<Dimensions,double>& cellSize,
50 const tarch::la::Vector<Dimensions,int>& index,
52 const T* __restrict__ quadraturePoints
69 const tarch::la::Vector<3,double>& cellSize,
70 const tarch::la::Vector<3,int>& index,
71 const double* __restrict__ quadratureWeights
96 tarch::la::Vector<Dimensions,int>
getStrides(
int nodesPerAxis);
106 tarch::la::Vector<Dimensions,int>
getIndex(
108 tarch::la::Vector<Dimensions,int> strides
130 const tarch::la::Vector<Dimensions,int>& indexCell,
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>
259 const peano4::datamanagement::CellMarker& marker,
261 const double* __restrict__ QuadratureNodes1d,
263 const QStoreType* __restrict__ Q,
264 const tarch::la::Vector<Dimensions,double>& x,
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)
This file is part of the multigrid project within Peano 4.