Bembel
 
Loading...
Searching...
No Matches
LinearForm.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_LINEARFORM_LINEARFORM_HPP_
12#define BEMBEL_SRC_LINEARFORM_LINEARFORM_HPP_
13
14namespace Bembel {
24template <typename Derived>
26 enum { YOU_DID_NOT_SPECIFY_LINEARFORM_TRAITS = 1 };
27};
28
37template <typename Derived, typename Scalar>
39 // Constructors
41
42 // the user has to provide the implementation of this function, which
43 // tells
44 // is able to evaluate the integrand of the Galerkin formulation in a
45 // pair
46 // of quadrature points represented as a
47 // Surface point [xi; w; Chi(xi); dsChi(xi); dtChi(xi)]
48 template <class T>
49 void evaluateIntegrand(
50 const T &super_space, const SurfacePoint &p,
51 Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> *intval) const {
52 static_cast<const Derived *>(this)->evaluateLinearForm_impl(super_space, p,
53 intval);
54 return;
55 }
56 // pointer to the derived object
57 Derived &derived() { return *static_cast<Derived *>(this); }
58 // const pointer to the derived object
59 const Derived &derived() const { return *static_cast<const Derived *>(this); }
60};
61} // namespace Bembel
62#endif // BEMBEL_SRC_LINEARFORM_LINEARFORM_HPP_
Eigen::Matrix< double, 12, 1 > SurfacePoint
typedef of SurfacePoint
Routines for the evalutation of pointwise errors.
constexpr int getFunctionSpaceOutputDimension()
This class provides a blueprint for the class that needs to be specialized for assembly of the right ...
This class needs to be specialized, such that key traits for user defined LinearForms are available.