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 bool
47 hasPeriodicNeighbor(const unsigned int i) const = 0;
48
49 virtual double
50 diameter() const = 0;
51
52 virtual void
53 center(dftefe::utils::Point &centerPoint) const = 0;
54
55 virtual void
57
58 virtual void
60
61 virtual double
63
64 virtual double
65 distanceToUnitCell(dftefe::utils::Point &parametricPoint) const = 0;
66
67 virtual void
69
70 virtual void
72
73 virtual bool
74 isActive() const = 0;
75
76 virtual bool
77 isLocallyOwned() const = 0;
78
79 virtual bool
80 isGhost() const = 0;
81
82 virtual bool
83 isArtificial() const = 0;
84
85 virtual size_type
86 getDim() const = 0;
87
88 virtual void
90 const CellMappingBase &cellMapping,
91 utils::Point & parametricPoint) const = 0;
92
93 virtual void
94 getRealPoint(const utils::Point & parametricPoint,
95 const CellMappingBase &cellMapping,
96 utils::Point & realPoint) const = 0;
97
98 virtual void
99 cellNodeIdtoGlobalNodeId(std::vector<global_size_type> &vecId) const = 0;
100
101 virtual size_type
102 getFaceBoundaryId(size_type faceId) const = 0;
103
104 virtual void
106 size_type faceId,
107 std::vector<global_size_type> &vecNodeId) const = 0;
108
109 virtual size_type
110 getFEOrder() const = 0;
111
112
113 }; // end of class FECellBase
114 } // end of namespace basis
115
116} // end of namespace dftefe
117#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 bool hasPeriodicNeighbor(const unsigned int i) 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