Panzer Version of the Day
Loading...
Searching...
No Matches
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
25namespace panzer {
26
27class PureBasis;
28class IntegrationRule;
29
41{
42public:
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
121protected:
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
Data for determining cell topology and dimensionality.
void addBasis(const panzer::BasisDescriptor &descriptor)
Add request for basis.
std::vector< Teuchos::RCP< const IntegrationRule > > int_rules
std::vector< std::string > rep_field_name
const std::vector< panzer::IntegrationDescriptor > & getIntegrators() const
Get a list of integrators being requested.
void addIntegrator(const panzer::IntegrationDescriptor &descriptor)
Add request for integrator.
WorksetNeeds()=default
Constructor for empty needs.
std::vector< panzer::BasisDescriptor > _basis_descriptors
List of basis descriptors requested in workset.
std::vector< panzer::PointDescriptor > _point_descriptors
List of point descriptors requested in workset.
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.
~WorksetNeeds()=default
Destructor.
void addPoint(const panzer::PointDescriptor &descriptor)
Add request for point.
std::vector< panzer::IntegrationDescriptor > _integration_descriptors
List of integration descriptors requested in workset.
std::vector< Teuchos::RCP< const PureBasis > > bases