Peano
Loading...
Searching...
No Matches
exahype2::fv::riemann Namespace Reference

Namespaces

namespace  internal
 
namespace  loopbodies
 

Typedefs

using SourceFunctor = std::function< void(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, double *__restrict__ S)>
 
using FluxFunctor = std::function< void(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, int normal, double *__restrict__ F)>
 
using NonconservativeProductFunctor = std::function< void(const double *__restrict__ Q, const double *__restrict__ deltaQ, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, int normal, double *__restrict__ BTimesDeltaQ)>
 
using EigenvaluesFunctor = std::function< void(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, int normal, double *__restrict__ L)>
 
using RiemannFunctor = std::function< double(const double *__restrict__ QR, const double *__restrict__ QL, const double *__restrict__ FR, const double *__restrict__ FL, const double *__restrict__ LR, const double *__restrict__ LL, const tarch::la::Vector< Dimensions, double > &xR, const tarch::la::Vector< Dimensions, double > &xL, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, int normal, double *__restrict__ APDQ, double *__restrict__ AMDQ)>
 

Functions

template<int NumberOfVolumesPerAxisInPatch, int HaloSize, int NumberOfUnknowns, int NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateEigenvalues, bool EvaluateSource, bool EvaluateRiemann, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void timeStepWithRiemannPatchwiseHeapFunctors (CellData< double, double > &patchData, const FluxFunctor &fluxFunctor, const NonconservativeProductFunctor &nonconservativeProductFunctor, const SourceFunctor &sourceFunctor, const EigenvaluesFunctor &eigenvaluesFunctor, const RiemannFunctor &riemannFunctor, peano4::utils::LoopPlacement loopPlacement=peano4::utils::LoopPlacement::Serial) InlineMethod
 
template<class SolverType , int NumberOfVolumesPerAxisInPatch, int HaloSize, int NumberOfUnknowns, int NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateEigenvalues, bool EvaluateSource, bool EvaluateRiemann, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void timeStepWithRiemannPatchwiseHeapStateless (CellData< double, double > &patchData, peano4::utils::LoopPlacement loopPlacement=peano4::utils::LoopPlacement::Serial) InlineMethod
 

Typedef Documentation

◆ EigenvaluesFunctor

using exahype2::fv::riemann::EigenvaluesFunctor = typedef std::function<void( const double* __restrict__ Q, const tarch::la::Vector<Dimensions, double>& x, const tarch::la::Vector<Dimensions, double>& h, double t, double dt, int normal, double* __restrict__ L )>

Definition at line 42 of file Functors.h.

◆ FluxFunctor

using exahype2::fv::riemann::FluxFunctor = typedef std::function<void( const double* __restrict__ Q, const tarch::la::Vector<Dimensions, double>& x, const tarch::la::Vector<Dimensions, double>& h, double t, double dt, int normal, double* __restrict__ F )>

Definition at line 21 of file Functors.h.

◆ NonconservativeProductFunctor

using exahype2::fv::riemann::NonconservativeProductFunctor = typedef std::function<void( const double* __restrict__ Q, const double* __restrict__ deltaQ, const tarch::la::Vector<Dimensions, double>& x, const tarch::la::Vector<Dimensions, double>& h, double t, double dt, int normal, double* __restrict__ BTimesDeltaQ )>

Definition at line 31 of file Functors.h.

◆ RiemannFunctor

using exahype2::fv::riemann::RiemannFunctor = typedef std::function<double( const double* __restrict__ QR, const double* __restrict__ QL, const double* __restrict__ FR, const double* __restrict__ FL, const double* __restrict__ LR, const double* __restrict__ LL, const tarch::la::Vector<Dimensions, double>& xR, const tarch::la::Vector<Dimensions, double>& xL, const tarch::la::Vector<Dimensions, double>& h, double t, double dt, int normal, double* __restrict__ APDQ, double* __restrict__ AMDQ )>

Definition at line 52 of file Functors.h.

◆ SourceFunctor

using exahype2::fv::riemann::SourceFunctor = typedef std::function<void( const double* __restrict__ Q, const tarch::la::Vector<Dimensions, double>& x, const tarch::la::Vector<Dimensions, double>& h, double t, double dt, double* __restrict__ S )>

Definition at line 12 of file Functors.h.

Function Documentation

◆ timeStepWithRiemannPatchwiseHeapFunctors()

template<int NumberOfVolumesPerAxisInPatch, int HaloSize, int NumberOfUnknowns, int NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateEigenvalues, bool EvaluateSource, bool EvaluateRiemann, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::riemann::timeStepWithRiemannPatchwiseHeapFunctors ( CellData< double, double > &  patchData,
const FluxFunctor &  fluxFunctor,
const NonconservativeProductFunctor &  nonconservativeProductFunctor,
const SourceFunctor &  sourceFunctor,
const EigenvaluesFunctor &  eigenvaluesFunctor,
const RiemannFunctor &  riemannFunctor,
peano4::utils::LoopPlacement  loopPlacement = peano4::utils::LoopPlacement::Serial 
)

◆ timeStepWithRiemannPatchwiseHeapStateless()

template<class SolverType , int NumberOfVolumesPerAxisInPatch, int HaloSize, int NumberOfUnknowns, int NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateEigenvalues, bool EvaluateSource, bool EvaluateRiemann, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::riemann::timeStepWithRiemannPatchwiseHeapStateless ( CellData< double, double > &  patchData,
peano4::utils::LoopPlacement  loopPlacement = peano4::utils::LoopPlacement::Serial 
)