version 0.4.1
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

const MatrixTypematrix (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...
 
const MatrixTypematrix (DBCOption dbcOption)
 Calculates the matrix quantity requested by the bound feRequirements and the affordance. More...
 
const MatrixTypematrix ()
 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 >
const 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 >
const 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 >
const 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: