1 #include "InitialValues.h"
2 #include "Properties.h"
10 #include "tarch/la/Vector.h"
12 #include "peano4/utils/Globals.h"
21 const tarch::la::Vector<DIMENSIONS,double>&
x,
24 constexpr
int nVars = 64;
25 constexpr
double pi = M_PI;
26 constexpr
double peak_number = 2.0;
27 constexpr
double ICA = 0.1;
28 double HH = 1.0 - ICA*sin( peak_number*
pi*(
x[0] -
t));
29 double dxH = -peak_number*
pi*ICA*cos( peak_number *
pi*(
x[0] -
t));
30 double dxphi = - pow(HH,(-7.0/6.0))*dxH/6.0;
31 double phi = pow(( 1.0 / HH),(1.0/6.0));
32 double Kxx = - 0.5*peak_number*
pi*ICA*cos( peak_number *
pi*(
x[0] -
t))/sqrt( 1.0 - ICA*sin( peak_number*
pi*(
x[0] -
t)) );
33 double traceK = Kxx/HH;
34 memset(Q, .0, nVars*
sizeof(
double));
38 Q[6] = phi*phi*(Kxx - 1.0/3.0*traceK*HH ) ;
39 Q[9] = phi*phi*(0.0 - 1.0/3.0*traceK*1.0) ;
40 Q[11] = phi*phi*(0.0 - 1.0/3.0*traceK*1.0) ;
41 Q[16] = log(sqrt(HH));
42 Q[13] = 2.0/(3.0*pow(HH,(5.0/3.0)))*dxH ;
43 Q[23] = 1.0/(2.0*HH)*dxH ;
44 Q[35] = pow(HH,(-1.0/3.0))*dxH/3.0 ;
57 const tarch::la::Vector<DIMENSIONS,double>&
X,
60 constexpr
int nVars = 64;
61 constexpr
double pi = M_PI;
62 constexpr
double peak_number = 2.0;
63 constexpr
double ICA = 1e-4;
64 double HH = ICA*sin( peak_number*
pi*(
X[0] -
t));
65 double dxHH = peak_number*
pi*ICA*cos( peak_number *
pi*(
X[0] -
t));
66 double dtHH = -peak_number*
pi*ICA*cos( peak_number *
pi*(
X[0] -
t));
67 memset(Q, .0, nVars*
sizeof(
double));
83 const tarch::la::Vector<DIMENSIONS,double>&
x,
86 constexpr
int nVars = 64;
87 constexpr
double pi = M_PI;
88 constexpr
double peak_number = 2.0;
89 constexpr
double ICA = 0.1;
90 double HH = 1.0 - ICA*sin( peak_number*
pi*(
x[0] -
t));
91 double dxH = -peak_number*
pi*ICA*cos( peak_number *
pi*(
x[0] -
t));
92 double Kxx = - 0.5*peak_number*
pi*ICA*cos( peak_number *
pi*(
x[0] -
t))/sqrt( 1.0 - ICA*sin( peak_number*
pi*(
x[0] -
t)) );
93 memset(Q, .0, nVars*
sizeof(
double));
void linearWave(double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &X, double t)
void gaugeWave(double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &x, double t)
void forcedflat(double *NOALIAS Q, const tarch::la::Vector< DIMENSIONS, double > &X, double t)