Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_WorksetNeeds.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_WorsetNeeds_hpp__
12 #define __Panzer_WorsetNeeds_hpp__
13 
14 #include "Teuchos_RCP.hpp"
15 
16 #include "PanzerDiscFE_config.hpp"
17 #include "Panzer_CellData.hpp"
18 
22 
23 #include <vector>
24 
25 namespace panzer {
26 
27 class PureBasis;
28 class IntegrationRule;
29 
41 {
42 public:
43 
48  WorksetNeeds() = default;
49 
53  ~WorksetNeeds() = default;
54 
60  {
61  _integration_descriptors.push_back(descriptor);
62  }
63 
68  void addPoint(const panzer::PointDescriptor & descriptor)
69  {
70  _point_descriptors.push_back(descriptor);
71  }
72 
77  void addBasis(const panzer::BasisDescriptor & descriptor)
78  {
79  _basis_descriptors.push_back(descriptor);
80  }
81 
86  const std::vector<panzer::IntegrationDescriptor> & getIntegrators() const
87  {
89  }
90 
95  const std::vector<panzer::PointDescriptor> & getPoints() const
96  {
97  return _point_descriptors;
98  }
99 
104  const std::vector<panzer::BasisDescriptor> & getBases() const
105  {
106  return _basis_descriptors;
107  }
108 
109  //TEUCHOS_DEPRECATED
111 
112  //TEUCHOS_DEPRECATED
113  std::vector<Teuchos::RCP<const IntegrationRule> > int_rules;
114 
115  //TEUCHOS_DEPRECATED
116  std::vector<Teuchos::RCP<const PureBasis> > bases;
117 
118  //TEUCHOS_DEPRECATED
119  std::vector<std::string> rep_field_name; // representative field name
120 
121 protected:
122 
124  std::vector<panzer::IntegrationDescriptor> _integration_descriptors;
125 
127  std::vector<panzer::PointDescriptor> _point_descriptors;
128 
130  std::vector<panzer::BasisDescriptor> _basis_descriptors;
131 
132 };
133 
134 } // end namespace panzer
135 
136 #endif
std::vector< Teuchos::RCP< const PureBasis > > bases
void addPoint(const panzer::PointDescriptor &descriptor)
Add request for point.
~WorksetNeeds()=default
Destructor.
std::vector< Teuchos::RCP< const IntegrationRule > > int_rules
std::vector< std::string > rep_field_name
void addBasis(const panzer::BasisDescriptor &descriptor)
Add request for basis.
const std::vector< panzer::PointDescriptor > & getPoints() const
Get a list of points being requested.
const std::vector< panzer::BasisDescriptor > & getBases() const
Get a list of bases being requested.
void addIntegrator(const panzer::IntegrationDescriptor &descriptor)
Add request for integrator.
Data for determining cell topology and dimensionality.
std::vector< panzer::IntegrationDescriptor > _integration_descriptors
List of integration descriptors requested in workset.
WorksetNeeds()=default
Constructor for empty needs.
const std::vector< panzer::IntegrationDescriptor > & getIntegrators() const
Get a list of integrators being requested.
std::vector< panzer::PointDescriptor > _point_descriptors
List of point descriptors requested in workset.
std::vector< panzer::BasisDescriptor > _basis_descriptors
List of basis descriptors requested in workset.