11#include "AbstractElasticSolver.h"
12#include "VariableShortcuts.h"
15#define _CUSTOM_COORDINATES
20#include "../ExaSeis_core/Context/ContextCurvilinear.h"
21#include "../ExaSeis_core/Numerics/routines_curvilinear.h"
22#include "../ExaSeis_core/Numerics/isotropic.h"
23#include "../ExaSeis_core/Refinement/refinement.h"
74 const double* __restrict__ Q,
81 double* __restrict__ Q,
84 bool gridIsConstructed
88 const double* __restrict__ Qinside,
89 double* __restrict__ Qoutside,
99 const double*
const QL,
100 const double*
const QR,
111 const double* __restrict__ Q,
120 const double* __restrict__ Q,
126 double* __restrict__ F
130 const double* __restrict__ Q,
131 const double* __restrict__ deltaQ,
137 double* __restrict__ BgradQ
141 const double*
const Q,
151 const double*
const Q,
const double*
const x,
const double t,
const double dt,
double*
const forceVector,
int n
ContextCurvilinear< VariableShortcutsExpanded, Order+1 > * context
::exahype2::RefinementCommand refinementCriterion(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t) override
Refinement criterion.
void flux(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeX, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal, double *__restrict__ F) override
double * QuadraturePoints1d
void boundaryConditions(const double *__restrict__ Qinside, double *__restrict__ Qoutside, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, int normal) final override
void initialCondition(double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, bool gridIsConstructed) override
std::vector< Refinement::RefinementCriterion< VariableShortcutsExpanded > * > refinementCriteria
void multiplyMaterialParameterMatrix(const double *const Q, const tarch::la::Vector< Dimensions, double > &volumeX, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal, double *const rhs) override
void riemannSolver(double *const FL, double *const FR, const double *const QL, const double *const QR, const double t, const double dt, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, const int direction, bool isBoundaryFace, int faceIndex) final override
static tarch::logging::Log _log
void pointSource(const double *const Q, const double *const x, const double t, const double dt, double *const forceVector, int n) override
void initPointSourceLocations(double sourceLocation[NumberOfPointSources][Dimensions]) override
void nonconservativeProduct(const double *__restrict__ Q, const double *__restrict__ deltaQ, const tarch::la::Vector< Dimensions, double > &faceCentre, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal, double *__restrict__ BgradQ) override
double maxEigenvalue(const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &volumeX, const tarch::la::Vector< Dimensions, double > &volumeH, double t, double dt, int normal) override
static constexpr int NumberOfUnknowns
static constexpr int Size
static constexpr int NumberOfAuxiliaryVariables
This file is part of the ExaHyPE 2 project within Peano 4.