VertexCFD  0.0-dev
VertexCFD_EquationSet_FullInductionMHDFactory.hpp
1 #ifndef VERTEXCFD_EQUATIONSET_FULLINDUCTIONMHDFACTORY_HPP
2 #define VERTEXCFD_EQUATIONSET_FULLINDUCTIONMHDFACTORY_HPP
3 
4 #include "VertexCFD_EquationSet_FullInductionMHD.hpp"
5 
6 #include <Panzer_CellData.hpp>
7 #include <Panzer_EquationSet_Factory.hpp>
8 #include <Panzer_EquationSet_Factory_Defines.hpp>
9 
10 namespace VertexCFD
11 {
12 namespace EquationSet
13 {
14 //---------------------------------------------------------------------------//
15 PANZER_DECLARE_EQSET_TEMPLATE_BUILDER(FullInductionMHD, FullInductionMHD)
16 
17 //---------------------------------------------------------------------------//
18 class FullInductionMHDFactory : public panzer::EquationSetFactory
19 {
20  public:
21  Teuchos::RCP<panzer::EquationSet_TemplateManager<panzer::Traits>>
22  buildEquationSet(const Teuchos::RCP<Teuchos::ParameterList>& params,
23  const int& default_integration_order,
24  const panzer::CellData& cell_data,
25  const Teuchos::RCP<panzer::GlobalData>& global_data,
26  const bool build_transient_support) const override
27  {
28  // This variable needs to have this exact name to work with the macro
29  // called below.
30  auto eq_set = Teuchos::rcp(
31  new panzer::EquationSet_TemplateManager<panzer::Traits>);
32 
33  // The "found" variable is used in-place in the macro called below.
34  bool found = false;
35 
36  // Call the macro for each equation set and check that we found it.
37  PANZER_BUILD_EQSET_OBJECTS("FullInductionMHD", FullInductionMHD);
38  PANZER_BUILD_EQSET_OBJECTS("SolidFullInductionMHD", FullInductionMHD);
39 
40  // Return the equation set
41  return found ? eq_set : Teuchos::null;
42  }
43 };
44 
45 //---------------------------------------------------------------------------//
46 
47 } // end namespace EquationSet
48 } // end namespace VertexCFD
49 
50 #endif // end VERTEXCFD_EQUATIONSET_FULLINDUCTIONMHDFACTORY_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::EquationSet::FullInductionMHDFactory
Definition: VertexCFD_EquationSet_FullInductionMHDFactory.hpp:19
VertexCFD::EquationSet::FullInductionMHD
Definition: VertexCFD_EquationSet_FullInductionMHD.hpp:27