GRINS-0.7.0
pressure_pinning.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2016 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef PRESSURE_PINNING_H
26 #define PRESSURE_PINNING_H
27 
28 // libMesh stuff
29 #include "libmesh/getpot.h"
30 #include "libmesh/libmesh.h"
31 #include "libmesh/point.h"
32 
33 //GRINS
34 #include "grins/var_typedefs.h"
35 
36 // libMesh forward declarations
37 class Getpot;
38 
39 namespace libMesh
40 {
41  class DiffContext;
42  class MeshBase;
43 }
44 
45 namespace GRINS
46 {
48 
53  {
54  public:
55 
56  PressurePinning( const GetPot& input,
57  const std::string& physics_name );
59 
61 
63  void check_pin_location( const libMesh::MeshBase& mesh );
64 
67  void pin_value( libMesh::DiffContext& context,
68  const bool request_jacobian,
69  const GRINS::VariableIndex var,
70  const double penalty = 1.0 );
71 
72  private:
73 
75  libMesh::Number _pin_value;
76 
78  libMesh::Point _pin_location;
79 
81 
84  libMesh::dof_id_type _pinned_elem_id;
85 
86  };
87 }
88 #endif //PRESSURE_PINNING_H
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
Definition: var_typedefs.h:42
libMesh::Point _pin_location
Location we want to pin the pressure.
GRINS namespace.
void check_pin_location(const libMesh::MeshBase &mesh)
Check the mesh to ensure pin location is found.
libMesh::dof_id_type _pinned_elem_id
Cache element id for element that contains _pin_location.
void pin_value(libMesh::DiffContext &context, const bool request_jacobian, const GRINS::VariableIndex var, const double penalty=1.0)
The idea here is to pin a variable to a particular value if there is a null space - e...
libMesh::Number _pin_value
Value of pressure we wish to pin.
Class to hold typical boundary condition methods.
PressurePinning(const GetPot &input, const std::string &physics_name)

Generated on Thu Jun 2 2016 21:52:27 for GRINS-0.7.0 by  doxygen 1.8.10