version 0.4.1
Ikarus::ScalarAssembler< FEC, DV > Class Template Reference

ScalarAssembler assembles scalar quantities. More...

#include <ikarus/assembler/simpleassemblers.hh>

Inheritance diagram for Ikarus::ScalarAssembler< FEC, DV >:
[legend]

Public Types

using Basis = typename DV::Basis
 Type of the basis. More...
 
using DirichletValuesType = DV
 Type of the Dirichlet values. More...
 
using FEContainer = FEC
 Type of the finite element container. More...
 
using FERequirementType = typename FEContainerRaw::value_type::FERequirementType
 Type of the finite element requirement. More...
 
using GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex
 Type of the global index. More...
 
using GridView = typename Basis::GridView
 Type of the grid view. More...
 
using FEContainerType = std::conditional_t< std::is_reference_v< FEContainer >, const FEContainer, FEContainer >
 Type of the finite element container (reference or by value). More...
 

Public Member Functions

 ScalarAssembler (FEContainer &&fes, const DirichletValuesType &dirichletValues)
 Constructor for ScalarAssembler. More...
 
const double & getScalar (const FERequirementType &feRequirements)
 Calculates the scalar quantity requested by feRequirements and returns a reference. More...
 
size_t reducedSize ()
 Returns the size of the free degrees of freedom, which are not fixed by a Dirichlet boundary condition. More...
 
size_t size ()
 Returns the size of nodes, i.e., the number of degrees of freedom. More...
 
Eigen::VectorXd createFullVector (Eigen::Ref< const Eigen::VectorXd > reducedVector)
 Creates the full-sized vector of size Dof and inserts the values of a reduced vector at the "free" degrees of freedom and writes a zero for the fixed doffs. More...
 
auto & finiteElements () const
 Returns the container of finite elements. More...
 
size_t constraintsBelow (size_t i) const
 Returns the number of constraints below a given degrees of freedom index. More...
 
bool isConstrained (size_t i) const
 Returns true if a given degree of freedom is fixed by a Dirichlet boundary condition. More...
 
size_t estimateOfConnectivity () const
 Coarse estimate of node connectivity, i.e., this relates to the bandwidth of a sparse matrix. This estimate overestimates the real connectivity and should only be used for allocating vectors. More...
 

Detailed Description

template<typename FEC, typename DV>
class Ikarus::ScalarAssembler< FEC, DV >
Template Parameters
FECType of the finite element container.
DVType of the Dirichlet values.

Member Typedef Documentation

◆ Basis

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::Basis = typename DV::Basis

◆ DirichletValuesType

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::DirichletValuesType = DV

◆ FEContainer

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::FEContainer = FEC

◆ FEContainerType

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::FEContainerType = std::conditional_t<std::is_reference_v<FEContainer>, const FEContainer, FEContainer>
inherited

◆ FERequirementType

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::FERequirementType = typename FEContainerRaw::value_type::FERequirementType

◆ GlobalIndex

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex

◆ GridView

template<typename FEC , typename DV >
using Ikarus::FlatAssemblerBase< FEC, DV >::GridView = typename Basis::GridView
inherited

Constructor & Destructor Documentation

◆ ScalarAssembler()

template<typename FEC , typename DV >
Ikarus::ScalarAssembler< FEC, DV >::ScalarAssembler ( FEContainer &&  fes,
const DirichletValuesType dirichletValues 
)
inline
Parameters
fesFinite element container.
dirichletValuesReference to Dirichlet values.

Member Function Documentation

◆ constraintsBelow()

template<typename FEC , typename DV >
size_t Ikarus::FlatAssemblerBase< FEC, DV >::constraintsBelow ( size_t  i) const
inlineinherited
Parameters
iIndex of the degree of freedom.
Returns
Number of constraints below the given index.

◆ createFullVector()

template<typename B , typename FEC >
Eigen::VectorXd Ikarus::FlatAssemblerBase< B, FEC >::createFullVector ( Eigen::Ref< const Eigen::VectorXd >  reducedVector)
inherited
Parameters
reducedVectorReference to the reduced vector.
Returns
Eigen::VectorXd The full-sized vector.

◆ estimateOfConnectivity()

template<typename FEC , typename DV >
size_t Ikarus::FlatAssemblerBase< FEC, DV >::estimateOfConnectivity ( ) const
inlineinherited
Returns
Size_t Coarse estimate of node connectivity.

◆ finiteElements()

template<typename FEC , typename DV >
auto & Ikarus::FlatAssemblerBase< FEC, DV >::finiteElements ( ) const
inlineinherited
Returns
Reference to the finite element container.

◆ getScalar()

template<typename FEC , typename DV >
const double & Ikarus::ScalarAssembler< FEC, DV >::getScalar ( const FERequirementType feRequirements)
inline
Parameters
feRequirementsReference to the finite element requirements.
Returns
Const reference to the calculated scalar quantity.

◆ isConstrained()

template<typename FEC , typename DV >
bool Ikarus::FlatAssemblerBase< FEC, DV >::isConstrained ( size_t  i) const
inlineinherited
Parameters
iIndex of the degree of freedom.
Returns
True if the degree of freedom is fixed; false otherwise.

◆ reducedSize()

template<typename FEC , typename DV >
size_t Ikarus::FlatAssemblerBase< FEC, DV >::reducedSize ( )
inlineinherited
Returns
Size of the reduced degrees of freedom.

◆ size()

template<typename FEC , typename DV >
size_t Ikarus::FlatAssemblerBase< FEC, DV >::size ( )
inlineinherited
Returns
Size of the degrees of freedom.

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