1#ifndef PROJECTS_DPG_PRODUCT_ELEMENT_VECTOR_PROVIDER_BUILDER
2#define PROJECTS_DPG_PRODUCT_ELEMENT_VECTOR_PROVIDER_BUILDER
5#include "loc_comp_dpg.h"
6#include "product_element_vector_provider.h"
28template <
typename SCALAR>
68 template <
typename FUNCTOR>
76 std::shared_ptr<ProductElementVectorProvider<SCALAR>>
Build();
86 std::vector<std::shared_ptr<SubElementVectorProvider<SCALAR>>>
subproviders_;
89template <
typename SCALAR>
90template <
typename FUNCTOR>
94 subproviders_.push_back(
96 fe_space_test_, test_component, f));
100template <
typename SCALAR>
101std::shared_ptr<ProductElementVectorProvider<SCALAR>>
103 auto provider = std::make_shared<ProductElementVectorProvider<SCALAR>>(
104 fe_space_test_, subproviders_);
Class for local quadrature based computations of sub vectors corresponding to load vectors.
Builder class to build a ProductElementVectorProvider.
~ProductElementVectorProviderBuilder()=default
default destructor
std::vector< std::shared_ptr< SubElementVectorProvider< SCALAR > > > subproviders_
vector of Element Vector Providers representing already added linear forms
std::shared_ptr< ProductUniformFESpace< SCALAR > > fe_space_test_
collection of specifications for the test space
ProductElementVectorProviderBuilder & AddLoadElementVectorProvider(size_type test_component, FUNCTOR f)
Adds a linear form to representing a simple load linear form.
ProductElementVectorProviderBuilder(ProductElementVectorProviderBuilder &&) noexcept=delete
ProductElementVectorProviderBuilder(const ProductElementVectorProviderBuilder &)=delete
standard constructor
std::shared_ptr< ProductElementVectorProvider< SCALAR > > Build()
Build the ProductElementVectorProvider based on the provided linear forms.
Contains functionality for the implementation of DPG methods.
lf::uscalfe::size_type size_type
Type for vector length/matrix sizes.