Peano 4
Loading...
Searching...
No Matches
LoopBody.h File Reference
Include dependency graph for LoopBody.h:

Go to the source code of this file.

Namespaces

namespace  exahype2
 Common routines required for a variety of Riemann solvers.
 
namespace  exahype2::fd
 
namespace  exahype2::fd::fd4
 
namespace  exahype2::fd::fd4::internal
 

Functions

template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeAuxiliaryVariables_LoopBody (double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int normal, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeDifferentialSourceTerm_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, exahype2::fd::NonconservativeProduct DifferentialSource, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, double t, double dt, int normal, double *__restrict__ QDiffSrc, const QOutEnumeratorType &QDiffSrcEnumerator, DifferentialSourceTermVariant variant) InlineMethod
 This function calculates the source term that involves B_i\nabla_iQ where i is the spatial dimension.
 
template<typename Solver , class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeDifferentialSourceTerm_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, double t, double dt, int normal, double *__restrict__ QDiffSrc, const QOutEnumeratorType &QDiffSrcEnumerator, DifferentialSourceTermVariant variant) InlineMethod
 Overlaoded version with static calls.
 
template<typename QOutEnumeratorType >
static void exahype2::fd::fd4::internal::updateSolutionWithDifferentialSourceTerm_LoopBody (const double *__restrict__ QDiffSrcX, const double *__restrict__ QDiffSrcY, const double *__restrict__ QDiffSrcZ, const QOutEnumeratorType &QDiffSrcEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown, double dt, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeKreissOligerDissipationTerm_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, double t, double dt, int normal, double *__restrict__ QKODsp, const QOutEnumeratorType &QKODspEnumerator) InlineMethod
 
template<typename QOutEnumeratorType >
static void exahype2::fd::fd4::internal::updateSolutionWithKODissipationTerm_LoopBody (const double KOSigma, const double *__restrict__ QKODspX, const double *__restrict__ QKODspY, const double *__restrict__ QKODspZ, const QOutEnumeratorType &QKODspEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown, double dt, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeFlux_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, exahype2::fd::Flux flux, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, double t, double dt, int normal, double *__restrict__ QFlux, const QOutEnumeratorType &QFluxEnumerator) InlineMethod
 This routine computes \( \partial_i F_i \) where i is the argument normal.
 
template<typename Solver , class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::fd4::internal::computeFlux_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, double t, double dt, int normal, double *__restrict__ QFlux, const QOutEnumeratorType &QFluxEnumerator) InlineMethod
 Overloaded version with static calls.
 
template<typename QOutEnumeratorType >
static void exahype2::fd::fd4::internal::updateSolutionWithFlux_LoopBody (const double *__restrict__ tempFluxX, const double *__restrict__ tempFluxY, const double *__restrict__ tempFluxZ, const QOutEnumeratorType &fluxEnumerator, const tarch::la::Vector< Dimensions, double > &patchCentre, const tarch::la::Vector< Dimensions, double > &patchSize, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown, double dt, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 Plain update of flux in a finite differences scheme.