10 void examples::exahype2::finitevolumes::MHD::initialCondition(
12 const tarch::la::Vector<DIMENSIONS,double>& volumeCentre,
13 const tarch::la::Vector<DIMENSIONS,double>& volumeH,
14 bool gridIsConstructed
16 logTraceInWith3Arguments(
"initialCondition(...)", volumeCentre, volumeH, gridIsConstructed );
18 double xd[DIMENSIONS];
19 for (
int d=0; d< DIMENSIONS; d++) xd[d] = 0.0;
22 for(
int i=0; i<9; i++){
23 assert(std::isfinite(Q[i]));
24 assert(!std::isnan(Q[i]));
27 logTraceOut(
"initialCondition(...)" );
33 const double * NOALIAS Q,
34 const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
35 const tarch::la::Vector<DIMENSIONS,double>& volumeH,
39 logTraceInWith4Arguments(
"eigenvalues(...)", faceCentre, volumeH,
t, normal );
46 for (
int i=0; i<9; i++) {
47 result = std::max( result, std::abs(lambda[i]) );
50 logTraceOut(
"eigenvalues(...)" );
57 const double * NOALIAS Q,
58 const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
59 const tarch::la::Vector<DIMENSIONS,double>& volumeH,
64 logTraceInWith4Arguments(
"flux(...)", faceCentre, volumeH,
t, normal );
66 logTraceOut(
"flux(...)" );
70 void examples::exahype2::finitevolumes::MHD::boundaryConditions(
71 const double * NOALIAS Qinside,
72 double * NOALIAS Qoutside,
73 const tarch::la::Vector<DIMENSIONS,double>& faceCentre,
74 const tarch::la::Vector<DIMENSIONS,double>& volumeH,
78 logTraceInWith4Arguments(
"boundaryConditions(...)", faceCentre, volumeH,
t, normal );
79 for(
int i=0; i< 9; i++)
80 Qoutside[i]=Qinside[i];
81 logTraceOut(
"boundaryConditions(...)" );
void alfenwave_(double *x, double *Q, double *t)
void pdeeigenvalues_(double *lambda, const double *const Q, double *nv)
void pdeflux_(double *Fx, double *Fy, double *Fz, const double *const Q)
static double maxEigenvalue(const double *const Q, int normal, const double CCZ4e, const double CCZ4ds, const double CCZ4GLMc, const double CCZ4GLMd)
tarch::logging::Log _log
This is variant 1 of the fused kernels.