Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_BCStrategy_Base.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef PANZER_BCSTRATEGY_BASE_HPP
12 #define PANZER_BCSTRATEGY_BASE_HPP
13 
14 #include "Panzer_Traits.hpp"
19 
20 namespace PHX {
21  template<typename T> class FieldManager;
22 }
23 
24 namespace panzer {
25 
26  class PhysicsBlock;
27 
30 
31  public:
32 
34 
35  virtual ~BCStrategyBase() {}
36 
37  virtual void
38  setup(const panzer::PhysicsBlock& side_pb,
39  const Teuchos::ParameterList& user_data) = 0;
40 
41  virtual void
43  const panzer::PhysicsBlock& side_pb,
45  const Teuchos::ParameterList& models,
46  const Teuchos::ParameterList& user_data) const = 0;
47 
48  virtual void
50  const panzer::PhysicsBlock& side_pb,
52  const Teuchos::ParameterList& user_data) const = 0;
53 
54  virtual void
56  const panzer::PhysicsBlock& side_pb,
58  const Teuchos::ParameterList& user_data) const = 0;
59 
60  };
61 
62 }
63 
64 #endif
Object that contains information on the physics and discretization of a block of elements with the SA...
virtual void setup(const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &user_data)=0
virtual void buildAndRegisterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data) const =0
virtual void buildAndRegisterGatherAndOrientationEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const =0
Non-templated empty base class for BCStrategy objects.
virtual void buildAndRegisterScatterEvaluators(PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const =0