41 #include <lifev/core/LifeV.hpp> 43 #include <lifev/navier_stokes/function/RossEthierSteinmanDec.hpp> 55 Real e = std::exp (-S_d * S_d * S_nu * t);
60 return -S_a * e * ( std::exp (S_a * x) * std::sin (S_a * y + S_d * z) + std::exp (S_a * z) * std::cos (S_a * x + S_d * y) );
62 return -S_a * e * ( std::exp (S_a * y) * std::sin (S_a * z + S_d * x) + std::exp (S_a * x) * std::cos (S_a * y + S_d * z) );
64 return -S_a * e * ( std::exp (S_a * z) * std::sin (S_a * x + S_d * y) + std::exp (S_a * y) * std::cos (S_a * z + S_d * x) );
94 return - S_rho * S_a * S_a / 2. * std::exp (-2.*S_d * S_d * S_nu * t) *
95 ( std::exp (2.*S_a * x) + std::exp (2.*S_a * y) + std::exp (2.*S_a * z) +
96 2. * std::sin (S_a * x + S_d * y) * std::cos (S_a * z + S_d * x) * std::exp (S_a * (y + z) ) +
97 2. * std::sin (S_a * y + S_d * z) * std::cos (S_a * x + S_d * y) * std::exp (S_a * (z + x) ) +
98 2. * std::sin (S_a * z + S_d * x) * std::cos (S_a * y + S_d * z) * std::exp (S_a * (x + y) ) );
103 Real e = std::exp (-S_d * S_d * S_nu * t);
110 return -S_a * e * ( S_a * std::exp (S_a * x) * std::sin (S_a * y + S_d * z) - S_a * std::exp (S_a * z) * std::sin (S_a * x + S_d * y) );
112 return -S_a * e * ( S_d * std::exp (S_a * y) * std::cos (S_a * z + S_d * x) + S_a * std::exp (S_a * x) * std::cos (S_a * y + S_d * z) );
114 return -S_a * e * ( S_a * std::exp (S_a * z) * std::cos (S_a * x + S_d * y) - S_d * std::exp (S_a * y) * std::sin (S_a * z + S_d * x) );
122 return -S_a * e * ( S_a * std::exp (S_a * x) * std::cos (S_a * y + S_d * z) - S_d * std::exp (S_a * z) * std::sin (S_a * x + S_d * y) );
124 return -S_a * e * ( S_a * std::exp (S_a * y) * std::sin (S_a * z + S_d * x) - S_a * std::exp (S_a * x) * std::sin (S_a * y + S_d * z) );
126 return -S_a * e * ( S_d * std::exp (S_a * z) * std::cos (S_a * x + S_d * y) + S_a * std::exp (S_a * y) * std::cos (S_a * z + S_d * x) );
134 return -S_a * e * ( S_d * std::exp (S_a * x) * std::cos (S_a * y + S_d * z) + S_a * std::exp (S_a * z) * std::cos (S_a * x + S_d * y) );
136 return -S_a * e * ( S_a * std::exp (S_a * y) * std::cos (S_a * z + S_d * x) - S_d * std::exp (S_a * x) * std::sin (S_a * y + S_d * z) );
138 return -S_a * e * ( S_a * std::exp (S_a * z) * std::sin (S_a * x + S_d * y) - S_a * std::exp (S_a * y) * std::sin (S_a * z + S_d * x) );
148 Real RossEthierSteinmanUnsteadyDec::
f (
const Real& ,
181 const Real& z,
const ID& i )
195 Real n[3] = {0., 0., 0.};
223 std::cout <<
"strange point: x=" << x <<
" y=" << y <<
" z=" << z
227 for (
UInt k = 0; k < 3; k++)
233 for (
UInt k = 0; k < 3; k++)
250 Real n[3] = {0., 0., 0.};
277 std::cout <<
"strange point: x=" << x <<
" y=" << y <<
" z=" << z
325 S_a = dataFile
( "fluid/problem/a", 1.
) ;
326 S_d = dataFile
( "fluid/problem/d", 1.
) ;
327 S_mu = dataFile
( "fluid/physics/viscosity", 1.
);
328 S_rho = dataFile
( "fluid/physics/density", 1.
);
330 S_flagStrain = dataFile
( "fluid/physics/flag_strain", 0
);
332 void RossEthierSteinmanUnsteadyDec::
setA (
const Real& aValue)
336 void RossEthierSteinmanUnsteadyDec::
setD (
const Real& dValue)
352 S_flagStrain = flagValue;
355 Real RossEthierSteinmanUnsteadyDec::S_a;
356 Real RossEthierSteinmanUnsteadyDec::S_d;
357 Real RossEthierSteinmanUnsteadyDec::S_mu;
358 Real RossEthierSteinmanUnsteadyDec::S_rho;
359 Real RossEthierSteinmanUnsteadyDec::S_nu;
360 int RossEthierSteinmanUnsteadyDec::S_flagStrain;
static Real x0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
double operator()(const char *VarName, const double &Default) const
static Real pexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static Real uexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static void setParamsFromGetPot(const GetPot &dataFile)
int32_type Int
Generic integer data.
static Real uderexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static void setDensity(const Real &rho)
static Real fWallShearStress(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
void updateInverseJacobian(const UInt &iQuadPt)
static Real fShearStress(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static Real fNeumann(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static void setFlagStrain(const Int &flagValue)
static void setA(const Real &aValue)
static Real xexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static void setViscosity(const Real &mu)
static Real grad_u(const UInt &icoor, const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
static void setD(const Real &dValue)
static Real normalVector(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
double Real
Generic real data.
int operator()(const char *VarName, int Default) const
const UInt nDimensions(NDIM)
static Real f(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
uint32_type UInt
generic unsigned integer (used mainly for addressing)