LifeV
KimMoin.hpp
Go to the documentation of this file.
1 /* -*- mode: c++ -*-
2 
3  This file is part of the LifeV library
4 
5  Author(s): Mauro Perego <mauro@mathcs.emory.edu>
6  Date: 2009-10-02
7 
8  Copyright (C) 2004 EPFL
9 
10  This library is free software; you can redistribute it and/or
11  modify it under the terms of the GNU Lesser General Public
12  License as published by the Free Software Foundation; either
13  version 2.1 of the License, or (at your option) any later version.
14 
15  This library 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
21  License along with this library; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 /**
26  \file KimMoin.cpp
27  \author Mauro Perego <mauro@mathcs.emory.edu>
28  \date 2009-10-02
29 */
30 
31 //! analytic solution of Kim & Moin for unsteady Navier-Stokes 2D on the square [0,1]x[0,1].
32 
33 #ifndef __KIM_MOIN_HPP
34 #define __KIM_MOIN_HPP 1
35 
36 #include <lifev/core/LifeV.hpp>
37 #include <lifev/core/filter/GetPot.hpp>
38 
39 namespace LifeV
40 {
41 
42 class KimMoin
43 {
44 public:
45  static Real f ( const Real& t, const Real& x, const Real& y,
46  const Real& z, const ID& i );
47 
48  static Real xexact ( const Real& t, const Real& x, const Real& y,
49  const Real& z, const ID& i );
50  static Real uexact ( const Real& t, const Real& x, const Real& y,
51  const Real& z, const ID& i );
52  static Real uderexact ( const Real& t, const Real& x, const Real& y,
53  const Real& z, const ID& i );
54  static Real pexact ( const Real& t, const Real& x, const Real& y,
55  const Real& z, const ID& i );
56 
57  // Initial velocity
58  static Real x0 ( const Real& t, const Real& x, const Real& y,
59  const Real& z, const ID& i );
60 
61  static Real u0 ( const Real& t, const Real& x, const Real& y,
62  const Real& z, const ID& i );
63 
64  static Real p0 ( const Real& t, const Real& x, const Real& y,
65  const Real& z, const ID& i );
66 
67  static Real grad_u ( const UInt& icoor, const Real& t, const Real& x, const Real& y,
68  const Real& z, const ID& i );
69 
70  static Real fNeumann ( const Real& t, const Real& x, const Real& y,
71  const Real& z, const ID& i );
72 
73  static Real normalVector ( const Real& t, const Real& x, const Real& y,
74  const Real& z, const ID& i );
75 
76  static Real fShearStress ( const Real& t, const Real& x, const Real& y,
77  const Real& z, const ID& i );
78 
79  static Real fWallShearStress ( const Real& t, const Real& x, const Real& y,
80  const Real& z, const ID& i );
81  static void setParamsFromGetPot ( const GetPot& dataFile );
82 
83  static bool flag_strain;
84 
85 
86 private:
87 
88  static Real mu;
89  static Real rho;
90  static Real nu;
91  static Real a;
92 }; // class KimMoin
93 
94 } // namespace LifeV
95 
96 #endif /* __KIM_MOIN_HPP */
static Real grad_u(const UInt &icoor, const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:65
static Real rho
Definition: KimMoin.hpp:89
static Real x0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:126
static Real fNeumann(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:147
static Real fShearStress(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:219
static Real xexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:102
static Real p0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:138
static Real normalVector(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:191
static Real f(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:97
void updateInverseJacobian(const UInt &iQuadPt)
static Real nu
Definition: KimMoin.hpp:90
static Real uderexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:60
static Real u0(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:132
uint32_type ID
IDs.
Definition: LifeV.hpp:194
static Real pexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:54
static bool flag_strain
Definition: KimMoin.hpp:83
static Real fWallShearStress(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:237
double Real
Generic real data.
Definition: LifeV.hpp:175
static Real a
Definition: KimMoin.hpp:91
static void setParamsFromGetPot(const GetPot &dataFile)
Definition: KimMoin.cpp:255
static Real uexact(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i)
Definition: KimMoin.cpp:38
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191
static Real mu
Definition: KimMoin.hpp:88