Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_GeometricAggFieldPattern.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_GeometricAggFieldPattern_hpp__
12#define __Panzer_GeometricAggFieldPattern_hpp__
13
15#include "Panzer_FieldType.hpp"
16#include "Teuchos_RCP.hpp"
17
18namespace panzer {
19
40public:
42
47 GeometricAggFieldPattern(std::vector<std::pair<FieldType,Teuchos::RCP<const FieldPattern>>> & patterns);
48
53 GeometricAggFieldPattern(const FieldType& fieldType,
54 const Teuchos::RCP<const FieldPattern> & pattern);
55
57
58 Teuchos::RCP<panzer::FieldPattern> clone() const
59 {return Teuchos::rcp(new GeometricAggFieldPattern(*this));}
60
70 virtual void buildPattern(const std::vector<std::pair<FieldType,Teuchos::RCP<const FieldPattern>>> & patterns);
71
75 virtual void buildPattern(const FieldType& fieldType,
76 const Teuchos::RCP<const FieldPattern> & pattern);
77
81 virtual int getSubcellCount(int dim) const;
82
86 virtual const std::vector<int> & getSubcellIndices(int dim,int cellIndex) const;
87
88 /* This function has no functionality in this case.
89 * If called it will throw an assertion failure
90 */
91 virtual void getSubcellClosureIndices(int /* dim */, int /* cellIndex */, std::vector<int>& /* indices */) const
92 { TEUCHOS_ASSERT(false); }
93
97 virtual int getDimension() const;
98
101 virtual shards::CellTopology getCellTopology() const;
102
103protected:
105 std::size_t dimension_;
106 std::vector<std::vector<std::vector<int> > > patternData_;
107 shards::CellTopology cellTopo_;
108};
109
110}
111
112#endif
virtual void getSubcellClosureIndices(int, int, std::vector< int > &) const
std::vector< std::vector< std::vector< int > > > patternData_
virtual const std::vector< int > & getSubcellIndices(int dim, int cellIndex) const
virtual void buildPattern(const std::vector< std::pair< FieldType, Teuchos::RCP< const FieldPattern > > > &patterns)
virtual shards::CellTopology getCellTopology() const
Teuchos::RCP< panzer::FieldPattern > clone() const
FieldType
The type of discretization to use for a field pattern.