GRINS-0.8.0
source_term_base.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 
26 #ifndef GRINS_SOURCE_TERM_BASE_H
27 #define GRINS_SOURCE_TERM_BASE_H
28 
29 // GRINS
30 #include "grins/physics.h"
31 #include "grins/grins_enums.h"
32 
33 //libMesh
34 #include "libmesh/enum_order.h"
35 #include "libmesh/enum_fe_family.h"
36 
37 // libMesh forward declarations
38 class GetPot;
39 namespace libMesh
40 {
41  class FEMSystem;
42 }
43 
44 namespace GRINS
45 {
47 
50  class SourceTermBase : public Physics
51  {
52  public:
53 
54  SourceTermBase( const std::string& physics_name, const GetPot& input );
55 
56  virtual ~SourceTermBase();
57 
58  virtual void init_variables( libMesh::FEMSystem* system );
59 
60  protected:
61 
62  std::vector<VariableIndex> _vars;
63  std::vector<std::string> _var_names;
64  std::vector<GRINSEnums::FEFamily> _var_FE;
65  std::vector<GRINSEnums::Order> _var_order;
66 
67  private:
68 
70 
72  void parse_var_info( const GetPot& input );
73 
74  };
75 
76 } // end namespace GRINS
77 
78 #endif // GRINS_SOURCE_TERM_BASE_H
std::vector< VariableIndex > _vars
Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem.
Definition: physics.h:106
GRINS namespace.
void parse_var_info(const GetPot &input)
Helper function.
std::vector< std::string > _var_names
Base class for generic source function term, f(x,y,z,t).
virtual void init_variables(libMesh::FEMSystem *system)
Initialize variables for this physics.
std::vector< GRINSEnums::Order > _var_order
std::vector< GRINSEnums::FEFamily > _var_FE

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