Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
reference_element_traits.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2011-2015: G-CSC, Goethe University Frankfurt
3 * Author: Andreas Vogel
4 *
5 * This file is part of UG4.
6 *
7 * UG4 is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU Lesser General Public License version 3 (as published by the
9 * Free Software Foundation) with the following additional attribution
10 * requirements (according to LGPL/GPL v3 §7):
11 *
12 * (1) The following notice must be displayed in the Appropriate Legal Notices
13 * of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14 *
15 * (2) The following notice must be displayed at a prominent place in the
16 * terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17 *
18 * (3) The following bibliography is recommended for citation and must be
19 * preserved in all covered files:
20 * "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21 * parallel geometric multigrid solver on hierarchically distributed grids.
22 * Computing and visualization in science 16, 4 (2013), 151-164"
23 * "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24 * flexible software system for simulating pde based models on high performance
25 * computers. Computing and visualization in science 16, 4 (2013), 165-179"
26 *
27 * This program is distributed in the hope that it will be useful,
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 * GNU Lesser General Public License for more details.
31 */
32
33#ifndef __H__UG__LIB_DISC__REFERENCE_ELEMENT__REFERENCE_ELEMENT_TRAITS__
34#define __H__UG__LIB_DISC__REFERENCE_ELEMENT__REFERENCE_ELEMENT_TRAITS__
35
36#include "reference_element.h"
38
39namespace ug{
40
42
47template <class TElem>
49
50
52// RegularVertex
54
55template <>
57{
59 static const int dim = reference_element_type::dim;
60};
61
62template <>
65
66template <>
69
71// Edge
73
74template <>
76{
78 static const int dim = reference_element_type::dim;
79};
80
81template <>
83{
85 static const int dim = reference_element_type::dim;
86};
87
88template <>
91
92template <>
95
97// Triangle
99
100template <>
102{
104 static const int dim = reference_element_type::dim;
105};
106
107template <>
110
111template <>
114
116// Quadrilateral
118
119template <>
121{
123 static const int dim = reference_element_type::dim;
124};
125
126template <>
129
130template <>
133
135// Tetrahedron
137
138template <>
140{
142 static const int dim = reference_element_type::dim;
143};
144
146// Pyramid
148
149template <>
151{
153 static const int dim = reference_element_type::dim;
154};
155
157// Prism
159
160template <>
162{
164 static const int dim = reference_element_type::dim;
165};
166
168// Hexahedron
170
171template <>
173{
175 static const int dim = reference_element_type::dim;
176};
177
179// Octahedron
181
182template <>
184{
186 static const int dim = reference_element_type::dim;
187};
188
189}
190
191#endif /* __H__UG__LIB_DISC__REFERENCE_ELEMENT__REFERENCE_ELEMENT_TRAITS__ */
This edge is a sub-edge of a.
Definition grid_objects_1d.h:146
a quadrilateral constrained by another object.
Definition grid_objects_2d.h:501
a triangle constrained by another object.
Definition grid_objects_2d.h:440
A vertex appearing on edges or faces.
Definition grid_objects_0d.h:110
contains elements of type
Definition grid_objects_1d.h:279
a quadrilateral constraining other objects.
Definition grid_objects_2d.h:795
a triangle constraining other objects.
Definition grid_objects_2d.h:727
Base-class for edges.
Definition grid_base_objects.h:397
A volume element with 6 quadrilateral sides.
Definition grid_objects_3d.h:227
platonic solid with eight faces.
Definition grid_objects_3d.h:626
A volume element with 2 triangle and 3 quadrilateral sides.
Definition grid_objects_3d.h:360
A volume element with 4 triangle and 1 quadrilateral sides.
Definition grid_objects_3d.h:493
a face with four points.
Definition grid_objects_2d.h:323
Definition reference_element.h:345
reference element for a hexahedron
Definition reference_element.h:648
Definition reference_element.h:699
Definition reference_element.h:595
Definition reference_element.h:546
Definition reference_element.h:445
Definition reference_element.h:494
Definition reference_element.h:394
Definition reference_element.h:303
Edges connect two vertices.
Definition grid_objects_1d.h:66
A basic vertex-type.
Definition grid_objects_0d.h:62
the most simple volume-element.
Definition grid_objects_3d.h:91
the most simple form of a face
Definition grid_objects_2d.h:174
Base-class for all vertex-types.
Definition grid_base_objects.h:231
the ug namespace
ReferenceEdge reference_element_type
Definition reference_element_traits.h:84
ReferenceHexahedron reference_element_type
Definition reference_element_traits.h:174
ReferenceOctahedron reference_element_type
Definition reference_element_traits.h:185
ReferencePrism reference_element_type
Definition reference_element_traits.h:163
ReferencePyramid reference_element_type
Definition reference_element_traits.h:152
ReferenceQuadrilateral reference_element_type
Definition reference_element_traits.h:122
ReferenceEdge reference_element_type
Definition reference_element_traits.h:77
ReferenceTetrahedron reference_element_type
Definition reference_element_traits.h:141
ReferenceTriangle reference_element_type
Definition reference_element_traits.h:103
ReferenceVertex reference_element_type
Definition reference_element_traits.h:58
traits for reference elements
Definition reference_element_traits.h:48