Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
orientation.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2013-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__DOF_MANAGER__ORIENTATION__
34#define __H__UG__LIB_DISC__DOF_MANAGER__ORIENTATION__
35
36#include <vector>
39
40namespace ug{
41
43
63void ComputeOrientationOffset(std::vector<size_t>& vOrientOffset,
64 GridObject* Elem, GridObject* SubElem, size_t nrSub,
65 const LFEID& lfeid);
66
67void ComputeOrientationOffset(std::vector<size_t>& vOrientOffset,
68 Volume* volume, Face* face, size_t nrFace,
69 const LFEID& lfeid);
70
71void ComputeOrientationOffset(std::vector<size_t>& vOrientOffset,
72 Volume* vol, Edge* edge, size_t nrEdge,
73 const LFEID& lfeid);
74
75void ComputeOrientationOffset(std::vector<size_t>& vOrientOffset,
76 Face* face, Edge* edge, size_t nrEdge,
77 const LFEID& lfeid);
79
80void ComputeOrientationOffsetLagrange(std::vector<size_t>& vOrientOffset,
81 EdgeDescriptor& ed, EdgeVertices* edge, const size_t p);
82
83void MapLagrangeMultiIndexQuad(std::vector<size_t>& vOrientOffset,
84 const int id0, bool sameOrientation,
85 const size_t pOuter);
86
87void MapLagrangeMultiIndexTriangle(std::vector<size_t>& vOrientOffset,
88 const int id0, bool sameOrientation,
89 const size_t pOuter);
90
91
92} // end namespace ug
93
94#endif /* __H__UG__LIB_DISC__DOF_MANAGER__ORIENTATION__ */
the ug namespace
void MapLagrangeMultiIndexTriangle(std::vector< size_t > &vOrientOffset, const int id0, bool sameOrientation, const size_t pOuter)
Definition orientation.cpp:180
void ComputeOrientationOffset(std::vector< size_t > &vOrientOffset, Volume *vol, Face *face, size_t nrFace, const LFEID &lfeid)
returns the orientation offsets if required
Definition orientation.cpp:282
void ComputeOrientationOffsetLagrange(std::vector< size_t > &vOrientOffset, EdgeDescriptor &ed, EdgeVertices *edge, const size_t p)
Definition orientation.cpp:65
void MapLagrangeMultiIndexQuad(std::vector< size_t > &vOrientOffset, const int id0, bool sameOrientation, const size_t pOuter)
Definition orientation.cpp:144