VertexCFD  0.0-dev
VertexCFD_FullInductionClosureModelFactory.hpp
1 #ifndef VERTEXCFD_FULLINDUCTIONCLOSUREMODELFACTORY_HPP
2 #define VERTEXCFD_FULLINDUCTIONCLOSUREMODELFACTORY_HPP
3 
4 #include <Panzer_ClosureModel_Factory.hpp>
5 #include <Panzer_Traits.hpp>
6 
7 #include <Phalanx_Evaluator.hpp>
8 
9 #include <Teuchos_ParameterList.hpp>
10 #include <Teuchos_RCP.hpp>
11 
12 namespace VertexCFD
13 {
14 namespace ClosureModel
15 {
16 //---------------------------------------------------------------------------//
17 template<class EvalType, int NumSpaceDim>
18 class FullInductionFactory : public panzer::ClosureModelFactory<EvalType>
19 {
20  public:
21  Teuchos::RCP<std::vector<Teuchos::RCP<PHX::Evaluator<panzer::Traits>>>>
22  buildClosureModels(const std::string& model_id,
23  const Teuchos::ParameterList& model_params,
24  const panzer::FieldLayoutLibrary& fl,
25  const Teuchos::RCP<panzer::IntegrationRule>& ir,
26  const Teuchos::ParameterList& default_params,
27  const Teuchos::ParameterList& user_params,
28  const Teuchos::RCP<panzer::GlobalData>& global_data,
29  PHX::FieldManager<panzer::Traits>& fm) const override;
30 
31  private:
32  static constexpr int num_space_dim = NumSpaceDim;
33 
34  auto availableClosureModels() const
35  {
36  return "DivergenceCleaningSource\n"
37  "FullInductionLocalTimeStepSize\n"
38  "FullInductionModelErrorNorm\n"
39  "FullInductionTimeDerivative\n"
40  "GodunovPowellSource\n"
41  "InductionConstantSource\n"
42  "InductionConvectiveFlux\n"
43  "InductionResistiveFlux\n"
44  "MagneticCorrectionDampingSource\n"
45  "MagneticPressure\n"
46  "MHDVortexProblemExact\n"
47  "Resistivity\n"
48  "TotalMagneticField\n";
49  };
50 };
51 
52 //---------------------------------------------------------------------------//
53 
54 } // end namespace ClosureModel
55 } // end namespace VertexCFD
56 
57 #endif // end VERTEXCFD_FULLINDUCTIONCLOSUREMODELFACTORY_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::ClosureModel::FullInductionFactory::buildClosureModels
Teuchos::RCP< std::vector< Teuchos::RCP< PHX::Evaluator< panzer::Traits > > > > buildClosureModels(const std::string &model_id, const Teuchos::ParameterList &model_params, const panzer::FieldLayoutLibrary &fl, const Teuchos::RCP< panzer::IntegrationRule > &ir, const Teuchos::ParameterList &default_params, const Teuchos::ParameterList &user_params, const Teuchos::RCP< panzer::GlobalData > &global_data, PHX::FieldManager< panzer::Traits > &fm) const override
Definition: VertexCFD_FullInductionClosureModelFactory_impl.hpp:34
VertexCFD::ClosureModel::FullInductionFactory
Definition: VertexCFD_FullInductionClosureModelFactory.hpp:19