Peano
Loading...
Searching...
No Matches
LoopBody.h File Reference
Include dependency graph for LoopBody.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::fd
 
namespace  exahype2::fd::internal
 

Functions

void exahype2::fd::reduceMaxEigenvalue_patchwise_functors (::exahype2::CellData< double, double > &patchData, int numberOfGridCellsPerPatchPerAxis, int overlap, int unknowns, int auxiliaryVariables, MaxEigenvalue maxEigenvalue)
 
template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::internal::copySolution_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 
template<class QOutEnumeratorType >
static void exahype2::fd::internal::clearSolution_LoopBody (int patchIndex, const tarch::la::Vector< Dimensions, int > &volumeIndex, int unknown, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 The complicated way to write =0.
 
template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::internal::addAlgebraicSourceTerm_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType &QInEnumerator, exahype2::fd::Source AlgebraicSource, 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, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 Copy previous solution over into new time step and add source term.
 
template<typename Solver , class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fd::internal::addAlgebraicSourceTerm_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, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator) InlineMethod
 Overloaded version which uses static invocation instead of a functor.
 
template<typename Solver >
static void exahype2::fd::internal::addAlgebraicSourceTerm_LoopBody (const double *__restrict__ QIn, const exahype2::enumerator::AoSLexicographicEnumerator &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, double *__restrict__ QOut, const exahype2::enumerator::AoSLexicographicEnumerator &QOutEnumerator) InlineMethod
 Specialised version.
 
template<class QOutEnumeratorType >
static double exahype2::fd::internal::reduceMaxEigenvalue_LoopBody (const double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator, exahype2::fd::MaxEigenvalue maxEigenvalue, 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) InlineMethod
 
template<>
double exahype2::fd::internal::reduceMaxEigenvalue_LoopBody (const double *__restrict__ QOut, const exahype2::enumerator::AoSLexicographicEnumerator &QOutEnumerator, exahype2::fd::MaxEigenvalue maxEigenvalue, 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) InlineMethod
 Specialisation without the gather.
 
template<typename Solver , class QOutEnumeratorType >
static double exahype2::fd::internal::reduceMaxEigenvalue_LoopBody (const double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator, 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) InlineMethod
 Overloaded version with static function calls.
 
template<typename Solver >
static double exahype2::fd::internal::reduceMaxEigenvalue_LoopBody (const double *__restrict__ QOut, const exahype2::enumerator::AoSLexicographicEnumerator &QOutEnumerator, 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) InlineMethod
 Overloaded version with static function calls.
 

Variables

constexpr int exahype2::fd::PickAllEntriesFromOutputVector = -1