187 const double* __restrict__ InterpolationMatrix1d,
188 const double* __restrict__ coarseGridFaceQ,
189 double* __restrict__ fineGridFaceQ
236 int numberOfProjectedQuantities,
238 int auxiliaryVariables,
239 const double* __restrict__ RestrictionMatrix1d,
240 const double* __restrict__ fineGridFaceQ,
241 double* __restrict__ coarseGridFaceQ
292 const double* __restrict__ cellQ,
295 int auxiliaryVariables,
296 const double*
const __restrict__ BasisFunctionValuesLeft,
297 double*
const __restrict__ faceQLeft,
298 double*
const __restrict__ faceQRight,
299 double*
const __restrict__ faceQBottom,
300 double*
const __restrict__ faceQUp
313 int auxiliaryVariables,
314 int numberOfProjectedQuantities,
315 double* __restrict__ faceQ
324 double* __restrict__ faceQ
331 const double* __restrict__ cellQ,
334 int auxiliaryVariables,
335 const double*
const __restrict__ BasisFunctionValuesLeft,
336 double*
const __restrict__ faceQLeft,
337 double*
const __restrict__ faceQRight,
338 double*
const __restrict__ faceQBottom,
339 double*
const __restrict__ faceQUp,
340 double*
const __restrict__ faceQFront,
341 double*
const __restrict__ faceQBack
345 const double* __restrict__ cellQ,
348 int auxiliaryVariables,
349 const double*
const __restrict__ BasisFunctionValuesLeft,
350 double*
const __restrict__ faceQLeft,
351 double*
const __restrict__ faceQRight,
352 double*
const __restrict__ faceQBottom,
353 double*
const __restrict__ faceQUp
360 const double* __restrict__ cellQ,
363 int auxiliaryVariables,
364 const double*
const __restrict__ BasisFunctionValuesLeft,
365 double*
const __restrict__ faceQLeft,
366 double*
const __restrict__ faceQRight,
367 double*
const __restrict__ faceQBottom,
368 double*
const __restrict__ faceQUp,
369 double*
const __restrict__ faceQFront,
370 double*
const __restrict__ faceQBack
405 const double*
const __restrict__ faceQLeft,
406 const double*
const __restrict__ faceQRight,
407 const double*
const __restrict__ faceQBottom,
408 const double*
const __restrict__ faceQUp,
411 const int auxiliaryVariables,
413 const double*
const __restrict__ BasisFunctionValuesLeft,
414 const double* __restrict__ MassMatrixDiagonal1d,
415 double* __restrict__ cellQ
431 const double*
const __restrict__ faceQLeft,
432 const double*
const __restrict__ faceQRight,
433 const double*
const __restrict__ faceQBottom,
434 const double*
const __restrict__ faceQUp,
435 const double*
const __restrict__ faceQFront,
436 const double*
const __restrict__ faceQBack,
439 const int auxiliaryVariables,
441 const double*
const __restrict__ BasisFunctionValuesLeft,
442 const double* __restrict__ MassMatrixDiagonal1d,
443 double* __restrict__ cellQ
void restrictAndAccumulateProjectedFacePolynomial(const peano4::datamanagement::FaceMarker &marker, int order, int numberOfProjectedQuantities, int unknowns, int auxiliaryVariables, const double *__restrict__ RestrictionMatrix1d, const double *__restrict__ fineGridFaceQ, double *__restrict__ coarseGridFaceQ)
Counterpart of interpolateRiemannSolution().
void clearRiemannResult(int order, int unknowns, double *__restrict__ faceQ)
void clearSolutionProjection(int order, int unknowns, int auxiliaryVariables, int numberOfProjectedQuantities, double *__restrict__ faceQ)
Set the whole solution projection on the face from left and right to zero.
void projectVolumetricDataAndGradientOntoFaces(const double *__restrict__ cellQ, int order, int unknowns, int auxiliaryVariables, const double *const __restrict__ BasisFunctionValuesLeft, double *const __restrict__ faceQLeft, double *const __restrict__ faceQRight, double *const __restrict__ faceQBottom, double *const __restrict__ faceQUp)
void projectVolumetricDataOntoFaces(const double *__restrict__ cellQ, int order, int unknowns, int auxiliaryVariables, const double *const __restrict__ BasisFunctionValuesLeft, double *const __restrict__ faceQLeft, double *const __restrict__ faceQRight, double *const __restrict__ faceQBottom, double *const __restrict__ faceQUp)
Take polynomial within cell and project it onto the faces.
void interpolateRiemannSolution(const peano4::datamanagement::FaceMarker &marker, int order, int unknowns, const double *__restrict__ InterpolationMatrix1d, const double *__restrict__ coarseGridFaceQ, double *__restrict__ fineGridFaceQ)
void integrateOverRiemannSolutionsAndAddToVolume_GaussLegendre(const double *const __restrict__ faceQLeft, const double *const __restrict__ faceQRight, const double *const __restrict__ faceQBottom, const double *const __restrict__ faceQUp, int order, int unknowns, const int auxiliaryVariables, const tarch::la::Vector< 2, double > &cellSize, const double *const __restrict__ BasisFunctionValuesLeft, const double *__restrict__ MassMatrixDiagonal1d, double *__restrict__ cellQ)
Given a numerical flux at the various faces, this computes and adds the Riemann integral of this flux...
For the generic kernels that I use here most of the time.
Provide information about selected face.