1#ifndef EXASEIS_SCENARIOWHOLESPACEPROBLEM_HEADER
2#define EXASEIS_SCENARIOWHOLESPACEPROBLEM_HEADER
6template <
class VariableShortcuts,
int basisSize>
36#elif defined ANISOTROPIC
37 double mue = Q[s.rho] *cs*cs;
38 double lambda = Q[s.rho]*(cp*cp -2*cs*cs);
40 Q[s.c + 0] = 2*mue+lambda;
41 Q[s.c + 1] = 2*mue+lambda;
42 Q[s.c + 2] = 2*mue+lambda;
52#error Whole space problem only defined for Isotropic and Anisotropic Scenario
64 const double*
const x,
const double t,
const double dt,
65 double* forceVector,
int n)
override{
67 assertion2(n == 0,
"Only a single pointSource for WholeSpaceProblem",n);
69 constexpr double pi = 3.14159265359;
70 constexpr double sigma = 0.1149;
71 constexpr double t0 = 0.7;
72 constexpr double M0 = 1000.0;
74 double f = M0*(1.0/(sigma*std::sqrt(2.0*pi)))*(std::exp(-((t-t0)*(t-t0))/(2.0*sigma*sigma)));
77 forceVector[s.sigma + 0] = f;
78 forceVector[s.sigma + 1] = f;
79 forceVector[s.sigma + 2] = f;
#define assertion2(expr, param0, param1)
{{NAMESPACE|join("::")}}::VariableShortcuts VariableShortcuts
void initUnknownsPointwise(const double *const x, const tarch::la::Vector< Dimensions, double > ¢er, const double t, const double dt, double *Q) override
void initPointSourceLocation(double pointSourceLocation[][3]) override
double m_pointSourceLocation[3]
WholeSpaceProblem(DomainInformation *info)
void setPointSourceVector(const double *const Q, const double *const x, const double t, const double dt, double *forceVector, int n) override