6tarch::logging::Log examples::exahype2::finitevolumes::MHD::_log(
"examples::exahype2::finitevolumes::MHD" );
10void 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(...)" );
32double examples::exahype2::finitevolumes::MHD::maxEigenvalue(
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(...)" );
56void examples::exahype2::finitevolumes::MHD::flux(
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(...)" );
70void 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)