Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_BasisDescriptor.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_BASIS_DESCRIPTOR_HPP
12#define PANZER_BASIS_DESCRIPTOR_HPP
13
14#include <string>
15#include <functional>
16
18
19namespace panzer {
20
22{
23public:
24
29
33 virtual ~BasisDescriptor() = default;
34
40 BasisDescriptor(const int basis_order, const std::string & basis_type);
41
46 const std::string & getType() const {return _basis_type;}
47
52 int getOrder() const {return _basis_order;}
53
59 std::size_t getKey() const {return _key;}
60
66
67protected:
68
70 std::string _basis_type;
71
72 // Basis order (>0)
74
75 // Unique key associated with basis.
76 std::size_t _key;
77};
78
79bool operator==(const panzer::BasisDescriptor& left,
80 const panzer::BasisDescriptor& right);
81
82} // namespace panzer
83
84namespace std {
85 template <>
86 struct hash<panzer::BasisDescriptor>
87 {
88 std::size_t operator()(const panzer::BasisDescriptor& desc) const;
89 };
90}
91
92
93#endif
int getOrder() const
Get order of basis.
std::string _basis_type
Basis type (HGrad, HDiv, HCurl, HVol)
const std::string & getType() const
Get type of basis.
virtual ~BasisDescriptor()=default
Destructor.
std::size_t getKey() const
Get unique key associated with basis of this order and type The key is used to sort through a map of ...
PointDescriptor getPointDescriptor() const
Build a point descriptor that builds reference points for the DOF locations. This method throws if no...
BasisDescriptor()
Constructor for empty basis.
bool operator==(const panzer::BasisDescriptor &left, const panzer::BasisDescriptor &right)