DFT-EFE
 
Loading...
Searching...
No Matches
FECellBase.h
Go to the documentation of this file.
1#ifndef dftefeFECellBase_h
2#define dftefeFECellBase_h
3
4#include <utils/Point.h>
5#include <utils/TypeConfig.h>
8
9#include <memory>
10
11namespace dftefe
12{
13 namespace basis
14 {
22 {
23 public:
24 virtual ~FECellBase() = default;
25 virtual void
26 getVertices(std::vector<utils::Point> &points) const = 0;
27
28 virtual void
29 getVertex(size_type i, utils::Point &point) const = 0;
30
31 virtual std::vector<std::shared_ptr<utils::Point>>
32 getNodalPoints() const = 0;
33
34 virtual size_type
35 getId() const = 0;
36
37 virtual bool
38 isPointInside(const utils::Point &point) const = 0;
39
40 virtual bool
41 isAtBoundary(const unsigned int i) const = 0;
42
43 virtual bool
44 isAtBoundary() const = 0;
45
46 virtual double
47 diameter() const = 0;
48
49 virtual void
50 center(dftefe::utils::Point &centerPoint) const = 0;
51
52 virtual void
54
55 virtual void
57
58 virtual double
60
61 virtual double
62 distanceToUnitCell(dftefe::utils::Point &parametricPoint) const = 0;
63
64 virtual void
66
67 virtual void
69
70 virtual bool
71 isActive() const = 0;
72
73 virtual bool
74 isLocallyOwned() const = 0;
75
76 virtual bool
77 isGhost() const = 0;
78
79 virtual bool
80 isArtificial() const = 0;
81
82 virtual size_type
83 getDim() const = 0;
84
85 virtual void
87 const CellMappingBase &cellMapping,
88 utils::Point & parametricPoint) const = 0;
89
90 virtual void
91 getRealPoint(const utils::Point & parametricPoint,
92 const CellMappingBase &cellMapping,
93 utils::Point & realPoint) const = 0;
94
95 virtual void
96 cellNodeIdtoGlobalNodeId(std::vector<global_size_type> &vecId) const = 0;
97
98 virtual size_type
99 getFaceBoundaryId(size_type faceId) const = 0;
100
101 virtual void
103 size_type faceId,
104 std::vector<global_size_type> &vecNodeId) const = 0;
105
106 virtual size_type
107 getFEOrder() const = 0;
108
109
110 }; // end of class FECellBase
111 } // end of namespace basis
112
113} // end of namespace dftefe
114#endif // dftefeFECellBase_h
An abstract class to map a real point to parametric point and vice-versa.
Definition: CellMappingBase.h:27
An abstract class for a finite element cell (can be of any dimension) This is created primarily to be...
Definition: FECellBase.h:22
virtual size_type getFaceBoundaryId(size_type faceId) const =0
virtual void getRealPoint(const utils::Point &parametricPoint, const CellMappingBase &cellMapping, utils::Point &realPoint) const =0
virtual double minimumVertexDistance() const =0
virtual void clearCoarsenFlag()=0
virtual size_type getId() const =0
virtual void setCoarsenFlag()=0
virtual bool isAtBoundary(const unsigned int i) const =0
virtual void getFaceDoFGlobalIndices(size_type faceId, std::vector< global_size_type > &vecNodeId) const =0
virtual bool isActive() const =0
virtual std::vector< std::shared_ptr< utils::Point > > getNodalPoints() const =0
virtual bool isLocallyOwned() const =0
virtual double distanceToUnitCell(dftefe::utils::Point &parametricPoint) const =0
virtual bool isGhost() const =0
virtual bool isAtBoundary() const =0
virtual double diameter() const =0
virtual bool isArtificial() const =0
virtual void getParametricPoint(const utils::Point &realPoint, const CellMappingBase &cellMapping, utils::Point &parametricPoint) const =0
virtual bool isPointInside(const utils::Point &point) const =0
virtual void center(dftefe::utils::Point &centerPoint) const =0
virtual size_type getFEOrder() const =0
virtual ~FECellBase()=default
virtual void getVertex(size_type i, utils::Point &point) const =0
virtual void setRefineFlag()=0
virtual void clearRefineFlag()=0
virtual void cellNodeIdtoGlobalNodeId(std::vector< global_size_type > &vecId) const =0
virtual void getVertices(std::vector< utils::Point > &points) const =0
virtual size_type getDim() const =0
An abstract class for an geometric cell. This is done to prevent the template (as required by deal....
Definition: TriangulationCellBase.h:20
Definition: PointImpl.h:13
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8