DFT-EFE
 
Loading...
Searching...
No Matches
TriangulationCellDealii.h
Go to the documentation of this file.
1#ifndef dftefeTriangulationCellDealii_h
2#define dftefeTriangulationCellDealii_h
3
4#include <utils/Point.h>
5#include <utils/TypeConfig.h>
6#include "CellMappingBase.h"
8
9#include <deal.II/grid/tria.h>
10#include <deal.II/grid/tria_accessor.h>
11#include <deal.II/grid/tria_iterator.h>
12
13#include <memory>
14namespace dftefe
15{
16 namespace basis
17 {
21 template <unsigned int dim>
23 {
24 /*
25 * typedefs
26 */
27 public:
29 typename dealii::Triangulation<dim>::active_cell_iterator;
30
31 public:
34
35 void
36 getVertices(std::vector<utils::Point> &points) const override;
37
38 void
39 getVertex(size_type i, utils::Point &point) const override;
40
42 getId() const override;
43
44 bool
45 isPointInside(const utils::Point &point) const override;
46
47 bool
48 isAtBoundary(const unsigned int i) const override;
49
50 bool
51 isAtBoundary() const override;
52
53 bool
54 hasPeriodicNeighbor(const unsigned int i) const override;
55
56 unsigned int
57 getDim() const override;
58
59 double
60 diameter() const override;
61
62 void
63 center(dftefe::utils::Point &centerPoint) const override;
64
65 void
66 setRefineFlag() override;
67 /*
68 * \todo
69 * TODO : Should implement the cellMapping before implementation
70 */
71
72 void
73 clearRefineFlag() override;
74
75 double
76 minimumVertexDistance() const override;
77
78 double
79 distanceToUnitCell(dftefe::utils::Point &parametricPoint) const override;
80
81 void
83 const CellMappingBase & cellMapping,
84 dftefe::utils::Point &parametricPoint) const override;
85
86 /*
87 * \todo
88 * TODO : Should implement the cellMapping before implementation
89 */
90 void
91 getRealPoint(const utils::Point & parametricPoint,
92 const CellMappingBase &cellMapping,
93 utils::Point & realPoint) const override;
94
97
98 private:
100
101 }; // end of class TriaCellDealii
102 } // end of namespace basis
103
104} // end of namespace dftefe
106#endif // dftefeTriaCellDealii_h
An abstract class to map a real point to parametric point and vice-versa.
Definition: CellMappingBase.h:27
An abstract class for an geometric cell. This is done to prevent the template (as required by deal....
Definition: TriangulationCellBase.h:20
An interface to deal.ii geometric cell.
Definition: TriangulationCellDealii.h:23
void getParametricPoint(const dftefe::utils::Point &realPoint, const CellMappingBase &cellMapping, dftefe::utils::Point &parametricPoint) const override
Definition: TriangulationCellDealii.t.cpp:143
double minimumVertexDistance() const override
Definition: TriangulationCellDealii.t.cpp:126
void getVertices(std::vector< utils::Point > &points) const override
Definition: TriangulationCellDealii.t.cpp:22
void clearRefineFlag() override
Definition: TriangulationCellDealii.t.cpp:119
double distanceToUnitCell(dftefe::utils::Point &parametricPoint) const override
Definition: TriangulationCellDealii.t.cpp:133
DealiiTriangulationCellIterator & getCellIterator()
Definition: TriangulationCellDealii.t.cpp:169
bool isAtBoundary() const override
Definition: TriangulationCellDealii.t.cpp:74
double diameter() const override
Definition: TriangulationCellDealii.t.cpp:95
bool hasPeriodicNeighbor(const unsigned int i) const override
Definition: TriangulationCellDealii.t.cpp:81
void getRealPoint(const utils::Point &parametricPoint, const CellMappingBase &cellMapping, utils::Point &realPoint) const override
Definition: TriangulationCellDealii.t.cpp:157
void setRefineFlag() override
Definition: TriangulationCellDealii.t.cpp:112
DealiiTriangulationCellIterator d_cellItr
Definition: TriangulationCellDealii.h:99
bool isPointInside(const utils::Point &point) const override
Definition: TriangulationCellDealii.t.cpp:57
void center(dftefe::utils::Point &centerPoint) const override
Definition: TriangulationCellDealii.t.cpp:102
size_type getId() const override
Definition: TriangulationCellDealii.t.cpp:48
typename dealii::Triangulation< dim >::active_cell_iterator DealiiTriangulationCellIterator
Definition: TriangulationCellDealii.h:29
~TriangulationCellDealii()
Definition: TriangulationCellDealii.t.cpp:17
void getVertex(size_type i, utils::Point &point) const override
Definition: TriangulationCellDealii.t.cpp:40
unsigned int getDim() const override
Definition: TriangulationCellDealii.t.cpp:89
Definition: PointImpl.h:13
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8