dune-multidomaingrid 2.8
Loading...
Searching...
No Matches
subdomaingrid/localgeometry.hh
Go to the documentation of this file.
1#ifndef DUNE_MULTIDOMAINGRID_SUBDOMAINGRID_LOCALGEOMETRY_HH
2#define DUNE_MULTIDOMAINGRID_SUBDOMAINGRID_LOCALGEOMETRY_HH
3
4#include <dune/grid/common/geometry.hh>
5
6namespace Dune {
7
8namespace mdgrid {
9
10namespace subdomain {
11
12template<int mydim, int coorddim, typename GridImp>
14{
15
16 template<int,int,typename>
17 friend class EntityWrapper;
18
19 template<typename,typename,typename>
20 friend class IntersectionWrapper;
21
22public:
23
24 typedef typename GridImp::ctype ctype;
25 static const int dimension = GridImp::dimension;
26 static const int dimensionworld = GridImp::dimensionworld;
27 static const int mydimension = mydim;
28 static const int coorddimension = coorddim;
29
30private:
31
34 typedef typename GridImp::HostGrid::Traits::template Codim<dimension-mydim>::LocalGeometry HostLocalGeometry; //TODO: fix this
35
36public:
37
38 typedef typename HostLocalGeometry::JacobianInverseTransposed JacobianInverseTransposed;
39 typedef typename HostLocalGeometry::JacobianTransposed JacobianTransposed;
40
42 return _hostLocalGeometry.type();
43 }
44
45 int corners() const {
46 return _hostLocalGeometry.corners();
47 }
48
49 bool affine() const {
50 return _hostLocalGeometry.affine();
51 }
52
53 GlobalCoords corner(int i) const {
54 return _hostLocalGeometry.corner(i);
55 }
56
58 return _hostLocalGeometry.global(local);
59 }
60
62 return _hostLocalGeometry.local(global);
63 }
64
65 bool checkInside(const LocalCoords& local) const {
66 return _hostLocalGeometry.checkInside(local);
67 }
68
70 return _hostLocalGeometry.integrationElement(local);
71 }
72
73 ctype volume() const {
74 return _hostLocalGeometry.volume();
75 }
76
78 return _hostLocalGeometry.center();
79 }
80
83 return _hostLocalGeometry.jacobianTransposed(local);
84 }
85
88 return _hostLocalGeometry.jacobianInverseTransposed(local);
89 }
90
91private:
92
93 const HostLocalGeometry _hostLocalGeometry;
94
95 LocalGeometryWrapper(const HostLocalGeometry& hostLocalGeometry)
96 : _hostLocalGeometry(hostLocalGeometry)
97 {}
98
99};
100
101} // namespace subdomain
102
103} // namespace mdgrid
104
105} // namespace Dune
106
107#endif // DUNE_MULTIDOMAINGRID_SUBDOMAINGRID_LOCALGEOMETRY_HH
bool setContains(const ArrayBasedSet< SI, capacity > &a, const ArrayBasedSet< SI, capacity > &b)
const GlobalIndex & global() const
LocalIndex & local()
Definition subdomaingrid/entity.hh:157
Definition subdomaingrid/intersection.hh:19
Definition subdomaingrid/localgeometry.hh:14
static const int dimensionworld
Definition subdomaingrid/localgeometry.hh:26
GlobalCoords global(const LocalCoords &local) const
Definition subdomaingrid/localgeometry.hh:57
HostLocalGeometry::JacobianTransposed JacobianTransposed
Definition subdomaingrid/localgeometry.hh:39
GridImp::ctype ctype
Definition subdomaingrid/localgeometry.hh:24
const JacobianTransposed jacobianTransposed(const LocalCoords &local) const
Definition subdomaingrid/localgeometry.hh:82
GlobalCoords center() const
Definition subdomaingrid/localgeometry.hh:77
int corners() const
Definition subdomaingrid/localgeometry.hh:45
HostLocalGeometry::JacobianInverseTransposed JacobianInverseTransposed
Definition subdomaingrid/localgeometry.hh:38
bool checkInside(const LocalCoords &local) const
Definition subdomaingrid/localgeometry.hh:65
ctype volume() const
Definition subdomaingrid/localgeometry.hh:73
static const int dimension
Definition subdomaingrid/localgeometry.hh:25
ctype integrationElement(const LocalCoords &local) const
Definition subdomaingrid/localgeometry.hh:69
GeometryType type() const
Definition subdomaingrid/localgeometry.hh:41
static const int mydimension
Definition subdomaingrid/localgeometry.hh:27
const JacobianInverseTransposed jacobianInverseTransposed(const LocalCoords &local) const
Definition subdomaingrid/localgeometry.hh:87
GlobalCoords corner(int i) const
Definition subdomaingrid/localgeometry.hh:53
bool affine() const
Definition subdomaingrid/localgeometry.hh:49
LocalCoords local(const GlobalCoords &global) const
Definition subdomaingrid/localgeometry.hh:61
static const int coorddimension
Definition subdomaingrid/localgeometry.hh:28