Go to the documentation of this file.
3 #ifndef DUNE_GEOGRID_COORDFUNCTION_HH
4 #define DUNE_GEOGRID_COORDFUNCTION_HH
6 #include <dune/common/fvector.hh>
14 template<
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
17 template<
class ct,
unsigned int dimR,
class Impl >
37 template<
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
66 This &operator= (
const This & ) =
default;
67 This &operator= (
This && ) =
default;
73 return asImp().evaluate( x, y );
79 return static_cast< const Implementation & >( *
this );
84 return static_cast< Implementation & >( *
this );
95 template<
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
96 class AnalyticalCoordFunction
97 :
public AnalyticalCoordFunctionInterface< ct, dimD, dimR, Impl >
100 typedef AnalyticalCoordFunctionInterface< ct, dimD, dimR, Impl > Base;
137 template<
class ct,
unsigned int dimR,
class Impl >
162 This &operator= (
const This & ) =
default;
163 This &operator= (
This && ) =
default;
171 template<
class HostEntity >
172 void evaluate (
const HostEntity &hostEntity,
unsigned int corner,
175 asImp().evaluate( hostEntity, corner, y );
189 return static_cast< const Implementation & >( *
this );
194 return static_cast< Implementation & >( *
this );
206 template<
class ct,
unsigned int dimR,
class Impl >
207 class DiscreteCoordFunction
208 :
public DiscreteCoordFunctionInterface< ct, dimR, Impl >
211 typedef DiscreteCoordFunctionInterface< ct, dimR, Impl > Base;
228 template<
class HostEntity >
229 void evaluate (
const HostEntity &hostEntity,
unsigned int corner,
241 template<
class CoordFunctionInterface >
247 template<
class ct,
unsigned int dimD,
unsigned int dimR,
class Impl >
254 template<
class ct,
unsigned int dimR,
class Impl >
266 template<
class CoordFunctionInterface >
272 template<
class ct,
unsigned int dimR,
class Impl >
284 template<
class CoordFunctionInterface >
287 static void adapt ( CoordFunctionInterface &coordFunction )
291 template<
class ct,
unsigned int dimR,
class Impl >
298 coordFunction.
adapt();
306 #endif // #ifndef DUNE_GEOGRID_COORDFUNCTION_HH
ct ctype
field type of the coordinate vector
Definition: coordfunction.hh:49
void adapt()
Definition: coordfunction.hh:224
Include standard header files.
Definition: agrid.hh:59
FieldVector< ctype, dimDomain > DomainVector
domain vector for the evaluate method
Definition: coordfunction.hh:57
static const bool value
Definition: coordfunction.hh:244
DiscreteCoordFunctionInterface< ct, dimR, Impl > CoordFunctionInterface
Definition: coordfunction.hh:294
void evaluate(const HostEntity &hostEntity, unsigned int corner, RangeVector &y) const
evaluate method
Definition: coordfunction.hh:172
static void adapt(CoordFunctionInterface &coordFunction)
Definition: coordfunction.hh:287
Base ::RangeVector RangeVector
Definition: coordfunction.hh:214
static const bool value
Definition: coordfunction.hh:269
ct ctype
field type of the coordinate vector
Definition: coordfunction.hh:149
This & operator=(const This &)=default
~DiscreteCoordFunction()=default
~AnalyticalCoordFunction()=default
Definition: cachedcoordfunction.hh:24
static const unsigned int dimDomain
dimension of the range vector (dimensionworld of host grid)
Definition: coordfunction.hh:52
This Interface
Definition: coordfunction.hh:45
AnalyticalCoordFunction()=default
Impl Implementation
Definition: coordfunction.hh:146
const Implementation & asImp() const
Definition: coordfunction.hh:187
const Implementation & asImp() const
Definition: coordfunction.hh:77
static const unsigned int dimRange
dimension of the range vector
Definition: coordfunction.hh:152
Definition: coordfunction.hh:285
DiscreteCoordFunction()=default
Derive an implementation of a discrete coordinate function from this class.
Definition: coordfunction.hh:18
Base ::DomainVector DomainVector
Definition: coordfunction.hh:103
friend class DiscreteCoordFunction< ct, dimR, Impl >
Definition: coordfunction.hh:142
FieldVector< ctype, dimRange > RangeVector
range vector for the evaluate method
Definition: coordfunction.hh:155
Definition: coordfunction.hh:267
friend class AnalyticalCoordFunction< ct, dimD, dimR, Impl >
Definition: coordfunction.hh:42
This & operator=(const This &)=default
void evaluate(const DomainVector &x, RangeVector &y) const
evaluate method for global mapping
Definition: coordfunction.hh:71
Impl Implementation
Definition: coordfunction.hh:46
static const unsigned int dimRange
dimension of the range vector
Definition: coordfunction.hh:54
This Interface
Definition: coordfunction.hh:145
FieldVector< ctype, dimRange > RangeVector
range vector for the evaluate method
Definition: coordfunction.hh:59
void adapt()
method called from grid.adapt() method to allow adaptation of the discrete coordinate function
Definition: coordfunction.hh:181
Definition: dgfgeogrid.hh:40
Interface class for using a discrete function to define the geometry of a Dune::GeometryGrid....
Definition: coordfunction.hh:138
Derive an implementation of an analytical coordinate function from this class.
Definition: coordfunction.hh:15
Base ::RangeVector RangeVector
Definition: coordfunction.hh:104
Definition: coordfunction.hh:242
static void adapt(CoordFunctionInterface &coordFunction)
Definition: coordfunction.hh:296
Implementation & asImp()
Definition: coordfunction.hh:192
Interface class for using an analytical function to define the geometry of a Dune::GeometryGrid....
Definition: coordfunction.hh:38
Implementation & asImp()
Definition: coordfunction.hh:82