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

Base class for a wrapper to a matrix 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 MatrixType = typename Assembler::MatrixType
 
using Interface = MatrixAssembler< WrappedAssembler, typename Assembler::FEContainer, typename Assembler::DirichletValuesType, typename Assembler::MatrixType >
 
using FunctionType = std::function< void(const Assembler &, const FERequirement &, MatrixAffordance, DBCOption, MatrixType &)>
 

Public Member Functions

template<typename F >
requires Concepts::IsFunctorWithArgs<F, const Assembler&, const FERequirement&, MatrixAffordance, DBCOption, MatrixType&>
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< FunctionTypemfs
 

Protected Member Functions

MatrixTypegetRawMatrixImpl (const FERequirement &feRequirements, MatrixAffordance affordance)
 
MatrixTypegetMatrixImpl (const FERequirement &feRequirements, MatrixAffordance affordance)
 
MatrixTypegetReducedMatrixImpl (const FERequirement &feRequirements, MatrixAffordance affordance)
 

Detailed Description

template<typename Wrapper, typename Assembler>
struct Ikarus::MatrixManipulator< 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::MatrixManipulator< Wrapper, Assembler >::DV = typename Assembler::DirichletValuesType

◆ FEC

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

◆ FERequirement

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

◆ FunctionType

template<typename Wrapper , typename Assembler >
using Ikarus::MatrixManipulator< Wrapper, Assembler >::FunctionType = std::function<void(const Assembler&, const FERequirement&, MatrixAffordance, DBCOption, MatrixType&)>

◆ Interface

template<typename Wrapper , typename Assembler >
using Ikarus::MatrixManipulator< Wrapper, Assembler >::Interface = MatrixAssembler<WrappedAssembler, typename Assembler::FEContainer, typename Assembler::DirichletValuesType, typename Assembler::MatrixType>

◆ MatrixType

template<typename Wrapper , typename Assembler >
using Ikarus::MatrixManipulator< Wrapper, Assembler >::MatrixType = typename Assembler::MatrixType

◆ WrappedAssembler

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

Member Function Documentation

◆ bind()

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

◆ getMatrixImpl()

template<typename Wrapper , typename Assembler >
MatrixType & Ikarus::MatrixManipulator< Wrapper, Assembler >::getMatrixImpl ( const FERequirement feRequirements,
MatrixAffordance  affordance 
)
inlineprotected

◆ getRawMatrixImpl()

template<typename Wrapper , typename Assembler >
MatrixType & Ikarus::MatrixManipulator< Wrapper, Assembler >::getRawMatrixImpl ( const FERequirement feRequirements,
MatrixAffordance  affordance 
)
inlineprotected

◆ getReducedMatrixImpl()

template<typename Wrapper , typename Assembler >
MatrixType & Ikarus::MatrixManipulator< Wrapper, Assembler >::getReducedMatrixImpl ( const FERequirement feRequirements,
MatrixAffordance  affordance 
)
inlineprotected

Member Data Documentation

◆ Interface

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

◆ mfs

template<typename Wrapper , typename Assembler >
std::vector<FunctionType> Ikarus::MatrixManipulator< Wrapper, Assembler >::mfs

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