11#ifndef BEMBEL_SRC_POTENTIAL_POTENTIAL_HPP_
12#define BEMBEL_SRC_POTENTIAL_POTENTIAL_HPP_
16#include "../LinearOperator/DifferentialFormEnum.hpp"
17#include "../LinearOperator/LinearOperatorTraits.hpp"
18#include "../util/Macros.hpp"
27template <
typename Derived>
29 enum { YOU_DID_NOT_SPECIFY_POTENTIAL_TRAITS = 1 };
35template <
typename S,
typename T>
37 enum { RETURN_TYPE_ONLY_SPECIFIED_FOR_DOUBLE_OR_COMPLEX_DOUBLE = 1 };
45 typedef double Scalar;
53 typedef std::complex<double> Scalar;
61 typedef std::complex<double> Scalar;
69 typedef std::complex<double> Scalar;
80template <
typename Derived,
typename LinOp>
107 Derived &derived() {
return *
static_cast<Derived *
>(
this); }
109 const Derived &derived()
const {
return *
static_cast<const Derived *
>(
this); }
The AnsatzSpace is the class that handles the assembly of the discrete basis.
Eigen::Matrix< double, 12, 1 > SurfacePoint
typedef of SurfacePoint
Routines for the evalutation of pointwise errors.
constexpr int getFunctionSpaceOutputDimension()
constexpr int getFunctionSpaceVectorDimension()
struct containing specifications on the linear operator has to be specialized or derived for any part...
functional base class. this serves as a common interface for existing functionals.
Base case for specifying the return type of the potential.
struct containing specifications on the functional has to be specialized or derived for any particula...