version 0.4.9
Ikarus::MatrixAssembler< MA, FEC, DV, MT > Class Template Reference

The MatrixAssembler provides an interface for an assembler that assembles matrix quantities. More...

#include <ikarus/assembler/interface.hh>

Inheritance diagram for Ikarus::MatrixAssembler< MA, FEC, DV, MT >:
[legend]

Public Types

using MatrixAssemblerType = MA
 
using MatrixType = MT
 
using FEContainerRaw = std::remove_cvref_t< FEC >
 Type of the raw finite element container. More...
 
using FERequirement = typename FEContainerRaw::value_type::Requirement
 Type of the finite element requirement. More...
 
using GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex
 Type of the global index. More...
 
using DirichletValuesType = DV
 
using FEContainer = FEC
 

Public Member Functions

MatrixType & matrix (const FERequirement &feRequirements, MatrixAffordance affordance, DBCOption dbcOption=DBCOption::Full)
 Calculates the matrix quantity requested by feRequirements and the affordance. For DBCOption::Full a zero is written on fixed degrees of freedom rows and columns, and a one is written on the diagonal. For DBCOption::Raw the untouched matrix is returned. For DBCOption::Reduced the matrix is reduced in size by removing the fixed degrees of freedom. More...
 
MatrixType & matrix (DBCOption dbcOption)
 Calculates the matrix quantity requested by the bound feRequirements and the affordance. More...
 
MatrixType & matrix ()
 Calculates the matrix quantity requested by the bound feRequirements, the affordance and the dBCOption. More...
 

Detailed Description

template<typename MA, typename FEC, typename DV, typename MT>
class Ikarus::MatrixAssembler< MA, FEC, DV, MT >
Template Parameters
MAType of the matrix assembler
FECType of the finite element container.
DVType of the Dirichlet values.
MTType of the matrix quantity

Member Typedef Documentation

◆ DirichletValuesType

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::DirichletValuesType = DV

◆ FEContainer

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::FEContainer = FEC

◆ FEContainerRaw

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::FEContainerRaw = std::remove_cvref_t<FEC>

◆ FERequirement

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::FERequirement = typename FEContainerRaw::value_type::Requirement

◆ GlobalIndex

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex

◆ MatrixAssemblerType

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::MatrixAssemblerType = MA

◆ MatrixType

template<typename MA , typename FEC , typename DV , typename MT >
using Ikarus::MatrixAssembler< MA, FEC, DV, MT >::MatrixType = MT

Member Function Documentation

◆ matrix() [1/3]

template<typename MA , typename FEC , typename DV , typename MT >
MatrixType & Ikarus::MatrixAssembler< MA, FEC, DV, MT >::matrix ( )
inline
See also
const Eigen::SparseMatrix<double>& matrix(const FERequirement& feRequirements,MatrixAffordance affordance, DBCOption dbcOption)
Returns
Const reference to the modified sparse matrix quantity.
Here is the caller graph for this function:

◆ matrix() [2/3]

template<typename MA , typename FEC , typename DV , typename MT >
MatrixType & Ikarus::MatrixAssembler< MA, FEC, DV, MT >::matrix ( const FERequirement &  feRequirements,
MatrixAffordance  affordance,
DBCOption  dbcOption = DBCOption::Full 
)
inline
Parameters
feRequirementsReference to the finite element requirements.
affordanceThe matrix affordance
dbcOptionThe DBCOption
Returns
Const reference to the modified sparse matrix quantity.

◆ matrix() [3/3]

template<typename MA , typename FEC , typename DV , typename MT >
MatrixType & Ikarus::MatrixAssembler< MA, FEC, DV, MT >::matrix ( DBCOption  dbcOption)
inline
See also
const Eigen::SparseMatrix<double>& matrix(const FERequirement& feRequirements,MatrixAffordance affordance, DBCOption dbcOption)
Parameters
dbcOptionThe DBCOption
Returns
Const reference to the modified sparse matrix quantity.

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