1 #ifndef VERTEXCFD_BOUNDARYCONDITION_SOLIDELECTRICBOUNDARYFLUX_HPP
2 #define VERTEXCFD_BOUNDARYCONDITION_SOLIDELECTRICBOUNDARYFLUX_HPP
4 #include "boundary_conditions/VertexCFD_BCStrategy_BoundaryFluxBase.hpp"
6 #include <Panzer_BCStrategy.hpp>
7 #include <Panzer_Evaluator_WithBaseImpl.hpp>
8 #include <Panzer_GlobalDataAcceptor_DefaultImpl.hpp>
9 #include <Panzer_PhysicsBlock.hpp>
10 #include <Panzer_Traits.hpp>
12 #include <Phalanx_Evaluator_WithBaseImpl.hpp>
13 #include <Phalanx_FieldManager.hpp>
14 #include <Phalanx_MDField.hpp>
16 #include <Teuchos_RCP.hpp>
18 #include <unordered_map>
22 namespace BoundaryCondition
25 template<
class EvalType,
int NumSpaceDim>
32 const Teuchos::RCP<panzer::GlobalData>& global_data);
34 static constexpr
int num_space_dim = NumSpaceDim;
36 void setup(
const panzer::PhysicsBlock& side_pb,
37 const Teuchos::ParameterList& user_data)
override;
39 void buildAndRegisterEvaluators(
40 PHX::FieldManager<panzer::Traits>& fm,
41 const panzer::PhysicsBlock& side_pb,
42 const panzer::ClosureModelFactory_TemplateManager<panzer::Traits>& factory,
43 const Teuchos::ParameterList& models,
44 const Teuchos::ParameterList& user_data)
const override;
46 void buildAndRegisterScatterEvaluators(
47 PHX::FieldManager<panzer::Traits>& fm,
48 const panzer::PhysicsBlock& side_pb,
49 const panzer::LinearObjFactory<panzer::Traits>& lof,
50 const Teuchos::ParameterList& user_data)
const override;
52 void buildAndRegisterGatherAndOrientationEvaluators(
53 PHX::FieldManager<panzer::Traits>& fm,
54 const panzer::PhysicsBlock& side_pb,
55 const panzer::LinearObjFactory<panzer::Traits>& lof,
56 const Teuchos::ParameterList& user_data)
const override;
58 void postRegistrationSetup(
typename panzer::Traits::SetupData d,
59 PHX::FieldManager<panzer::Traits>& vm)
override;
61 void evaluateFields(
typename panzer::Traits::EvalData d)
override;
64 std::unordered_map<std::string, std::string> _equ_dof_cond_pair;
72 #endif // end VERTEXCFD_BOUNDARYCONDITION_SOLIDELECTRICBOUNDARYFLUX_HPP