Bembel
Loading...
Searching...
No Matches
DifferentialFormEnum.hpp
1
// This file is part of Bembel, the higher order C++ boundary element library.
2
//
3
// Copyright (C) 2022 see <http://www.bembel.eu>
4
//
5
// It was written as part of a cooperation of J. Doelz, H. Harbrecht, S. Kurz,
6
// M. Multerer, S. Schoeps, and F. Wolf at Technische Universitaet Darmstadt,
7
// Universitaet Basel, and Universita della Svizzera italiana, Lugano. This
8
// source code is subject to the GNU General Public License version 3 and
9
// provided WITHOUT ANY WARRANTY, see <http://www.bembel.eu> for further
10
// information.
11
#ifndef BEMBEL_SRC_LINEAROPERATOR_DIFFERENTIALFORMENUM_HPP_
12
#define BEMBEL_SRC_LINEAROPERATOR_DIFFERENTIALFORMENUM_HPP_
13
14
namespace
Bembel
{
20
struct
DifferentialForm
{
21
enum
{ Continuous = 0, DivConforming = 1, Discontinuous = 2 };
22
};
23
29
template
<
unsigned
int
DifferentialForm,
typename
Scalar>
30
struct
DifferentialFormTraits
{
31
// empty, only to be used in its specialization
32
};
36
template
<
typename
Scalar>
37
struct
DifferentialFormTraits
<
DifferentialForm
::Continuous, Scalar> {
38
enum
{ FunctionSpaceVectorDimension = 1, FunctionSpaceOutputDimension = 1 };
39
40
typedef
Scalar FunctionSpaceValue;
41
};
46
template
<
typename
Scalar>
47
struct
DifferentialFormTraits
<
DifferentialForm
::DivConforming, Scalar> {
48
enum
{ FunctionSpaceVectorDimension = 2, FunctionSpaceOutputDimension = 3 };
49
50
typedef
Eigen::Matrix<Scalar, 3, 1> FunctionSpaceValue;
51
};
56
template
<
typename
Scalar>
57
struct
DifferentialFormTraits
<
DifferentialForm
::Discontinuous, Scalar> {
58
enum
{ FunctionSpaceVectorDimension = 1, FunctionSpaceOutputDimension = 1 };
59
60
typedef
Scalar FunctionSpaceValue;
61
};
62
66
template
<
unsigned
int
DF>
67
constexpr
int
getFunctionSpaceVectorDimension
() {
68
return
DifferentialFormTraits<DF, double>::FunctionSpaceVectorDimension
;
69
}
70
74
template
<
unsigned
int
DF>
75
constexpr
int
getFunctionSpaceOutputDimension
() {
76
return
DifferentialFormTraits<DF, double>::FunctionSpaceOutputDimension
;
77
}
78
79
}
// namespace Bembel
80
81
#endif
// BEMBEL_SRC_LINEAROPERATOR_DIFFERENTIALFORMENUM_HPP_
Bembel
Routines for the evalutation of pointwise errors.
Definition
AnsatzSpace.hpp:14
Bembel::getFunctionSpaceOutputDimension
constexpr int getFunctionSpaceOutputDimension()
Definition
DifferentialFormEnum.hpp:75
Bembel::getFunctionSpaceVectorDimension
constexpr int getFunctionSpaceVectorDimension()
Definition
DifferentialFormEnum.hpp:67
Bembel::DifferentialForm
Provides information about the discrete space required for the discretisation of a specific operator.
Definition
DifferentialFormEnum.hpp:20
Bembel::DifferentialFormTraits
struct containing specifications on DifferentialForms, i.e., the function spaces.
Definition
DifferentialFormEnum.hpp:30
Bembel
src
LinearOperator
DifferentialFormEnum.hpp
Generated on Wed Jul 22 2026 15:06:29 for Bembel by
1.9.8