1 #ifndef DUNE_FEM_SPACE_LAGRANGE_GENERICBASEFUNCTIONS_HH 2 #define DUNE_FEM_SPACE_LAGRANGE_GENERICBASEFUNCTIONS_HH 4 #include <dune/common/fvector.hh> 14 template<
class FunctionSpace,
class GeometryType,
unsigned int order >
18 template<
class FunctionSpace,
unsigned int order >
30 enum { polynomialOrder = order };
34 enum { numBaseFunctions = LagrangePointType :: numLagrangePoints };
41 typedef typename Dune::FieldTraits< RangeFieldType >::real_type
RealType;
48 : lagrangePoint_( baseNum )
51 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
52 inline static void evaluate ( LocalDofCoordinateType &dofCoordinate,
53 const FieldVector< int, 0 > &diffVariable,
54 DomainFieldType factor,
55 const LocalCoordinateType &x,
61 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
62 inline static void evaluate ( LocalDofCoordinateType &dofCoordinate,
63 const FieldVector< int, 1 > &diffVariable,
64 DomainFieldType factor,
65 const LocalCoordinateType &x,
71 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
72 inline static void evaluate ( LocalDofCoordinateType &dofCoordinate,
73 const FieldVector< int, 2 > &diffVariable,
74 DomainFieldType factor,
75 const LocalCoordinateType &x,
81 template<
int diffOrder >
83 evaluate (
const FieldVector< int, diffOrder > &diffVariable,
85 RangeType &phi )
const 89 evaluate( point.dofCoordinate_, diffVariable, 1, xlocal, phi );
94 template<
class FunctionSpace,
class BaseGeometryType >
106 enum { polynomialOrder = 0 };
109 enum { numBaseFunctions = LagrangePointType :: numLagrangePoints };
117 typedef typename Dune::FieldTraits< RangeFieldType >::real_type
RealType;
120 const LagrangePointType lagrangePoint_;
124 : lagrangePoint_( baseNum )
127 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
128 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
129 const FieldVector< int, 0 > &diffVariable,
130 DomainFieldType factor,
131 const LocalCoordinateType &x,
137 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
138 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
139 const FieldVector< int, 0 > &diffVariable,
140 DomainFieldType factor,
141 const LocalCoordinateType &x,
144 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
147 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
148 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
149 const FieldVector< int, 1 > &diffVariable,
150 DomainFieldType factor,
151 const LocalCoordinateType &x,
157 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
158 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
159 const FieldVector< int, 1 > &diffVariable,
160 DomainFieldType factor,
161 const LocalCoordinateType &x,
164 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
167 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
168 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
169 const FieldVector< int, 2 > &diffVariable,
170 DomainFieldType factor,
171 const LocalCoordinateType &x,
177 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
178 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
179 const FieldVector< int, 2 > &diffVariable,
180 DomainFieldType factor,
181 const LocalCoordinateType &x,
184 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
187 template<
int diffOrder >
188 void evaluate (
const FieldVector< int, diffOrder > &diffVariable,
190 RangeType &phi )
const 193 LagrangePointType point( lagrangePoint_ );
194 evaluate( point.dofCoordinate_, diffVariable, 1, xlocal, phi );
199 template<
class FunctionSpace,
class BaseGeometryType,
unsigned int order >
202 typedef GenericLagrangeBaseFunction< FunctionSpace, PyramidGeometry< BaseGeometryType >, order > ThisType;
211 enum { polynomialOrder = order };
215 enum { numBaseFunctions = LagrangePointType :: numLagrangePoints };
223 typedef typename Dune::FieldTraits< RangeFieldType >::real_type
RealType;
227 < FunctionSpaceType, BaseGeometryType, polynomialOrder >
230 < FunctionSpaceType, GeometryType, polynomialOrder - 1 >
238 : lagrangePoint_( baseNum )
241 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
242 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
243 const FieldVector< int, 0 > &diffVariable,
244 DomainFieldType factor,
245 const LocalCoordinateType &x,
248 const DomainFieldType divisor = DomainFieldType( 1 ) / ((DomainFieldType)polynomialOrder);
249 const DomainFieldType myfactor = porder * divisor;
250 const RealType myshift = (porder - polynomialOrder) * divisor;
252 if( LagrangePointType :: useDimReduction( dofCoordinate ) )
254 DimensionReductionType::evaluate( dofCoordinate.base(), diffVariable, myfactor * factor, x.base(), phi );
256 const unsigned int height
257 = LagrangePointType :: height( dofCoordinate );
258 for(
unsigned int i = 0; i < height; ++i )
262 evaluate< porder >( dofCoordinate, diffVariable, factor, x, psi );
265 (*dofCoordinate) -= height;
270 OrderReductionType::template evaluate< porder >( dofCoordinate, diffVariable, factor, x, phi );
272 phi[ 0 ] *= (polynomialOrder / ((RealType)(*dofCoordinate)))
273 * (myfactor * factor * (*x) - myshift);
277 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
278 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
279 const FieldVector< int, 0 > &diffVariable,
280 DomainFieldType factor,
281 const LocalCoordinateType &x,
284 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
287 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
288 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
289 const FieldVector< int, 1 > &diffVariable,
290 DomainFieldType factor,
291 const LocalCoordinateType &x,
294 const DomainFieldType divisor = polynomialOrder;
295 const DomainFieldType myfactor = porder / divisor;
296 const RealType myshift = (porder - polynomialOrder) / divisor;
298 FieldVector< int, 0 > dv;
300 if( LagrangePointType :: useDimReduction( dofCoordinate ) )
302 if( (
unsigned int)diffVariable[ 0 ] != LocalDofCoordinateType::index )
303 DimensionReductionType::evaluate( dofCoordinate.base(), diffVariable, myfactor * factor, x.base(), phi );
307 const unsigned int height
308 = LagrangePointType :: height( dofCoordinate );
309 for(
unsigned int i = 0; i < height; ++i )
313 evaluate< porder >( dofCoordinate, diffVariable, factor, x, psi );
316 (*dofCoordinate) -= height;
321 OrderReductionType::template evaluate< porder >( dofCoordinate, diffVariable, factor, x, phi );
322 phi *= (myfactor * factor * (*x) - myshift);
324 if( (
unsigned int)diffVariable[ 0 ] == LocalDofCoordinateType::index )
327 OrderReductionType::template evaluate< porder >( dofCoordinate, dv, factor, x, psi );
328 phi.axpy( myfactor * factor, psi );
331 phi *= (polynomialOrder) / ((RealType)(*dofCoordinate));
335 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
336 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
337 const FieldVector< int, 1 > &diffVariable,
338 DomainFieldType factor,
339 const LocalCoordinateType &x,
342 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
345 template<
unsigned int porder,
class LocalDofCoordinateType,
class LocalCoordinateType >
346 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
347 const FieldVector< int, 2 > &diffVariable,
348 DomainFieldType factor,
349 const LocalCoordinateType &x,
352 const DomainFieldType divisor = polynomialOrder;
353 const DomainFieldType myfactor = porder / divisor;
354 const RealType myshift = (porder - polynomialOrder) / divisor;
356 FieldVector< int, 1 > dv0( diffVariable[ 0 ] );
357 FieldVector< int, 1 > dv1( diffVariable[ 1 ] );
359 if( LagrangePointType :: useDimReduction( dofCoordinate ) )
361 if( ((
unsigned int)diffVariable[ 0 ] != LocalDofCoordinateType::index)
362 && ((
unsigned int)diffVariable[ 1 ] != LocalDofCoordinateType::index) )
363 DimensionReductionType::evaluate( dofCoordinate.base(), diffVariable, myfactor * factor, x.base(), phi );
367 const unsigned int height = LagrangePointType::height( dofCoordinate );
368 for(
unsigned int i = 0; i < height; ++i )
372 evaluate< porder >( dofCoordinate, diffVariable, factor, x, psi );
375 (*dofCoordinate) -= height;
381 OrderReductionType::template evaluate< porder >( dofCoordinate, diffVariable, factor, x, phi );
382 phi *= (myfactor * factor * (*x) - myshift);
384 if( (
unsigned int)diffVariable[ 0 ] == LocalDofCoordinateType::index )
386 OrderReductionType::template evaluate< porder >( dofCoordinate, dv1, factor, x, psi );
387 phi.axpy( myfactor * factor, psi );
390 if( (
unsigned int)diffVariable[ 1 ] == LocalDofCoordinateType::index )
392 OrderReductionType::template evaluate< porder >( dofCoordinate, dv0, factor, x, psi );
393 phi.axpy( myfactor * factor, psi );
397 phi *= (polynomialOrder) / ((RealType)(*dofCoordinate));
401 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
402 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
403 const FieldVector< int, 2 > &diffVariable,
404 DomainFieldType factor,
405 const LocalCoordinateType &x,
408 return evaluate< polynomialOrder >( dofCoordinate, diffVariable, factor, x, phi );
411 template<
int diffOrder >
412 void evaluate (
const FieldVector< int, diffOrder > &diffVariable,
414 RangeType &phi )
const 418 evaluate( point.dofCoordinate_, diffVariable, 1, xlocal, phi );
423 template<
class FunctionSpace,
class FirstGeometryType,
class SecondGeometryType,
unsigned int order >
435 enum { polynomialOrder = order };
438 enum { numBaseFunctions = LagrangePointType :: numLagrangePoints };
445 typedef typename Dune::FieldTraits< RangeFieldType >::real_type
RealType;
449 < FunctionSpaceType, FirstGeometryType, polynomialOrder >
452 < FunctionSpaceType, SecondGeometryType, polynomialOrder >
456 const LagrangePointType lagrangePoint_;
460 : lagrangePoint_( baseNum )
463 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
464 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
465 const FieldVector< int, 0 > &diffVariable,
466 DomainFieldType factor,
467 const LocalCoordinateType &x,
471 FirstReductionType::evaluate( dofCoordinate.first(), diffVariable, factor, x.first(), phi );
472 SecondReductionType::evaluate( dofCoordinate.second(), diffVariable, factor, x.second(), psi );
473 phi[ 0 ] *= psi[ 0 ];
476 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
477 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
478 const FieldVector< int, 1 > &diffVariable,
479 DomainFieldType factor,
480 const LocalCoordinateType &x,
483 FieldVector< int, 0 > dv;
484 RangeType psi1, psi2;
486 FirstReductionType::evaluate( dofCoordinate.first(), diffVariable, factor, x.first(), psi1 );
487 SecondReductionType::evaluate( dofCoordinate.second(), dv, factor, x.second(), psi2 );
488 phi[ 0 ] = psi1[ 0 ] * psi2[ 0 ];
490 FirstReductionType::evaluate( dofCoordinate.first(), dv, factor, x.first(), psi1 );
491 SecondReductionType::evaluate( dofCoordinate.second(), diffVariable, factor, x.second(), psi2 );
492 phi[ 0 ] += psi1[ 0 ] * psi2[ 0 ];
495 template<
class LocalDofCoordinateType,
class LocalCoordinateType >
496 static void evaluate ( LocalDofCoordinateType &dofCoordinate,
497 const FieldVector< int, 2 > &diffVariable,
498 DomainFieldType factor,
499 const LocalCoordinateType &x,
502 FieldVector< int, 0 > dv;
503 FieldVector< int, 1 > dv0( diffVariable[ 0 ] );
504 FieldVector< int, 1 > dv1( diffVariable[ 1 ] );
505 RangeType psi1, psi2;
507 FirstReductionType::evaluate( dofCoordinate.first(), diffVariable, factor, x.first(), psi1 );
508 SecondReductionType::evaluate( dofCoordinate.second(), dv, factor, x.second(), psi2 );
509 phi[ 0 ] = psi1[ 0 ] * psi2[ 0 ];
511 FirstReductionType::evaluate( dofCoordinate.first(), dv0, factor, x.first(), psi1 );
512 SecondReductionType::evaluate( dofCoordinate.second(), dv1, factor, x.second(), psi2 );
513 phi[ 0 ] += psi1[ 0 ] * psi2[ 0 ];
515 FirstReductionType::evaluate( dofCoordinate.first(), dv1, factor, x.first(), psi1 );
516 SecondReductionType::evaluate( dofCoordinate.second(), dv0, factor, x.second(), psi2 );
517 phi[ 0 ] += psi1[ 0 ] * psi2[ 0 ];
519 FirstReductionType::evaluate( dofCoordinate.first(), dv, factor, x.first(), psi1 );
520 SecondReductionType::evaluate( dofCoordinate.second(), diffVariable, factor, x.second(), psi2 );
521 phi[ 0 ] += psi1[ 0 ] * psi2[ 0 ];
524 template<
int diffOrder >
525 void evaluate (
const FieldVector< int, diffOrder > &diffVariable,
527 RangeType &phi )
const 530 LagrangePointType point( lagrangePoint_ );
531 evaluate( point.dofCoordinate_, diffVariable, 1, xlocal, phi );
539 #endif // #ifndef DUNE_FEM_SPACE_LAGRANGE_GENERICBASEFUNCTIONS_HH
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:148
FunctionSpaceType::DomainFieldType DomainFieldType
Definition: genericbasefunctions.hh:221
void evaluate(const FieldVector< int, diffOrder > &diffVariable, const DomainType &x, RangeType &phi) const
Definition: genericbasefunctions.hh:525
GenericLagrangePoint< GeometryType, polynomialOrder > LagrangePointType
Definition: genericbasefunctions.hh:437
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeFieldType RangeFieldType
Intrinsic type used for values in the range field (usually a double)
Definition: functionspaceinterface.hh:62
Definition: genericgeometry.hh:230
Definition: genericlagrangepoints.hh:21
GenericLagrangeBaseFunction(unsigned int baseNum)
Definition: genericbasefunctions.hh:459
Dune::FieldTraits< RangeFieldType >::real_type RealType
Definition: genericbasefunctions.hh:41
FunctionSpaceType::RangeType RangeType
Definition: genericbasefunctions.hh:219
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:178
GenericLagrangeBaseFunction(unsigned int baseNum)
Definition: genericbasefunctions.hh:237
void evaluate(const FieldVector< int, diffOrder > &diffVariable, const DomainType &x, RangeType &phi) const
Definition: genericbasefunctions.hh:83
A vector valued function space.
Definition: functionspace.hh:16
FunctionSpaceType::RangeFieldType RangeFieldType
Definition: genericbasefunctions.hh:40
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:464
FunctionSpaceType::RangeType RangeType
Definition: genericbasefunctions.hh:37
FunctionSpaceType::RangeFieldType RangeFieldType
Definition: genericbasefunctions.hh:444
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:128
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:477
PyramidGeometry< BaseGeometryType > GeometryType
Definition: genericbasefunctions.hh:104
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:402
FunctionSpace FunctionSpaceType
Definition: genericbasefunctions.hh:428
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:168
Dune::FieldTraits< RangeFieldType >::real_type RealType
Definition: genericbasefunctions.hh:445
PyramidGeometry< BaseGeometryType > GeometryType
Definition: genericbasefunctions.hh:209
FunctionSpaceType::RangeFieldType RangeFieldType
Definition: genericbasefunctions.hh:222
generic geometry modelling a pyramid over a base geometry
Definition: genericgeometry.hh:89
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:278
dimension of range vector space
Definition: functionspaceinterface.hh:47
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:336
GenericLagrangePoint< GeometryType, polynomialOrder > LagrangePointType
Definition: genericbasefunctions.hh:33
FunctionSpaceType::DomainFieldType DomainFieldType
Definition: genericbasefunctions.hh:39
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainFieldType DomainFieldType
Intrinsic type used for values in the domain field (usually a double)
Definition: functionspaceinterface.hh:59
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:346
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:52
FunctionSpaceType::DomainType DomainType
Definition: genericbasefunctions.hh:440
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:242
FunctionSpace FunctionSpaceType
Definition: genericbasefunctions.hh:204
FunctionSpaceType::RangeFieldType RangeFieldType
Definition: genericbasefunctions.hh:116
FunctionSpaceType::DomainType DomainType
Definition: genericbasefunctions.hh:112
FunctionSpaceType::RangeType RangeType
Definition: genericbasefunctions.hh:113
Definition: coordinate.hh:4
GenericLagrangePoint< GeometryType, polynomialOrder > LagrangePointType
Definition: genericbasefunctions.hh:108
generic geometry modelling a single point
Definition: genericgeometry.hh:60
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainType DomainType
Type of domain vector (using type of domain field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:66
Dune::FieldTraits< RangeFieldType >::real_type RealType
Definition: genericbasefunctions.hh:117
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:288
FunctionSpaceType::DomainType DomainType
Definition: genericbasefunctions.hh:36
Definition: genericbasefunctions.hh:19
PointGeometry GeometryType
Definition: genericbasefunctions.hh:28
Dune::FieldTraits< RangeFieldType >::real_type RealType
Definition: genericbasefunctions.hh:223
FunctionSpace FunctionSpaceType
Definition: genericbasefunctions.hh:23
void evaluate(const FieldVector< int, diffOrder > &diffVariable, const DomainType &x, RangeType &phi) const
Definition: genericbasefunctions.hh:188
GenericLagrangeBaseFunction(unsigned int baseNum)
Definition: genericbasefunctions.hh:123
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:72
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 2 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:496
FunctionSpaceType::DomainFieldType DomainFieldType
Definition: genericbasefunctions.hh:443
GenericLagrangePoint< GeometryType, polynomialOrder > LagrangePointType
Definition: genericbasefunctions.hh:214
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeType RangeType
Type of range vector (using type of range field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:70
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:158
GenericLagrangeBaseFunction(unsigned int baseNum)
Definition: genericbasefunctions.hh:47
FunctionSpaceType::DomainFieldType DomainFieldType
Definition: genericbasefunctions.hh:115
FunctionSpaceType::DomainType DomainType
Definition: genericbasefunctions.hh:218
FunctionSpaceType::RangeType RangeType
Definition: genericbasefunctions.hh:441
generic geometry modelling the product of two base geometries
Definition: genericgeometry.hh:134
FunctionSpace FunctionSpaceType
Definition: genericbasefunctions.hh:99
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 1 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:62
Definition: genericbasefunctions.hh:15
void evaluate(const FieldVector< int, diffOrder > &diffVariable, const DomainType &x, RangeType &phi) const
Definition: genericbasefunctions.hh:412
ProductGeometry< FirstGeometryType, SecondGeometryType > GeometryType
Definition: genericbasefunctions.hh:433
static void evaluate(LocalDofCoordinateType &dofCoordinate, const FieldVector< int, 0 > &diffVariable, DomainFieldType factor, const LocalCoordinateType &x, RangeType &phi)
Definition: genericbasefunctions.hh:138