Peano
Loading...
Searching...
No Matches
Riemann.h File Reference
#include <vector>
#include "DGUtils.h"
#include "Functors.h"
#include "tarch/la/Vector.h"
#include "tarch/multicore/multicore.h"
#include "peano4/grid/GridControlEvent.h"
#include "peano4/utils/Loop.h"
#include "peano4/utils/Globals.h"
Include dependency graph for Riemann.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  exahype2
 For the generic kernels that I use here most of the time.
 
namespace  exahype2::dg
 

Functions

void exahype2::dg::interpolateRiemannSolution (const peano4::datamanagement::FaceMarker &marker, int order, int unknowns, const double *__restrict__ InterpolationMatrix1d, const double *__restrict__ coarseGridFaceQ, double *__restrict__ fineGridFaceQ)
 
void exahype2::dg::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 exahype2::dg::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 exahype2::dg::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 exahype2::dg::clearRiemannResult (int order, int unknowns, double *__restrict__ faceQ)
 
void exahype2::dg::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, double *const __restrict__ faceQFront, double *const __restrict__ faceQBack)
 3d counterpart to other projectVolumetricDataOntoFaces() variant.
 
void exahype2::dg::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 exahype2::dg::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, double *const __restrict__ faceQFront, double *const __restrict__ faceQBack)
 3d counterpart to other projectVolumetricDataOntoFaces() variant.
 
void exahype2::dg::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 to the nodes of the cell.
 
void exahype2::dg::integrateOverRiemannSolutionsAndAddToVolume_GaussLegendre (const double *const __restrict__ faceQLeft, const double *const __restrict__ faceQRight, const double *const __restrict__ faceQBottom, const double *const __restrict__ faceQUp, const double *const __restrict__ faceQFront, const double *const __restrict__ faceQBack, int order, int unknowns, const int auxiliaryVariables, const tarch::la::Vector< 3, double > &cellSize, const double *const __restrict__ BasisFunctionValuesLeft, const double *__restrict__ MassMatrixDiagonal1d, double *__restrict__ cellQ)
 3D counterpart of integrateOverRiemannSolutionsAndAddToVolume_GaussLegendre()