DUNE-FEM (unstable)

defaultquadratures.hh
1#ifndef DUNE_FEM_DEFAULTQUADRATURES_HH
2#define DUNE_FEM_DEFAULTQUADRATURES_HH
3
4//#include <vector>
5#include <cassert>
6
10
11#include <dune/fem/quadrature/idprovider.hh>
12
13#include "femquadratures.hh"
14
15namespace Dune
16{
17
18 namespace Fem
19 {
20
21 // default defines for used quadratures
22 template< typename FieldType, int dim >
23 struct DefaultQuadratureImplementationTraits
24 {
26 typedef QuadratureImp< FieldType, dim > QuadratureImplementationType;
27
28 // deprecated typedef
29 typedef QuadratureImplementationType IntegrationPointListType;
30 };
31
32 // default defines for used quadratures
33 template< typename FieldType, int dim >
34 struct DefaultQuadratureTraits
35 : public DefaultQuadratureImplementationTraits< FieldType, dim >
36 {
37 typedef CubeQuadrature< FieldType, dim > CubeQuadratureType;
38
39 // dummy types for d > 3
40 typedef CubeQuadratureType SimplexQuadratureType;
41
42 typedef int QuadratureKeyType ;
43 };
44
45
46
47 // quadratures for points
48 template< typename FieldType >
49 struct DefaultQuadratureTraits< FieldType, 0 >
50 : public DefaultQuadratureImplementationTraits< FieldType, 0 >
51 {
52 typedef CubeQuadrature< FieldType, 0 > PointQuadratureType;
53 typedef int QuadratureKeyType ;
54 };
55
56
57
58 // quadratures for lines
59 template< typename FieldType >
60 struct DefaultQuadratureTraits< FieldType, 1 >
61 : public DefaultQuadratureImplementationTraits< FieldType, 1 >
62 {
63 typedef CubeQuadrature< FieldType, 1 > LineQuadratureType;
64 typedef QuadratureImp< FieldType, 1 > IntegrationPointListType;
65
66 typedef int QuadratureKeyType ;
67 };
68
69
70
71 // quadratures for simplex and cubes
72 template< typename FieldType >
73 struct DefaultQuadratureTraits< FieldType, 2 >
74 : public DefaultQuadratureImplementationTraits< FieldType, 2 >
75 {
76 typedef CubeQuadrature< FieldType, 2 > CubeQuadratureType;
77 typedef SimplexQuadrature< FieldType, 2 > SimplexQuadratureType;
78 typedef PolyhedronQuadrature< FieldType, 2 > PolyhedronQuadratureType;
79
80 typedef int QuadratureKeyType ;
81 };
82
83
84
85 // quadratures for simplex, cubes, prisms, and pyramids
86 template< typename FieldType >
87 struct DefaultQuadratureTraits< FieldType , 3 >
88 : public DefaultQuadratureImplementationTraits< FieldType, 3 >
89 {
90 typedef CubeQuadrature< FieldType, 3 > CubeQuadratureType;
91 typedef SimplexQuadrature< FieldType, 3 > SimplexQuadratureType;
92
93 typedef PrismQuadrature< FieldType > PrismQuadratureType;
94 typedef PyramidQuadrature< FieldType > PyramidQuadratureType;
95
96 typedef PolyhedronQuadrature< FieldType, 3 > PolyhedronQuadratureType;
97
98 typedef int QuadratureKeyType ;
99 };
100
101 } // namespace Fem
102
103} // namespace Dune
104
105#endif // #ifndef DUNE_FEM_DEFAULTQUADRATURES_HH
Different resources needed by all grid implementations.
A few common exception classes.
Implements a vector constructed from a given type representing a field and a compile-time given size.
Dune namespace.
Definition: alignedallocator.hh:13
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 13, 23:29, 2024)