Peano
Loading...
Searching...
No Matches
Functors.h
Go to the documentation of this file.
1// This file is part of the ExaHyPE2 project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5#include <functional>
6
8#include "tarch/la/Vector.h"
10
12 using SourceFunctor = std::function<void(
13 const double* __restrict__ Q,
16 double t,
17 double dt,
18 double* __restrict__ S
19 )>;
20
21 using FluxFunctor = std::function<void(
22 const double* __restrict__ Q,
25 double t,
26 double dt,
27 int normal,
28 double* __restrict__ F
29 )>;
30
31 using NonconservativeProductFunctor = std::function<void(
32 const double* __restrict__ Q,
33 const double* __restrict__ deltaQ,
36 double t,
37 double dt,
38 int normal,
39 double* __restrict__ BTimesDeltaQ
40 )>;
41
42 using EigenvaluesFunctor = std::function<void(
43 const double* __restrict__ Q,
46 double t,
47 double dt,
48 int normal,
49 double* __restrict__ L
50 )>;
51
52 using RiemannFunctor = std::function<double(
53 const double* __restrict__ QR,
54 const double* __restrict__ QL,
55 const double* __restrict__ FR,
56 const double* __restrict__ FL,
57 const double* __restrict__ LR,
58 const double* __restrict__ LL,
62 double t,
63 double dt,
64 int normal,
65 double* __restrict__ APDQ,
66 double* __restrict__ AMDQ
67 )>;
68} // namespace exahype2::fv::riemann
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)> EigenvaluesFunctor
Definition Functors.h:50
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)> SourceFunctor
Definition Functors.h:19
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)> NonconservativeProductFunctor
Definition Functors.h:40
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)> FluxFunctor
Definition Functors.h:29
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)> RiemannFunctor
Definition Functors.h:67
Simple vector class.
Definition Vector.h:159