The basic container that stores a base vector and a corresponding basis. More...
#include <LinearForm.hpp>
Inherits VectorFacade< double, Traits::template Vector< GB >::template Impl >, and Observer< event::adapt >.
Public Types | |
| using | GlobalBasis = GB | 
| The type of the functionspace basis associated to this linearform.  | |
| using | CoefficientType = T | 
| The type of the elements of the DOFVector.  | |
| using | ElementVector = FlatVector< CoefficientType > | 
| The type of the vector filled on an element with local contributions.  | |
  Public Types inherited from VectorFacade< double, Traits::template Vector< GB >::template Impl > | |
| using | size_type = typename Impl::size_type | 
| using | value_type = typename Impl::value_type | 
| using | HasLocalSize = decltype(std::declval< V >().localSize()) | 
| using | HasGlobalSize = decltype(std::declval< V >().globalSize()) | 
Public Member Functions | |
| LinearForm (std::shared_ptr< GB > const &basis) | |
| Constructor. Stores the shared_ptr of the basis and creates a new DataTransfer.  | |
| template<class GB_ , REQUIRES(Concepts::Similar< GB_, GB >) > | |
| LinearForm (GB_ &&basis) | |
| Wraps the passed global basis into a (non-destroying) shared_ptr.  | |
| GlobalBasis const & | basis () const | 
| template<class LocalView , REQUIRES(Concepts::LocalView< LocalView >) > | |
| void | assemble (LocalView const &localView) | 
| Assemble the vector operators on the bound element.  | |
| void | assemble () | 
| Assemble all vector operators added by addOperator().  | |
| auto & | assembler () | 
| void | updateImpl (event::adapt e) override | 
| Update all operators on the updated gridView.  | |
| template<class ContextTag , class Expr , class TreePath > | |
| void | addOperator (ContextTag contextTag, Expr const &expr, TreePath path) | 
| template<class ContextTag , class Operator , class TreePath > | |
| void | addOperator (ContextTag contextTag, Operator const &op, TreePath path) | 
| Associate a local operator with this LinearForm.  More... | |
| template<class Operator , class TreePath = RootTreePath> | |
| void | addOperator (Operator const &op, TreePath path={}) | 
| template<class Operator , class TreePath = RootTreePath> | |
| void | addIntersectionOperator (Operator const &op, TreePath path={}) | 
  Public Member Functions inherited from VectorFacade< double, Traits::template Vector< GB >::template Impl > | |
| VectorFacade (GlobalBasis const &basis) | |
| Impl const & | impl () const | 
| Return the underlying linear algebra backend.  | |
| Impl & | impl () | 
| std::size_t | localSize () const | 
| Return the number of entries in the local part of the vector.  | |
| std::size_t | globalSize () const | 
| Return the number of entries in the global vector.  | |
| void | resize (Basis const &basis) | 
| Resize the vector to the size of the basis.  | |
| void | resizeZero (Basis const &basis) | 
| Resize the vector to the size of the basis and set to zero.  | |
| void | init (Basis const &basis, bool clear) | 
| void | finish () | 
| Finish the insertion of values, see init()  | |
| void | insert (Index const &idx, typename Impl::value_type const &value, Assign assign={}) | 
| Insert a single value into the matrix (add or overwrite to existing value)  More... | |
| void | set (Index const &idx, typename Impl::value_type const &value) | 
| See insert for assignment operation Assigner::assign.  | |
| void | add (Index const &idx, typename Impl::value_type const &value) | 
| See insert for assignment operation Assigner::plus_assign.  | |
| Impl::value_type | get (Index const &idx) const | 
| Return the value of the vector at the local index idx.  | |
| void | gather (LocalView const &localView, Node const &node, Buffer &buffer) const | 
| Extract values from the vector referring to the given local indices and store it into a buffer.  More... | |
| void | gather (LocalView const &localView, Buffer &buffer) const | 
| void | gather (std::vector< Index > const &indices, Buffer &buffer) | 
Call gather the values associated to the indices into the buffer.  | |
| void | scatter (LocalView const &localView, Node const &node, NodeVector const &localVector, MaskRange const &mask, Assign assign) | 
| Insert a block of values into the vector (add or overwrite to existing values)  More... | |
| void | scatter (LocalView const &localView, Node const &node, NodeVector const &localVector, Assign assign) | 
Call scatter with MaskRange set to FakeContainer.  | |
| void | scatter (LocalView const &localView, LocalVector const &localVector, Assign assign) | 
Call scatter with Node given by the tree of the localView.  | |
| void | scatter (std::vector< Index > const &indices, Buffer const &values) | 
Call scatter the values associated to the indices into the vector.  | |
| void | forEach (LocalInd const &localInd, Func &&func) | 
Apply func to each value at given indices localInd.  More... | |
| void | forEach (LocalInd const &localInd, Func &&func) const | 
Apply func to each value at given indices localInd.  More... | |
The basic container that stores a base vector and a corresponding basis.
A vector storing all the assembled Operators indexed with DOF indices. The vector data is associated to a global basis.
| GB | Basis of the vector | 
| T | Coefficient type to store in the vector | 
| Traits | Collection of parameter for the linear-algebra backend | 
| void addOperator | ( | ContextTag | contextTag, | 
| Operator const & | op, | ||
| TreePath | path | ||
| ) | 
Associate a local operator with this LinearForm.
Stores an operator in a list that gets assembled during a call to assemble(). The operator may be assigned to a specific context, i.e. either an element operator, an intersection operator, or a boundary operator. The path tree paths specify the sub-basis for test functions the operator is applied to.
| ContextTag | One of tag::element_operator, tag::intersection_operator or BoundarySubset indicating where to assemble this operator. | 
| Operator | An (pre-)operator that can be bound to a gridView, or a valid GridOperator. | 
| path | A tree-path for the Basis | 
[[expects: path is valid tree-path in Basis]]