1#ifndef EXASEIS_SCENARIOLOHONE_TRANSPOSED_HEADER
2#define EXASEIS_SCENARIOLOHONE_TRANSPOSED_HEADER
5template <
class Shortcuts,
int basisSize>
20 const double*
const x,
29 if (x[0] <= (1.0 + 1.0e-6) && center[0] < 1.0) {
33 }
else if (x[0] >= (1.0 - 1.0e-6) && center[0] > 1.0) {
39 assertion3(
false,
"Point not initialised", x[0], center[0]);
41#elif defined ANISOTROPIC
42 assertion1(
false,
"Loh1_transposed Not implemented in the Anisotropic case");
44#error Whole space problem only defined for Isotropic and Anisotropic Scenario
55 const double*
const Q,
const double*
const x,
const double t,
const double dt,
double* forceVector,
int n
58 assertion2(n == 0,
"Only a single pointSource for Loh1_transposed", n);
60 constexpr double t0 = 0.1;
61 constexpr double M0 = 1000.0;
63 double f = M0 * t / (t0 * t0) * std::exp(-t / t0);
66 forceVector[s.sigma + 5] = f;
#define assertion2(expr, param0, param1)
#define assertion3(expr, param0, param1, param2)
#define assertion1(expr, param)
double m_pointSourceLocation[3]
Loh1_Transposed(DomainInformation *info)
void setPointSourceVector(const double *const Q, const double *const x, const double t, const double dt, double *forceVector, int n)
void refinementCriteria(std::vector< Refinement::RefinementCriterion< Shortcuts > * > &criteria) override
void initUnknownsPointwise(const double *const x, const tarch::la::Vector< Dimensions, double > ¢er, const double t, const double dt, double *Q)
void initPointSourceLocation(double pointSourceLocation[][3])