5 #include <amdis/GridFunctionOperator.hpp> 6 #include <amdis/common/StaticSize.hpp> 22 template <
class LC,
class Gr
idFct>
29 static_assert( static_size_v<typename GridFct::Range> == 1,
"Expression must be of scalar type." );
36 template <
class CG,
class Node,
class Vec>
37 void getElementVector(CG
const& contextGeo, Node
const& node, Vec& elementVector)
39 static_assert(Node::isLeaf,
"Operator can be applied to Leaf-Nodes only");
41 auto const& quad = this->getQuadratureRule(contextGeo.type(), node);
42 std::size_t size = node.size();
44 for (
auto const& qp : quad) {
46 auto&& local = contextGeo.local(qp.position());
49 auto factor = contextGeo.integrationElement(qp.position()) * qp.weight();
50 factor *= Super::coefficient(local);
52 auto const& shapeValues = node.localBasisValuesAt(local);
53 for (std::size_t i = 0; i < size; ++i) {
54 const auto local_i = node.localIndex(i);
55 elementVector[local_i] += factor * shapeValues[i];
The base-template for GridFunctionOperators.
Definition: GridFunctionOperator.hpp:242
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
Definition: ZeroOrderTest.hpp:17
The main implementation of an CRTP-base class for operators using a grid-function coefficient to be u...
Definition: GridFunctionOperator.hpp:39