LifeV
NavierStokesCavity.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 NavierStokesCavity.hpp
29  @brief Navier-Stokes cavity problem
30 
31  @author Gwenol Grandperrin <gwenol.grandperrin@epfl.ch>
32  @date 19-08-2011
33  */
34 
35 #ifndef NAVIERSTOKESCAVITY_HPP
36 #define NAVIERSTOKESCAVITY_HPP
37 
38 #include <lifev/core/mesh/RegionMesh.hpp>
39 #include <lifev/navier_stokes/solver/NavierStokesSolver/NavierStokesProblem.hpp>
40 
41 namespace LifeV
42 {
43 
45 {
46 
47 private:
48 
49  // Walls
50  static const Int LEFTWALL;
51  static const Int RIGHTWALL;
52  static const Int FRONTWALL;
53  static const Int BACKWALL;
54  static const Int TOPWALL;
55  static const Int BOTTOMWALL;
56  // Edges
57  static const Int BOTTOMEDGE1;
58  static const Int BOTTOMEDGE2;
59  static const Int BOTTOMEDGE3;
60  static const Int BOTTOMEDGE4;
61  static const Int SIDEEDGE1;
62  static const Int SIDEEDGE2;
63  static const Int SIDEEDGE3;
64  static const Int SIDEEDGE4;
65  static const Int TOPEDGE1;
66  static const Int TOPEDGE2;
67  static const Int TOPEDGE3;
68  static const Int TOPEDGE4;
69  // Corners
70  static const Int BOTTOMCORNER1;
71  static const Int BOTTOMCORNER2;
72  static const Int BOTTOMCORNER3;
73  static const Int BOTTOMCORNER4;
74  static const Int TOPCORNER1;
75  static const Int TOPCORNER2;
76  static const Int TOPCORNER3;
77  static const Int TOPCORNER4;
78 
79 public:
80 
81  //! @name Constructors, destructor
82  //@{
83 
84  //! Empty constructor
86 
87  //! Destructor
88  virtual ~NavierStokesCavity();
89 
90  //@}
91 
92  //! @name Methods
93  //@{
94 
95  //! Display general information about the problem
96  /*!
97  @param output specify the output stream (std::cout by default)
98  */
99  void showMe ( std::ostream& output = std::cout ) const;
100 
101  //@}
102 
103  //! @name Boundary conditions methods
104  //@{
105 
106  static Real lidBC ( const LifeV::Real& /*t*/,
107  const LifeV::Real& /*x*/,
108  const LifeV::Real& /*y*/,
109  const LifeV::Real& /*z*/,
110  const LifeV::ID& i );
111 
112  static Real fZero ( const LifeV::Real& /* t */,
113  const LifeV::Real& /* x */,
114  const LifeV::Real& /* y */,
115  const LifeV::Real& /* z */,
116  const LifeV::ID& /* i */ );
117 
118  //@}
119 
120  //! @name Get Methods
121  //@{
122 
123  //! Getter for the problem mesh
124  void mesh ( std::shared_ptr< RegionMesh<LinearTetra> >& meshPart ) const;
125 
126  //! Getter for the boundary conditions in the provided BCHandler
127  /*!
128  @param bcHandler shared pointer on a BCHandler object
129  */
130  void boundaryConditions ( std::shared_ptr<BCHandler> bcHandler ) const;
131 
132  //! Returns the name of the problem
133  std::string name() const;
134 
135  //@}
136 
137 };
138 
139 } // namespace LifeV
140 
141 #endif /* NAVIERSTOKESCAVITY_HPP */
int32_type Int
Generic integer data.
Definition: LifeV.hpp:188
void showMe(std::ostream &output=std::cout) const
Display general information about the problem.
static Real lidBC(const LifeV::Real &, const LifeV::Real &, const LifeV::Real &, const LifeV::Real &, const LifeV::ID &i)
void updateInverseJacobian(const UInt &iQuadPt)
static Real fZero(const LifeV::Real &, const LifeV::Real &, const LifeV::Real &, const LifeV::Real &, const LifeV::ID &)
std::string name() const
Returns the name of the problem.
void mesh(std::shared_ptr< RegionMesh< LinearTetra > > &meshPart) const
Getter for the problem mesh.
uint32_type ID
IDs.
Definition: LifeV.hpp:194
double Real
Generic real data.
Definition: LifeV.hpp:175
NavierStokesCavity()
Empty constructor.
void boundaryConditions(std::shared_ptr< BCHandler > bcHandler) const
Getter for the boundary conditions in the provided BCHandler.
virtual ~NavierStokesCavity()
Destructor.