Flow123d
release_3.0.0-862-g55edb54
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
flow123d
src
fields
field_instances.hh
Go to the documentation of this file.
1
/*!
2
*
3
* Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License version 3 as published by the
7
* Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
*
13
*
14
* @file field_instances.hh
15
* @brief
16
*/
17
18
#ifndef FIELD_INSTANCES_HH_
19
#define FIELD_INSTANCES_HH_
20
21
/****************************************************************************
22
* Macros for explicit instantiation of particular field class template.
23
*/
24
25
26
// Instantiation of fields with values dependent of the dimension of range space
27
#define INSTANCE_DIM_DEP_VALUES( field, dim_from, dim_to) \
28
template class field<dim_from, FieldValue<dim_to>::VectorFixed >; \
29
template class field<dim_from, FieldValue<dim_to>::TensorFixed >; \
30
31
// Instantiation of fields with domain in the ambient space of dimension @p dim_from
32
#define INSTANCE_TO_ALL(field, dim_from) \
33
template class field<dim_from, FieldValue<0>::Enum >; \
34
template class field<dim_from, FieldValue<0>::Integer >; \
35
template class field<dim_from, FieldValue<0>::Scalar >; \
36
\
37
INSTANCE_DIM_DEP_VALUES( field, dim_from, dim_from) \
38
39
40
// All instances of one field class template @p field.
41
// currently we need only fields on 3D ambient space (and 2D for some tests)
42
// so this is to save compilation time and avoid memory problems on the test server
43
#define INSTANCE_ALL(field) \
44
INSTANCE_TO_ALL( field, 3)
45
//INSTANCE_TO_ALL( field, 2)
46
// currently we use only 3D ambient space, we can't use 2D fields now, because we are in conflict
47
// with methods in ComputeIntersection and Mapping that used element accessor
48
49
50
#endif
/* FIELD_INSTANCES_HH_ */
Generated by
1.8.11