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...
This file is part of the multigrid project within Peano 4.
Provide information about selected face.