DUNE-FUNCTIONS (unstable)
A grid function induced by a global basis and a coefficient vector. More...
#include <dune/functions/gridfunctions/discreteglobalbasisfunction.hh>
Public Member Functions | |
| template<class B_T , class V_T , class NTRE_T > | |
| DiscreteGlobalBasisFunction (B_T &&basis, V_T &&coefficients, NTRE_T &&nodeToRangeEntry) | |
Create a grid-function, by wrapping the arguments in std::shared_ptr. | |
| DiscreteGlobalBasisFunction (std::shared_ptr< const Basis > basis, std::shared_ptr< const V > coefficients, std::shared_ptr< const typename Base::NodeToRangeEntry > nodeToRangeEntry) | |
Create a grid-function, by moving the arguments in std::shared_ptr. | |
| Range | operator() (const Domain &x) const |
| Evaluate at a point given in world coordinates. More... | |
| const Basis & | basis () const |
| Return a const reference to the stored basis. | |
| const Vector & | dofs () const |
| Return the coefficients of this discrete function by reference. | |
| const NodeToRangeEntry & | nodeToRangeEntry () const |
| Return the stored node-to-range map. | |
| const EntitySet & | entitySet () const |
| Get associated set of entities the local-function can be bound to. | |
Friends | |
| DiscreteGlobalBasisFunctionDerivative< DiscreteGlobalBasisFunction > | derivative (const DiscreteGlobalBasisFunction &f) |
Derivative of the DiscreteGlobalBasisFunction | |
| LocalFunction | localFunction (const DiscreteGlobalBasisFunction &t) |
| Construct local function from a DiscreteGlobalBasisFunction. More... | |
Related Functions | |
(Note that these are not member functions.) | |
| template<typename R , typename B , typename V > | |
| auto | makeDiscreteGlobalBasisFunction (B &&basis, V &&vector) |
| Generate a DiscreteGlobalBasisFunction. More... | |
Detailed Description
class Dune::Functions::DiscreteGlobalBasisFunction< B, V, NTRE, R >
A grid function induced by a global basis and a coefficient vector.
This implements the grid function interface by combining a given global basis and a coefficient vector.
This class supports mapping of subtrees to multi-component ranges, vector-valued shape functions, and implicit product spaces given by vector-valued coefficients. The mapping of these to the range type is done via the following multistage procedure:
1.Each leaf node in the local ansatz subtree is associated to an entry RE of the range-type via the given node-to-range-entry-map. Based on this mapping each node is processed independently in the following way:
2.Now let the coefficients type C per basis function be dim_C-dimensional. Then we compute the dim(C) linear combinations (one for each coefficient index) of the shape function values with type V independently storing them in a std::array<V,dim_C>.
3.Finally the resulting array of function values is assigned to the nodal range entry RE. Since both types may be different their entries are mapped to one another via flatVectorView(). This will recursive enumerate the entries of the types in lexicographic order (unless flatVectorView is specialized differently for a certain type).
As a consequence the nodal range entry is required to have a total dimension dim_RE = dim_C * dim_V and to be compatible with flatVectorView().
- Template Parameters
-
B Type of global basis V Type of coefficient vectors NTRE Type of node-to-range-entry-map that associates each leaf node in the local ansatz subtree with an entry in the range type R Range type of this function
Requirements:
- Type
Ris default constructible - default constructed
Rhas correct "shape" to hold the components of the range and to be accessible using the node-to-range-entry mapNTRE. - This requirements applies recursively to the derivative ranges.
Member Function Documentation
◆ operator()()
|
inline |
Evaluate at a point given in world coordinates.
- Warning
- This has to find the element that the evaluation point is in. It is therefore very slow.
Friends And Related Function Documentation
◆ localFunction
|
friend |
Construct local function from a DiscreteGlobalBasisFunction.
The obtained local function satisfies the concept Dune::Functions::Concept::LocalFunction. It must be bound to an entity from the entity set of the DiscreteGlobalBasisFunction before it can be used.
The documentation for this class was generated from the following file:
- dune/functions/gridfunctions/discreteglobalbasisfunction.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Nov 2, 23:43, 2025)