Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
anisotropy_util.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009-2015: G-CSC, Goethe University Frankfurt
3 * Author: Markus Breit
4 * Date: 2018-05-25
5 *
6 * This file is part of UG4.
7 *
8 * UG4 is free software: you can redistribute it and/or modify it under the
9 * terms of the GNU Lesser General Public License version 3 (as published by the
10 * Free Software Foundation) with the following additional attribution
11 * requirements (according to LGPL/GPL v3 §7):
12 *
13 * (1) The following notice must be displayed in the Appropriate Legal Notices
14 * of covered and combined works: "Based on UG4 (www.ug4.org/license)".
15 *
16 * (2) The following notice must be displayed at a prominent place in the
17 * terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
18 *
19 * (3) The following bibliography is recommended for citation and must be
20 * preserved in all covered files:
21 * "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
22 * parallel geometric multigrid solver on hierarchically distributed grids.
23 * Computing and visualization in science 16, 4 (2013), 151-164"
24 * "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
25 * flexible software system for simulating pde based models on high performance
26 * computers. Computing and visualization in science 16, 4 (2013), 165-179"
27 *
28 * This program is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 * GNU Lesser General Public License for more details.
32 */
33
34#ifndef LIB_GRID__ALGORITHMS__GEOM_OBJ_UTIL__ANISOTROPY_UTIL_H
35#define LIB_GRID__ALGORITHMS__GEOM_OBJ_UTIL__ANISOTROPY_UTIL_H
36
37#include "common/types.h"
39#include "lib_grid/multi_grid.h"
40
41#include <cstddef>
42#include <vector>
43
44namespace ug {
45
46
61
62
63template <typename TAAPos>
65(
66 Edge* elem,
67 const TAAPos& aaPos,
68 number thresholdRatio
69);
70
71
72template <typename TAAPos>
74(
75 Face* elem,
76 const TAAPos& aaPos,
77 number thresholdRatio
78);
79
80
81template <typename TAAPos>
83(
84 Volume* elem,
85 const TAAPos& aaPos,
86 number thresholdRatio
87);
88
89
90
91template <typename TAAPos>
93(
94 Edge* elem,
95 Grid& grid,
96 const TAAPos& aaPos,
97 number thresholdRatio,
98 std::vector<Vertex*>& sidesOut
99);
100
101
102template <typename TAAPos>
104(
105 Face* elem,
106 Grid& grid,
107 const TAAPos& aaPos,
108 number thresholdRatio,
109 std::vector<Edge*>& sidesOut
110);
111
112
113template <typename TAAPos>
115(
116 Volume* elem,
117 Grid& grid,
118 const TAAPos& aaPos,
119 number thresholdRatio,
120 std::vector<Face*>& sidesOut
121);
122
123
124
125template <typename TAAPos>
127(
128 Edge* elem,
129 Grid& grid,
130 const TAAPos& aaPos,
131 number thresholdRatio,
132 std::vector<Edge*>& longEdges
133);
134
135
136template <typename TAAPos>
138(
139 Face* elem,
140 Grid& grid,
141 const TAAPos& aaPos,
142 number thresholdRatio,
143 std::vector<Edge*>& longEdges
144);
145
146
147template <typename TAAPos>
149(
150 Volume* elem,
151 Grid& grid,
152 const TAAPos& aaPos,
153 number thresholdRatio,
154 std::vector<Edge*>& longEdges
155);
156
157
158
159} // namespace ug
160
161#include "anisotropy_util_impl.h"
162
163#endif // LIB_GRID__ALGORITHMS__GEOM_OBJ_UTIL__ANISOTROPY_UTIL_H
double number
Definition types.h:124
the ug namespace
AnisotropyState is_anisotropic(Edge *elem, const TAAPos &aaPos, number thresholdRatio)
Definition anisotropy_util_impl.h:43
AnisotropyState
Definition anisotropy_util.h:48
@ HEX_SHORTY
Definition anisotropy_util.h:55
@ QUAD_SHORTX
Definition anisotropy_util.h:50
@ HEX_SHORTXZ
Definition anisotropy_util.h:58
@ QUAD_SHORTY
Definition anisotropy_util.h:51
@ HEX_SHORTX
Definition anisotropy_util.h:54
@ PRISM_LONG
Definition anisotropy_util.h:53
@ HEX_SHORTXY
Definition anisotropy_util.h:57
@ PRISM_FLAT
Definition anisotropy_util.h:52
@ HEX_SHORTYZ
Definition anisotropy_util.h:59
@ ISOTROPIC
Definition anisotropy_util.h:49
@ HEX_SHORTZ
Definition anisotropy_util.h:56
AnisotropyState long_edges_of_anisotropic_elem(Edge *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Edge * > &longEdges)
Definition anisotropy_util_impl.h:381
AnisotropyState close_sides_of_anisotropic_elem(Edge *elem, Grid &grid, const TAAPos &aaPos, number thresholdRatio, std::vector< Vertex * > &sidesOut)
Definition anisotropy_util_impl.h:215