Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
elem_disc_interface_impl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010-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
34#ifndef __H__UG__LIB_DISC__SPATIAL_DISC__ELEM_DISC__ELEM_DISC_INTERFACE_IMPL__
35#define __H__UG__LIB_DISC__SPATIAL_DISC__ELEM_DISC__ELEM_DISC_INTERFACE_IMPL__
36
37#include "elem_disc_interface.h"
39
40namespace ug{
41
43// setting of elem ass functions
45
46template <typename TLeaf, typename TDomain>
47template<typename TAssFunc>
49{
50 m_vPrepareTimestepFct[algebra_id] = static_cast<PrepareTimestepFct>(func);
51};
52template <typename TLeaf, typename TDomain>
54{
55 m_vPrepareTimestepFct[algebra_id] = NULL;
56};
57
58template <typename TLeaf, typename TDomain>
59template<typename TAssFunc>
61{
62 m_vPrepareTimestepElemFct[id] = static_cast<PrepareTimestepElemFct>(func);
63};
64template <typename TLeaf, typename TDomain>
66{
67 m_vPrepareTimestepElemFct[id] = NULL;
68};
69
70template <typename TLeaf, typename TDomain>
71template<typename TAssFunc>
73{
74 m_vPrepareElemFct[id] = static_cast<PrepareElemFct>(func);
75};
76template <typename TLeaf, typename TDomain>
78{
79 m_vPrepareElemFct[id] = NULL;
80};
81
82template <typename TLeaf, typename TDomain>
83template<typename TAssFunc>
85{
86 m_vPrepareElemLoopFct[id] = static_cast<PrepareElemLoopFct>(func);
87};
88template <typename TLeaf, typename TDomain>
90{
91 m_vPrepareElemLoopFct[id] = NULL;
92};
93
94template <typename TLeaf, typename TDomain>
95template<typename TAssFunc>
97{
98 m_vFinishElemLoopFct[id] = static_cast<FinishElemLoopFct>(func);
99};
100template <typename TLeaf, typename TDomain>
102{
103 m_vFinishElemLoopFct[id] = NULL;
104};
105
106template <typename TLeaf, typename TDomain>
107template<typename TAssFunc>
109{
110 m_vElemJAFct[id] = static_cast<ElemJAFct>(func);
111};
112template <typename TLeaf, typename TDomain>
117
118template <typename TLeaf, typename TDomain>
119template<typename TAssFunc>
121{
122 m_vElemJMFct[id] = static_cast<ElemJMFct>(func);
123};
124template <typename TLeaf, typename TDomain>
129
130template <typename TLeaf, typename TDomain>
131template<typename TAssFunc>
133{
134 m_vElemdAFct[id] = static_cast<ElemdAFct>(func);
135};
136template <typename TLeaf, typename TDomain>
141
142template <typename TLeaf, typename TDomain>
143template<typename TAssFunc>
145{
146 m_vElemdAExplFct[id] = static_cast<ElemdAFct>(func);
147};
148template <typename TLeaf, typename TDomain>
153
154template <typename TLeaf, typename TDomain>
155template<typename TAssFunc>
157{
158 m_vElemdMFct[id] = static_cast<ElemdMFct>(func);
159};
160template <typename TLeaf, typename TDomain>
165
166template <typename TLeaf, typename TDomain>
167template<typename TAssFunc>
169{
170 m_vElemRHSFct[id] = static_cast<ElemRHSFct>(func);
171};
172template <typename TLeaf, typename TDomain>
177
178template <typename TLeaf, typename TDomain>
179template<typename TAssFunc>
181{
182 m_vFinishTimestepFct[algebra_id] = static_cast<FinishTimestepFct>(func);
183};
184template <typename TLeaf, typename TDomain>
186{
187 m_vFinishTimestepFct[algebra_id] = NULL;
188};
189
190template <typename TLeaf, typename TDomain>
191template<typename TAssFunc>
193{
194 m_vFinishTimestepElemFct[id] = static_cast<FinishTimestepElemFct>(func);
195};
196template <typename TLeaf, typename TDomain>
198{
199 m_vFinishTimestepElemFct[id] = NULL;
200};
202template <typename TLeaf, typename TDomain>
203template<typename TAssFunc>
205{
206 m_vPrepareErrEstElemLoopFct[id] = static_cast<PrepareErrEstElemLoopFct>(func);
208template <typename TLeaf, typename TDomain>
211 m_vPrepareErrEstElemLoopFct[id] = NULL;
214template <typename TLeaf, typename TDomain>
215template<typename TAssFunc>
217{
218 m_vPrepareErrEstElemFct[id] = static_cast<PrepareErrEstElemFct>(func);
219};
220template <typename TLeaf, typename TDomain>
223 m_vPrepareErrEstElemFct[id] = NULL;
224};
226template <typename TLeaf, typename TDomain>
227template<typename TAssFunc>
230 m_vElemComputeErrEstAFct[id] = static_cast<ElemComputeErrEstAFct>(func);
232template <typename TLeaf, typename TDomain>
235 m_vElemComputeErrEstAFct[id] = NULL;
236};
237
238template <typename TLeaf, typename TDomain>
239template<typename TAssFunc>
241{
242 m_vElemComputeErrEstMFct[id] = static_cast<ElemComputeErrEstMFct>(func);
243};
244template <typename TLeaf, typename TDomain>
246{
247 m_vElemComputeErrEstMFct[id] = NULL;
248};
249
250template <typename TLeaf, typename TDomain>
251template<typename TAssFunc>
253{
254 m_vElemComputeErrEstRhsFct[id] = static_cast<ElemComputeErrEstRhsFct>(func);
255};
256template <typename TLeaf, typename TDomain>
258{
259 m_vElemComputeErrEstRhsFct[id] = NULL;
260};
261
262template <typename TLeaf, typename TDomain>
263template<typename TAssFunc>
265{
266 m_vFinishErrEstElemLoopFct[id] = static_cast<FinishErrEstElemLoopFct>(func);
267};
268template <typename TLeaf, typename TDomain>
270{
271 m_vFinishErrEstElemLoopFct[id] = NULL;
272};
273
274}
275
276#endif /* __H__UG__LIB_DISC__SPATIAL_DISC__ELEM_DISC__ELEM_DISC_INTERFACE_IMPL__ */
void set_prep_timestep_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:60
void set_prep_elem_loop_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:84
void remove_add_jac_M_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:125
void remove_prep_timestep_fct(size_t algebra_id)
current Geometric Object
Definition elem_disc_interface_impl.h:53
void remove_fsh_elem_loop_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:101
void set_add_jac_M_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:120
void remove_fsh_timestep_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:197
void set_fsh_elem_loop_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:96
void remove_prep_elem_loop_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:89
void set_fsh_timestep_fct(size_t algebra_id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:180
void remove_fsh_timestep_fct(size_t algebra_id)
current Geometric Object
Definition elem_disc_interface_impl.h:185
void set_prep_timestep_fct(size_t algebra_id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:48
void remove_add_def_M_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:161
void remove_add_rhs_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:173
void remove_add_jac_A_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:113
void set_add_def_A_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:132
void set_add_def_A_expl_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:144
void remove_add_def_A_expl_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:149
void remove_prep_timestep_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:65
void set_add_jac_A_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:108
void set_add_def_M_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:156
void set_add_rhs_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:168
void set_prep_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:72
void remove_prep_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:77
void remove_add_def_A_elem_fct(ReferenceObjectID id)
current Geometric Object
Definition elem_disc_interface_impl.h:137
void set_fsh_timestep_elem_fct(ReferenceObjectID id, TAssFunc func)
current Geometric Object
Definition elem_disc_interface_impl.h:192
void set_compute_err_est_A_elem(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:228
void set_prep_err_est_elem(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:216
void remove_compute_err_est_A_elem(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:233
void set_fsh_err_est_elem_loop(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:264
void set_prep_err_est_elem_loop(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:204
void remove_compute_err_est_M_elem(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:245
void remove_prep_err_est_elem_loop(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:209
void set_compute_err_est_rhs_elem(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:252
void remove_compute_err_est_rhs_elem(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:257
void remove_fsh_err_est_elem_loop(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:269
void set_compute_err_est_M_elem(ReferenceObjectID id, TAssFunc func)
Definition elem_disc_interface_impl.h:240
void remove_prep_err_est_elem(ReferenceObjectID id)
Definition elem_disc_interface_impl.h:221
the ug namespace
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition grid_base_objects.h:74
function func(x, y, z, t, si)