GRINS-0.8.0
variable_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-2017 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 GRINS_VARIABLE_PINNING_H
26 #define GRINS_VARIABLE_PINNING_H
27 
28 // GRINS
29 #include "grins/physics.h"
30 #include "grins/pressure_pinning.h"
31 
32 namespace GRINS
33 {
34 
35  class VariablePinning : public Physics
36  {
37 
38  public:
39 
40  VariablePinning( const GRINS::PhysicsName& physics_name, const GetPot& input );
42 
44  virtual void init_context( AssemblyContext & context );
45 
47  virtual void auxiliary_init( MultiphysicsSystem & system );
48 
49  // residual and jacobian calculations
50  // element_*, side_* as *time_derivative, *constraint, *mass_residual
51 
53  virtual void element_constraint( bool compute_jacobian,
54  AssemblyContext & context );
55 
56  protected:
57 
59 
60  std::string _variablename_to_pin;
61 
62  unsigned int _variable_to_pin;
63 
64  libMesh::Real _penalty;
65 
67 
68  private:
69 
71 
72  };
73 
74 } // namespace GRINS
75 
76 #endif // GRINS_VARIABLE_PINNING_H
virtual void auxiliary_init(MultiphysicsSystem &system)
Initialize pinning helper object.
Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem.
Definition: physics.h:106
std::string _variablename_to_pin
GRINS namespace.
virtual void init_context(AssemblyContext &context)
Initialize context for added physics variables.
std::string PhysicsName
Interface with libMesh for solving Multiphysics problems.
PressurePinning _var_pinning
unsigned int _variable_to_pin
Class to hold typical boundary condition methods.
virtual void element_constraint(bool compute_jacobian, AssemblyContext &context)
Time dependent part(s) of physics for element interiors.

Generated on Tue Dec 19 2017 12:47:28 for GRINS-0.8.0 by  doxygen 1.8.9.1