11#ifndef BEMBEL_SRC_LINEARFORM_DISCRETELINEARFORM_HPP_
12#define BEMBEL_SRC_LINEARFORM_DISCRETELINEARFORM_HPP_
20template <
typename Derived,
typename LinOp>
51 auto polynomial_degree =
super_space.get_polynomial_degree();
52 auto polynomial_degree_plus_one_squared =
53 (polynomial_degree + 1) * (polynomial_degree + 1);
56 Eigen::Matrix<typename LinearFormTraits<Derived>::Scalar, Eigen::Dynamic,
59 Eigen::Matrix<typename LinearFormTraits<Derived>::Scalar, Eigen::Dynamic,
67 for (
auto i = 0;
i <
Q.w_.size(); ++
i) {
73 polynomial_degree_plus_one_squared,
78 Eigen::Map<Eigen::Matrix<typename LinearOperatorTraits<LinOp>::Scalar,
87 void set_degree(
const int °) { deg_ = deg; }
91 Derived &get_linear_form() {
return lf_; }
92 const Eigen::Matrix<typename LinearFormTraits<Derived>::Scalar,
94 &get_discrete_linear_form()
const {
103 Eigen::Matrix<typename LinearFormTraits<Derived>::Scalar, Eigen::Dynamic, 1>
105 AnsatzSpace<LinOp> ansatz_space_;
The AnsatzSpace is the class that handles the assembly of the discrete basis.
int get_polynomial_degree() const
Retrieves the polynomial degree of this AnsatzSpace.
const SuperSpace< Derived > & get_superspace() const
Retrieves the reference to the SuperSpace associated with this AnsatzSpace.
const Eigen::SparseMatrix< double > & get_transformation_matrix() const
Retrieves the transformation matrix associated with this AnsatzSpace.
This class organizes an element structure on a Geometry object and handles refinement.
int get_number_of_elements() const
Return number of elements in the ElementTree.
Eigen::Matrix< double, 12, 1 > SurfacePoint
typedef of SurfacePoint
Routines for the evalutation of pointwise errors.
constexpr int getFunctionSpaceOutputDimension()