Peano
FiniteVolumeMGCCZ4.h
Go to the documentation of this file.
1 //
2 // ExaHyPE2 solver file
3 // Generated by Peano's Python API
4 // www.peano-framework.org
5 //
6 // This is generated. If you change fundamental properties, you will have to
7 // generate this file. Backup your manual changes before you do so.
8 //
9 #ifndef _examples_exahype2_mgccz4_FiniteVolumeMGCCZ4_H_
10 #define _examples_exahype2_mgccz4_FiniteVolumeMGCCZ4_H_
11 
12 
13 #include "AbstractFiniteVolumeMGCCZ4.h"
14 
15 #include "tarch/logging/Log.h"
16 
17 namespace examples {
18  namespace exahype2 {
19  namespace mgccz4 {
20  class FiniteVolumeMGCCZ4;
21  }
22  }
23 }
24 
25 
26 
27 class examples::exahype2::mgccz4::FiniteVolumeMGCCZ4: public AbstractFiniteVolumeMGCCZ4 {
28  private:
29  static tarch::logging::Log _log;
30 
31  public:
33 
34 
35  //#if defined(WITH_GPU_OMP_TARGET)
36  //#pragma omp declare target
37  //#endif
38  void adjustSolution(
39  double * NOALIAS Q,
40  const tarch::la::Vector<DIMENSIONS,double>& volumeCentre,
41  const tarch::la::Vector<DIMENSIONS,double>& volumeH,
42  double t,
43  double dt
44  ) override;
45  //#if defined(WITH_GPU_OMP_TARGET)
46  //#pragma omp end declare target
47  //#endif
48 
49 
50  //#if defined(WITH_GPU_OMP_TARGET)
51  //#pragma omp declare target
52  //#endif
53  void sourceTerm(
54  const double * NOALIAS Q,
55  const tarch::la::Vector<DIMENSIONS,double>& volumeCentre,
56  const tarch::la::Vector<DIMENSIONS,double>& volumeH,
57  double t,
58  double dt,
59  double * NOALIAS S
60  );
61  //#if defined(WITH_GPU_OMP_TARGET)
62  //#pragma omp end declare target
63  //#endif
64 
65 
66  virtual void boundaryConditions(
67  const double * NOALIAS Qinside, // Qinside[59+0]
68  double * NOALIAS Qoutside, // Qoutside[59+0]
69  const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
70  const tarch::la::Vector<DIMENSIONS,double>& volumeH,
71  double t,
72  int normal
73  ) override;
74 
75 
76 
77  double maxEigenvalue(
78  const double * NOALIAS Q, // Q[59+0],
79  const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
80  const tarch::la::Vector<DIMENSIONS,double>& volumeH,
81  double t,
82  int normal
83  );
84 
86  const double * NOALIAS Q, // Q[59+0],
87  const double * NOALIAS deltaQ, // [59+0]
88  const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
89  const tarch::la::Vector<DIMENSIONS,double>& volumeH,
90  double t,
91  int normal,
92  double * NOALIAS BgradQ // BgradQ[59]
93  );
94 };
95 
96 
97 #endif
void nonconservativeProduct(const double *NOALIAS Q, const double *NOALIAS deltaQ, const tarch::la::Vector< DIMENSIONS, double > &faceCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH, double t, int normal, double *NOALIAS BgradQ)
double maxEigenvalue(const double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &faceCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH, double t, int normal)
void sourceTerm(const double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &volumeCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH, double t, double dt, double *NOALIAS S)
virtual void boundaryConditions(const double *NOALIAS Qinside, double *NOALIAS Qoutside, const tarch::la::Vector< DIMENSIONS, double > &faceCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH, double t, int normal) override
void adjustSolution(double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &volumeCentre, const tarch::la::Vector< DIMENSIONS, double > &volumeH, double t, double dt) override
Definition: mgccz4.py:1