GRINS-0.7.0
single_fe_type_variable.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_SINGLE_FE_TYPE_VARIABLE_H
26 #define GRINS_SINGLE_FE_TYPE_VARIABLE_H
27 
28 // GRINS
30 
31 namespace GRINS
32 {
34 
40  {
41  public:
42 
44 
47  SingleFETypeVariable( const GetPot& input,
48  const std::string& physics_name,
49  const std::string& old_var_prefix,
50  const std::string& subsection,
51  const std::string& default_family,
52  const std::string& default_order,
53  bool is_constraint_var );
54 
56 
57  SingleFETypeVariable( const GetPot& input,
58  const std::string& subsection,
59  bool is_constraint_var);
60 
62 
64 
66  virtual void init( libMesh::FEMSystem* system );
67 
68  protected:
69 
71 
77  void parse_family_and_order( const GetPot& input,
78  const std::string& physics_name,
79  const std::string& old_var_prefix,
80  const std::string& subsection,
81  std::vector<GRINSEnums::FEFamily>& family,
82  std::vector<GRINSEnums::Order>& order,
83  const std::string& default_family,
84  const std::string& default_order );
85 
87 
89  void dup_family_order_check( const GetPot& input,
90  const std::string& physics_name,
91  const std::string& old_var_prefix) const;
92 
94  bool have_family_or_order( const GetPot& input,
95  const std::string& physics_name,
96  const std::string& old_var_prefix,
97  const std::string& subsection ) const;
98 
99  void parse_old_style_with_warning( const GetPot& input,
100  const std::string& physics_name,
101  const std::string& old_var_prefix,
102  const std::string& default_family,
103  const std::string& default_order,
104  const std::string& subsection,
105  GRINSEnums::FEFamily& family,
106  GRINSEnums::Order& order );
107 
108  void parse_new_style( const GetPot& input,
109  const std::string& subsection,
110  GRINSEnums::FEFamily& family,
111  GRINSEnums::Order& order );
112  };
113 
114 } // end namespace GRINS
115 
116 #endif // GRINS_SINGLE_FE_TYPE_VARIABLE_H
void dup_family_order_check(const GetPot &input, const std::string &physics_name, const std::string &old_var_prefix) const
Check (and error if true) for old and new style FEFamily/Order input.
bool have_family_or_order(const GetPot &input, const std::string &physics_name, const std::string &old_var_prefix, const std::string &subsection) const
Check for no presence of FEFamily/Order input.
void parse_new_style(const GetPot &input, const std::string &subsection, GRINSEnums::FEFamily &family, GRINSEnums::Order &order)
virtual void init(libMesh::FEMSystem *system)
Add variables to the system.
void parse_old_style_with_warning(const GetPot &input, const std::string &physics_name, const std::string &old_var_prefix, const std::string &default_family, const std::string &default_order, const std::string &subsection, GRINSEnums::FEFamily &family, GRINSEnums::Order &order)
SingleFETypeVariable(const GetPot &input, const std::string &physics_name, const std::string &old_var_prefix, const std::string &subsection, const std::string &default_family, const std::string &default_order, bool is_constraint_var)
Deprecated, old style constructor.
GRINS namespace.
void parse_family_and_order(const GetPot &input, const std::string &physics_name, const std::string &old_var_prefix, const std::string &subsection, std::vector< GRINSEnums::FEFamily > &family, std::vector< GRINSEnums::Order > &order, const std::string &default_family, const std::string &default_order)
Helper function to parse FEFamily and Order.
bool is_constraint_var() const
Class to encapsulate variables that have only one FEType/Order.

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