LifeV
navier_stokes/function/RossEthierSteinmanDec.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8  This file is part of LifeV.
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 
27 /*!
28  @file Ross-Ethier Steinmann Analytical Solution
29  @brief A short description of the test content
30 
31  @author Christoph Winkelmann <christoph.winkelmann@epfl.ch>
32  @contributor Mauro Perego <mauro@mathcs.emory.edu>
33  @contributor Umberto Villa <uvilla@emory.edu>
34  @maintainer Umberto Villa <uvilla@emory.edu>
35 
36  @date 2004-11-12
37 
38  Exponentially increasing analytic solution of Ross-Ethier Steinmann for unsteady Navier-Stokes 3D on the cube [-1,1]x[-1,1]x[-1,1].
39  @see Exact fully 3D Navier-Stokes solutions for benchmarking - C. Ross Ethier, D. A. Steinman
40  */
41 
42 /*
43  *
44 AU: C. Ross Ethier
45 AU: D. A. Steinman
46 TI: Exact fully 3D Navier-Stokes solutions for benchmarking
47 SO: International Journal for Numerical Methods in Fluids
48 VL: 19
49 NO: 5
50 PG: 369-375
51 YR: 1994
52 CP: Copyright © 1994 John Wiley & Sons, Ltd
53 ON: 1097-0363
54 PN: 0271-2091
55 AD: Department of Mechanical Engineering, 5 King's College Road, University of Toronto, Toronto, Ontario M5S IA4, Canada
56 DOI: 10.1002/fld.1650190502
57 US: http://dx.doi.org/10.1002/fld.1650190502
58  *
59  */
60 
61 #ifndef __ROSS_ETHIER_STEINMAN_DEC_HPP
62 #define __ROSS_ETHIER_STEINMAN_DEC_HPP 1
63 
64 #include <lifev/core/LifeV.hpp>
65 #include <lifev/core/filter/GetPot.hpp>
66 
67 namespace LifeV
68 {
69 
70 class RossEthierSteinmanUnsteadyDec
71 {
72 public:
73  static Real f ( const Real& t, const Real& x, const Real& y,
74  const Real& z, const ID& i );
75  static Real xexact ( const Real& t, const Real& x, const Real& y,
76  const Real& z, const ID& i );
77  static Real uexact ( const Real& t, const Real& x, const Real& y,
78  const Real& z, const ID& i );
79  static Real uderexact ( const Real& t, const Real& x, const Real& y,
80  const Real& z, const ID& i );
81  static Real pexact ( const Real& t, const Real& x, const Real& y,
82  const Real& z, const ID& i );
83  static Real grad_u ( const UInt& icoor, const Real& t, const Real& x, const Real& y,
84  const Real& z, const ID& i );
85 
86  // Initial velocity
87  static Real x0 ( const Real& t, const Real& x, const Real& y,
88  const Real& z, const ID& i );
89 
90  static Real fNeumann ( const Real& t, const Real& x, const Real& y,
91  const Real& z, const ID& i );
92 
93  static Real normalVector ( const Real& t, const Real& x, const Real& y,
94  const Real& z, const ID& i );
95 
96  static Real fShearStress ( const Real& t, const Real& x, const Real& y,
97  const Real& z, const ID& i );
98 
99  static Real fWallShearStress ( const Real& t, const Real& x, const Real& y,
100  const Real& z, const ID& i );
101 
102  static void setParamsFromGetPot ( const GetPot& dataFile );
103  static void setA (const Real& aValue);
104  static void setD (const Real& dValue);
105  static void setViscosity (const Real& mu);
106  static void setDensity (const Real& rho);
107  static void setFlagStrain (const Int& flagValue);
108 
109 private:
110 
111  static Real S_a;
112  static Real S_d;
113  static Real S_mu;
114  static Real S_rho;
115  static Real S_nu;
116  static Int S_flagStrain;
117 }; // class RossEthierSteinmanUnsteadyDec
118 
119 } // namespace LifeV
120 
121 #endif /* __ROSS_ETHIER_STEINMAN_DEC_HPP */
int32_type Int
Generic integer data.
Definition: LifeV.hpp:188
uint32_type ID
IDs.
Definition: LifeV.hpp:194
double Real
Generic real data.
Definition: LifeV.hpp:175
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191