Peano
Loading...
Searching...
No Matches
exahype2::fv::musclhancock::internal Namespace Reference

Functions

template<class QInEnumeratorType , class QOutEnumeratorType >
static void 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 QInEnumeratorType , class QInterEnumeratorType >
void computeTimeDerivative_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::Flux flux, exahype2::fv::musclhancock::NonconservativeProduct ncp, exahype2::fv::musclhancock::Source source, 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__ timederivative, QInterEnumeratorType QInterEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QInterEnumeratorType >
void computeQonFace_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__ timederivative, double *__restrict__ QfaceXneg, double *__restrict__ QfaceXpos, double *__restrict__ QfaceYneg, double *__restrict__ QfaceYpos, double *__restrict__ QfaceZneg, double *__restrict__ QfaceZpos, QInterEnumeratorType QInterEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QMaxEigenvalueEnumeratorType >
static void computeMaxEigenvalue_LoopBody (const double *__restrict__ QIn, QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::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, int normal, double *__restrict__ QMaxEigenvalue, QMaxEigenvalueEnumeratorType QMaxEigenvalueEnumerator) InlineMethod
 
template<typename QInEnumeratorType , typename QInterEnumeratorType , typename QMaxEigenvalueEnumeratorType , typename QOutEnumeratorType >
static void updateSolutionWithEigenvalueDamping_LoopBody (const double *__restrict__ QIn, const QInEnumeratorType QInEnumerator, const double *__restrict__ tempMaxEigenvalueX, const double *__restrict__ tempMaxEigenvalueY, const double *__restrict__ tempMaxEigenvalueZ, const QMaxEigenvalueEnumeratorType &eigenvalueEnumerator, 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, double *__restrict__ QfaceXneg, double *__restrict__ QfaceXpos, double *__restrict__ QfaceYneg, double *__restrict__ QfaceYpos, double *__restrict__ QfaceZneg, double *__restrict__ QfaceZpos, QInterEnumeratorType QInterEnumerator) InlineMethod
 
template<class QInEnumeratorType , class QInterEnumeratorType , class QFluxEnumeratorType >
static void computeFlux_LoopBody (double *__restrict__ QfaceNLeft, double *__restrict__ QfaceNRight, QInterEnumeratorType QInterEnumerator, QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::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__ QFluxL, double *__restrict__ QFluxR, QFluxEnumeratorType QFluxEnumerator) InlineMethod
 
template<typename QFluxEnumeratorType , typename QOutEnumeratorType >
static void updateSolutionWithFlux_LoopBody (const double *__restrict__ tempFluxXL, const double *__restrict__ tempFluxYL, const double *__restrict__ tempFluxZL, const double *__restrict__ tempFluxXR, const double *__restrict__ tempFluxYR, const double *__restrict__ tempFluxZR, const QFluxEnumeratorType 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
 
template<class QInEnumeratorType , class QInterEnumeratorType , class QNCPFaceEnumeratorType >
static void computeDTerm_LoopBody (double *__restrict__ QfaceNLeft, double *__restrict__ QfaceNRight, QInterEnumeratorType QInterEnumerator, QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::NonconservativeProduct ncp, 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__ QD, const QNCPFaceEnumeratorType QNcpEnumerator) InlineMethod
 
template<typename QNCPFaceEnumeratorType , typename QOutEnumeratorType >
static void updateSolutionWithDTerm_LoopBody (const double *__restrict__ QDX, const double *__restrict__ QDY, const double *__restrict__ QDZ, const QNCPFaceEnumeratorType ncpEnumerator, 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 QInterEnumeratorType , class QOutEnumeratorType >
void updateSolutionwithNCPandSource_LoopBody (const double *__restrict__ QIn, const QInterEnumeratorType QInterEnumerator, const QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::NonconservativeProduct ncp, exahype2::fv::musclhancock::Source source, 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 *timeDerivative, double *__restrict__ QOut, const QOutEnumeratorType &QOutEnumerator, bool evalNCP, bool evalSRC) InlineMethod
 
template<class QInEnumeratorType >
static double reduceMaxEigenvalue_LoopBody (const double *__restrict__ QIn, QInEnumeratorType QInEnumerator, exahype2::fv::musclhancock::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
 

Function Documentation

◆ computeDTerm_LoopBody()

template<class QInEnumeratorType , class QInterEnumeratorType , class QNCPFaceEnumeratorType >
static void exahype2::fv::musclhancock::internal::computeDTerm_LoopBody ( double *__restrict__ QfaceNLeft,
double *__restrict__ QfaceNRight,
QInterEnumeratorType QInterEnumerator,
QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::NonconservativeProduct ncp,
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__ QD,
const QNCPFaceEnumeratorType QNcpEnumerator )
static

◆ computeFlux_LoopBody()

template<class QInEnumeratorType , class QInterEnumeratorType , class QFluxEnumeratorType >
static void exahype2::fv::musclhancock::internal::computeFlux_LoopBody ( double *__restrict__ QfaceNLeft,
double *__restrict__ QfaceNRight,
QInterEnumeratorType QInterEnumerator,
QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::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__ QFluxL,
double *__restrict__ QFluxR,
QFluxEnumeratorType QFluxEnumerator )
static

◆ computeMaxEigenvalue_LoopBody()

template<class QInEnumeratorType , class QMaxEigenvalueEnumeratorType >
static void exahype2::fv::musclhancock::internal::computeMaxEigenvalue_LoopBody ( const double *__restrict__ QIn,
QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::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,
int normal,
double *__restrict__ QMaxEigenvalue,
QMaxEigenvalueEnumeratorType QMaxEigenvalueEnumerator )
static

◆ computeQonFace_LoopBody()

template<class QInEnumeratorType , class QInterEnumeratorType >
void exahype2::fv::musclhancock::internal::computeQonFace_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__ timederivative,
double *__restrict__ QfaceXneg,
double *__restrict__ QfaceXpos,
double *__restrict__ QfaceYneg,
double *__restrict__ QfaceYpos,
double *__restrict__ QfaceZneg,
double *__restrict__ QfaceZpos,
QInterEnumeratorType QInterEnumerator )

Definition at line 122 of file LoopBody.cpph.

References exahype2::fv::getVolumeSize(), and exahype2::volumeIndex().

Here is the call graph for this function:

◆ computeTimeDerivative_LoopBody()

template<class QInEnumeratorType , class QInterEnumeratorType >
void exahype2::fv::musclhancock::internal::computeTimeDerivative_LoopBody ( const double *__restrict__ QIn,
const QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::Flux flux,
exahype2::fv::musclhancock::NonconservativeProduct ncp,
exahype2::fv::musclhancock::Source source,
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__ timederivative,
QInterEnumeratorType QInterEnumerator )

Definition at line 26 of file LoopBody.cpph.

References exahype2::fv::getVolumeCentre(), exahype2::fv::getVolumeSize(), temp, and exahype2::volumeIndex().

Here is the call graph for this function:

◆ copySolution_LoopBody()

template<class QInEnumeratorType , class QOutEnumeratorType >
static void exahype2::fv::musclhancock::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 )
static

◆ reduceMaxEigenvalue_LoopBody()

template<class QInEnumeratorType >
static double exahype2::fv::musclhancock::internal::reduceMaxEigenvalue_LoopBody ( const double *__restrict__ QIn,
QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::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 )
static

◆ updateSolutionWithDTerm_LoopBody()

template<typename QNCPFaceEnumeratorType , typename QOutEnumeratorType >
static void exahype2::fv::musclhancock::internal::updateSolutionWithDTerm_LoopBody ( const double *__restrict__ QDX,
const double *__restrict__ QDY,
const double *__restrict__ QDZ,
const QNCPFaceEnumeratorType ncpEnumerator,
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 )
static

◆ updateSolutionWithEigenvalueDamping_LoopBody()

template<typename QInEnumeratorType , typename QInterEnumeratorType , typename QMaxEigenvalueEnumeratorType , typename QOutEnumeratorType >
static void exahype2::fv::musclhancock::internal::updateSolutionWithEigenvalueDamping_LoopBody ( const double *__restrict__ QIn,
const QInEnumeratorType QInEnumerator,
const double *__restrict__ tempMaxEigenvalueX,
const double *__restrict__ tempMaxEigenvalueY,
const double *__restrict__ tempMaxEigenvalueZ,
const QMaxEigenvalueEnumeratorType & eigenvalueEnumerator,
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,
double *__restrict__ QfaceXneg,
double *__restrict__ QfaceXpos,
double *__restrict__ QfaceYneg,
double *__restrict__ QfaceYpos,
double *__restrict__ QfaceZneg,
double *__restrict__ QfaceZpos,
QInterEnumeratorType QInterEnumerator )
static

◆ updateSolutionWithFlux_LoopBody()

template<typename QFluxEnumeratorType , typename QOutEnumeratorType >
static void exahype2::fv::musclhancock::internal::updateSolutionWithFlux_LoopBody ( const double *__restrict__ tempFluxXL,
const double *__restrict__ tempFluxYL,
const double *__restrict__ tempFluxZL,
const double *__restrict__ tempFluxXR,
const double *__restrict__ tempFluxYR,
const double *__restrict__ tempFluxZR,
const QFluxEnumeratorType 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 )
static

◆ updateSolutionwithNCPandSource_LoopBody()

template<class QInEnumeratorType , class QInterEnumeratorType , class QOutEnumeratorType >
void exahype2::fv::musclhancock::internal::updateSolutionwithNCPandSource_LoopBody ( const double *__restrict__ QIn,
const QInterEnumeratorType QInterEnumerator,
const QInEnumeratorType QInEnumerator,
exahype2::fv::musclhancock::NonconservativeProduct ncp,
exahype2::fv::musclhancock::Source source,
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 * timeDerivative,
double *__restrict__ QOut,
const QOutEnumeratorType & QOutEnumerator,
bool evalNCP,
bool evalSRC )

Definition at line 448 of file LoopBody.cpph.

References exahype2::fv::getVolumeCentre(), exahype2::fv::getVolumeSize(), and exahype2::volumeIndex().

Here is the call graph for this function: