GRINS-0.7.0
solid_mechanics_abstract.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 GRINS_SOLID_MECHANICS_ABSTRACT_H
26 #define GRINS_SOLID_MECHANICS_ABSTRACT_H
27 
28 //GRINS
29 #include "grins/physics.h"
31 
32 // libMesh
33 #include "libmesh/fem_context.h"
34 
35 namespace GRINS
36 {
38  {
39  public:
40 
41  SolidMechanicsAbstract( const GRINS::PhysicsName& physics_name,
42  const GetPot& input );
43 
45 
47  virtual void init_variables( libMesh::FEMSystem* system );
48 
49  virtual void set_time_evolving_vars( libMesh::FEMSystem* system );
50 
51  protected:
52 
54 
55  typedef const libMesh::DenseSubVector<libMesh::Number>& (libMesh::DiffContext::*VarFuncType)(unsigned int) const;
56 
57  typedef void (libMesh::FEMContext::*InteriorFuncType)(unsigned int, unsigned int, libMesh::Real&) const;
58 
59  typedef libMesh::Real (libMesh::DiffContext::*VarDerivType)() const;
60 
61  private:
62 
64 
65  void register_variables();
66 
67  };
68 
69 } // end namespace GRINS
70 
71 #endif // GRINS_SOLID_MECHANICS_ABSTRACT_H
Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem.
Definition: physics.h:107
virtual void set_time_evolving_vars(libMesh::FEMSystem *system)
Set which variables are time evolving.
libMesh::Real(libMesh::DiffContext::* VarDerivType)() const
GRINS namespace.
void(libMesh::FEMContext::* InteriorFuncType)(unsigned int, unsigned int, libMesh::Real &) const
std::string PhysicsName
virtual void init_variables(libMesh::FEMSystem *system)
Initialize variables for this physics.
const libMesh::DenseSubVector< libMesh::Number > &(libMesh::DiffContext::* VarFuncType)(unsigned int) const

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