Peano
Loading...
Searching...
No Matches
LaxFriedrichs.h File Reference
#include <vector>
#include "../DGUtils.h"
#include "../Functors.h"
#include "../CellIntegral.h"
#include "../Riemann.h"
#include "tarch/la/Vector.h"
#include "tarch/multicore/multicore.h"
#include "peano4/grid/GridControlEvent.h"
#include "peano4/utils/Globals.h"
Include dependency graph for LaxFriedrichs.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
 
namespace  exahype2::dg::laxfriedrichs
 

Functions

void exahype2::dg::laxfriedrichs::solveRiemannProblem_pointwise_in_situ (::exahype2::dg::Flux flux, ::exahype2::dg::NonConservativeProduct ncp, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &cellSize, double t, double dt, int order, int unknowns, int auxiliaryVariables, int faceNumber, const double *__restrict__ quadraturePoints, bool useFlux, bool useNcp, const double *__restrict__ projectedValues, double *__restrict__ solution)
 Solve Riemann problem on face.
 
static void exahype2::dg::laxfriedrichs::cellIntegral_patchwise_in_situ_GaussLegendre_functors (::exahype2::CellData< double, double > &cellData, const int order, const int unknowns, const int auxiliaryVariables, Flux flux, NonConservativeProduct nonConservativeProduct, Source source, PointSources pointSources, const double *__restrict__ QuadratureNodes1d, const double *__restrict__ MassMatrixDiagonal1d, const double *__restrict__ StiffnessMatrix1d, const double *__restrict__ DerivativeOperator1d, bool evaluateFlux, bool evaluateNonconservativeProduct, bool evaluateSource, bool evaluatePointSources)
 Delegate to generic implementation in parent directory.
 
static void exahype2::dg::laxfriedrichs::multiplyWithInvertedMassMatrix_GaussLegendre (::exahype2::CellData< double, double > &cellData, const int order, const int unknowns, const int auxiliaryVariables, const double *__restrict__ MassMatrixDiagonal1d)
 Delegate to generic implementation.
 
static void exahype2::dg::laxfriedrichs::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)
 Delegate to generic implementation.
 
static void exahype2::dg::laxfriedrichs::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)
 Delegate to generic implementation.
 
template<typename Solver , int order, int unknowns, int auxiliaryVariables>
void exahype2::dg::laxfriedrichs::cellIntegral_patchwise_in_situ_GaussLegendre (::exahype2::CellData< double, double > &cellData, bool evaluateFlux, bool evaluateNonconservativeProduct, bool evaluateSource, bool evaluatePointSources)