version 0.4.1
Ikarus::VectorManipulator< Wrapper, Assembler > Struct Template Reference

Base class for a wrapper to a vector assembler. More...

#include <ikarus/assembler/assemblermanipulatorbuildingblocks.hh>

Public Types

using WrappedAssembler = Wrapper
 
using FEC = typename Assembler::FEContainer
 
using DV = typename Assembler::DirichletValuesType
 
using FERequirement = typename Assembler::FERequirement
 
using VectorType = typename Assembler::VectorType
 
using Interface = VectorAssembler< WrappedAssembler, typename Assembler::FEContainer, typename Assembler::DirichletValuesType, typename Assembler::VectorType >
 
using FunctionType = std::function< void(const Assembler &, const FERequirement &, VectorAffordance, DBCOption, VectorType &)>
 

Public Member Functions

template<typename F >
requires Concepts::IsFunctorWithArgs<F, const Assembler&, const FERequirement&, VectorAffordance, DBCOption, VectorType&>
void bind (F &&f)
 A helper function to add functions that can be used to manipulate the assembled quantity. More...
 

Public Attributes

friend Interface
 
std::vector< FunctionTypevfs
 

Protected Member Functions

VectorTypegetRawVectorImpl (const FERequirement &feRequirements, VectorAffordance affordance)
 
VectorTypegetVectorImpl (const FERequirement &feRequirements, VectorAffordance affordance)
 
VectorTypegetReducedVectorImpl (const FERequirement &feRequirements, VectorAffordance affordance)
 

Detailed Description

template<typename Wrapper, typename Assembler>
struct Ikarus::VectorManipulator< Wrapper, Assembler >
Template Parameters
WrapperType of the wrapper to an assembler
AssemblerType of the assembler

Member Typedef Documentation

◆ DV

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::DV = typename Assembler::DirichletValuesType

◆ FEC

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::FEC = typename Assembler::FEContainer

◆ FERequirement

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::FERequirement = typename Assembler::FERequirement

◆ FunctionType

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::FunctionType = std::function<void(const Assembler&, const FERequirement&, VectorAffordance, DBCOption, VectorType&)>

◆ Interface

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::Interface = VectorAssembler<WrappedAssembler, typename Assembler::FEContainer, typename Assembler::DirichletValuesType, typename Assembler::VectorType>

◆ VectorType

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::VectorType = typename Assembler::VectorType

◆ WrappedAssembler

template<typename Wrapper , typename Assembler >
using Ikarus::VectorManipulator< Wrapper, Assembler >::WrappedAssembler = Wrapper

Member Function Documentation

◆ bind()

template<typename Wrapper , typename Assembler >
template<typename F >
requires Concepts::IsFunctorWithArgs<F, const Assembler&, const FERequirement&, VectorAffordance, DBCOption, VectorType&>
void Ikarus::VectorManipulator< Wrapper, Assembler >::bind ( F &&  f)
inline
Template Parameters
FType of the function
Parameters
fA function that manipulates the assembled quantity.

◆ getRawVectorImpl()

template<typename Wrapper , typename Assembler >
VectorType & Ikarus::VectorManipulator< Wrapper, Assembler >::getRawVectorImpl ( const FERequirement feRequirements,
VectorAffordance  affordance 
)
inlineprotected

◆ getReducedVectorImpl()

template<typename Wrapper , typename Assembler >
VectorType & Ikarus::VectorManipulator< Wrapper, Assembler >::getReducedVectorImpl ( const FERequirement feRequirements,
VectorAffordance  affordance 
)
inlineprotected

◆ getVectorImpl()

template<typename Wrapper , typename Assembler >
VectorType & Ikarus::VectorManipulator< Wrapper, Assembler >::getVectorImpl ( const FERequirement feRequirements,
VectorAffordance  affordance 
)
inlineprotected

Member Data Documentation

◆ Interface

template<typename Wrapper , typename Assembler >
friend Ikarus::VectorManipulator< Wrapper, Assembler >::Interface

◆ vfs

template<typename Wrapper , typename Assembler >
std::vector<FunctionType> Ikarus::VectorManipulator< Wrapper, Assembler >::vfs

The documentation for this struct was generated from the following file: