33 #ifndef POROELASTICITY_BARRY_MERCER_DATA_H_
34 #define POROELASTICITY_BARRY_MERCER_DATA_H_
39 namespace Poroelasticity{
46 double Pressure2D(
double x,
double y,
double t)
const;
47 double VelX2D(
double x,
double y,
double t)
const;
48 double VelY2D(
double x,
double y,
double t)
const;
56 if ((n%4==0) || (q%4==0)) {
return 0.0; }
58 const double lambda_n = n*
m_PI;
59 const double lambda_q = q*
m_PI;
60 const double _lambda_nq = lambda_n*lambda_n + lambda_q*lambda_q;
62 const double val1 = -2.0 * sin(lambda_n*
X0) * sin(lambda_q*
Y0);
63 const double val2 = (_lambda_nq*sin(t_hat) - cos(t_hat) + exp(-_lambda_nq*t_hat));
64 const double val3 = (1 + _lambda_nq*_lambda_nq);
66 return (val1*val2)/val3;
70 static const double X0;
71 static const double Y0;
86 :
a(1.0),
b(1.0),
tchar(tchar_),
184 val = 2.0*beta_*sin(beta_*
time);
parameterString p
Definition: Biogas.lua:1
Non-dimensional solution.
Definition: barry_mercer_data.h:43
double FourierCoeff_P(int n, int q, double t_hat) const
Compute coefficient from Eq. (24) in Barry & Mercer, ACME, 1999 (for $\omega=1).
Definition: barry_mercer_data.h:53
double Pressure2D(double x, double y, double t) const
double t_hat = m_beta*t;
Definition: barry_mercer_data.cpp:48
static const double X0
Definition: barry_mercer_data.h:70
double VelX2D(double x, double y, double t) const
Definition: barry_mercer_data.cpp:86
static const double Y0
Definition: barry_mercer_data.h:71
static const size_t NAPPROX
Definition: barry_mercer_data.h:49
double VelY2D(double x, double y, double t) const
Definition: barry_mercer_data.cpp:116
static const double m_PI
Definition: barry_mercer_data.h:69
This defines a point source as 'StdGlobPosData'.
Definition: barry_mercer_data.h:171
const BarryMercerNondimensional m_nonDimData
Definition: barry_mercer_data.h:191
double get_beta() const
Definition: barry_mercer_data.h:187
BarryMercerPointSource(const double consolidation)
CTOR.
Definition: barry_mercer_data.h:177
StdGlobPosData< BarryMercerPointSource, number, 2, void > pos_data_type
Export base type.
Definition: barry_mercer_data.h:174
void evaluate(number &val, const MathVector< 2 > &x, number time, int si) const
Define eval function.
Definition: barry_mercer_data.h:181
double m_beta
Definition: barry_mercer_data.h:192
Evaluate reference pressure.
Definition: barry_mercer_data.h:127
StdGlobPosData< BarryMercerRefDispX, number, 2, void > pos_data_type
Export base type.
Definition: barry_mercer_data.h:130
BarryMercerRefDispX(const BarryMercerData &dimData)
CTOR.
Definition: barry_mercer_data.h:133
const BarryMercerData & m_dimData
Definition: barry_mercer_data.h:142
void evaluate(number &p, const MathVector< 2 > &x, number time, int si) const
Define eval function.
Definition: barry_mercer_data.h:137
const BarryMercerNondimensional m_nonDimData
Definition: barry_mercer_data.h:141
Evaluate reference pressure.
Definition: barry_mercer_data.h:148
void evaluate(number &p, const MathVector< 2 > &x, number time, int si) const
Define eval function.
Definition: barry_mercer_data.h:158
StdGlobPosData< BarryMercerRefDispY, number, 2, void > pos_data_type
Export base type.
Definition: barry_mercer_data.h:151
const BarryMercerData & m_dimData
Definition: barry_mercer_data.h:163
const BarryMercerNondimensional m_nonDimData
Definition: barry_mercer_data.h:162
BarryMercerRefDispY(const BarryMercerData &dimData)
CTOR.
Definition: barry_mercer_data.h:154
Evaluate reference pressure.
Definition: barry_mercer_data.h:102
const BarryMercerData & m_dimData
Definition: barry_mercer_data.h:120
void evaluate(number &p, const MathVector< 2 > &x, number time, int si) const
Define eval function.
Definition: barry_mercer_data.h:112
StdGlobPosData< BarryMercerRefPressure, number, 2, void > pos_data_type
Export base type.
Definition: barry_mercer_data.h:105
BarryMercerRefPressure(const BarryMercerData &dimCoeffs)
CTOR.
Definition: barry_mercer_data.h:108
const BarryMercerNondimensional m_nonDimData
Definition: barry_mercer_data.h:119
Dimensional coefficients for Barry-Mercer benchmark.
Definition: barry_mercer_data.h:82
double mu
Definition: barry_mercer_data.h:94
double b
Definition: barry_mercer_data.h:90
BarryMercerData(double tchar_, double lamdda_, double mu_)
Definition: barry_mercer_data.h:85
double lambda
Definition: barry_mercer_data.h:93
double a
Definition: barry_mercer_data.h:89
double tchar
Definition: barry_mercer_data.h:91