Peano
Loading...
Searching...
No Matches
GaussianWave.h
Go to the documentation of this file.
1#ifndef EXASEIS_GAUSSIANWAVE_HEADER
2#define EXASEIS_GAUSSIANWAVE_HEADER
3
4#include "Scenario.h"
5
6template <class Variables,int basisSize>
7 class GaussianWave : public Scenario<Variables, basisSize>{
8 public:
9
10 GaussianWave(DomainInformation* info):Scenario<Variables,basisSize>(info){};
11
12 virtual void initUnknownsPointwise(const double* const x,
14 const double t,
15 const double dt,
16 double* Q
17 ){
18 Variables s;
19 double center_curve[3];
20
21 center_curve[0] = 15.0;
22 center_curve[1] = 15.0;
23 center_curve[2] = 15.0;
24
25 double rho = 2.67;
26 double cp = 6.0;
27 double cs = 3.343;
28
29 Q[s.rho] = rho;
30 Q[s.cp ] = cp;
31 Q[s.cs ] = cs;
32
33 double radius = 3.0 ;
34 double height = 3.0;
35
36 Q[ s.v + 0 ] = std::exp(-((x[0]-center_curve[0])*(x[0]-center_curve[0])+
37 (x[1]-center_curve[1])*(x[1]-center_curve[1])+
38 (x[2]-center_curve[2])*(x[2]-center_curve[2]))/radius) * radius;
39 Q[ s.v + 1 ] = Q[ s.v + 0 ];
40 Q[ s.v + 2 ] = Q[ s.v + 1 ];
41
42
43 for(int i= 0 ; i < 6 ; i++){
44 Q[ s.sigma + i ] = 0.0;
45 }
46
47 }
48
49 virtual void initPointSourceLocation(double pointSourceLocation[][3]){
50 assertion1(false,"No pointsource for a Gaussian Wave");
51 };
52
53 virtual void setPointSourceVector(const double* const Q,
54 const double* const x,const double t,const double dt,
55 double* forceVector, int n){
56 assertion1(false,"No pointsource for a Gaussian Wave");
57 };
58};
59
60#endif
#define assertion1(expr, param)
virtual void setPointSourceVector(const double *const Q, const double *const x, const double t, const double dt, double *forceVector, int n)
virtual void initUnknownsPointwise(const double *const x, const tarch::la::Vector< Dimensions, double > &center, const double t, const double dt, double *Q)
virtual void initPointSourceLocation(double pointSourceLocation[][3])
GaussianWave(DomainInformation *info)
DomainInformation * info
Definition Scenario.h:35
Simple vector class.
Definition Vector.h:159