Bembel
Bembel::Glue< Derived > Class Template Reference

This class takes care of identifying DOFs on different edges, which must be identified with one another. More...

#include <Glue.hpp>

Detailed Description

template<typename Derived>
class Bembel::Glue< Derived >

This class takes care of identifying DOFs on different edges, which must be identified with one another.

The Glue class has routines to assemble continuous B-splines across patch boundaries depending on the template parameter LinearOperatorTraits<Derived>::Form. If this template parameter is equal to DifferentialForm::Continuous, the B-splines are globally glued continuously. Otherwise, it can also be DifferentialForm::DivConforming, in which case the normal component is glued continuously. Finally, there is the option of not gluing the B-splines at all if the parameter is DifferentialForm::Discontinuous.

Definition at line 76 of file Glue.hpp.

Public Member Functions

 Glue (const SuperSpace< Derived > &superspace, const Projector< Derived > &proj)
 Constructor for the Glue class. More...
 
void init_Glue (const SuperSpace< Derived > &superspace, const Projector< Derived > &proj)
 Initializes the AnsatzSpace object. More...
 
Eigen::SparseMatrix< double > get_glue_matrix () const
 Returns Glue matrix to assemble continuous B-splines. More...
 
std::vector< GlueRoutines::dofIdentificationmakeDofIdentificationList (const SuperSpace< Derived > &superspace, const Projector< Derived > &proj)
 Generates a list of degrees of freedom (DOFs) identifications. More...
 
Eigen::SparseMatrix< double > assembleGlueMatrix (const SuperSpace< Derived > &superspace, const Projector< Derived > &proj)
 Assembles the Glue matrix according to the DOF identification list. More...
 

Constructor & Destructor Documentation

◆ Glue()

template<typename Derived >
Bembel::Glue< Derived >::Glue ( const SuperSpace< Derived > &  superspace,
const Projector< Derived > &  proj 
)
inline

Constructor for the Glue class.

This constructor initializes a Glue object with the provided SuperSpace and Projector objects.

Parameters
superspaceThe SuperSpace to handle the basis functions.
projThe Projector which provides information on the dofs before gluing.

Definition at line 92 of file Glue.hpp.

Member Function Documentation

◆ assembleGlueMatrix()

template<typename Derived >
Eigen::SparseMatrix<double> Bembel::Glue< Derived >::assembleGlueMatrix ( const SuperSpace< Derived > &  superspace,
const Projector< Derived > &  proj 
)
inline

Assembles the Glue matrix according to the DOF identification list.

This function first sorts the DOFs in each identification list. Than the identification lists get sorted according to the first entries. After that the DOFs get stored in the Glue matrix.

Parameters
superspaceThe SuperSpace reference to handle basis functions.
projThe Projector contains the number of DOFs.
Returns
The Glue matrix.

Definition at line 153 of file Glue.hpp.

◆ get_glue_matrix()

template<typename Derived >
Eigen::SparseMatrix<double> Bembel::Glue< Derived >::get_glue_matrix ( ) const
inline

Returns Glue matrix to assemble continuous B-splines.

This function returns the Glue matrix which transforms smooth B-splines to continuous shape functions across patch boundaries. If continuity is not needed this matrix is the identity. Other wise this matrix is a tall thin matrix combining degrees of freedom.

Returns
Eigen::SparseMatrix<double> Glue matrix

Definition at line 120 of file Glue.hpp.

◆ init_Glue()

template<typename Derived >
void Bembel::Glue< Derived >::init_Glue ( const SuperSpace< Derived > &  superspace,
const Projector< Derived > &  proj 
)
inline

Initializes the AnsatzSpace object.

This function initializes the member variables of the Glue object.

Parameters
superspaceThe SuperSpace to handle the basis functions.
projThe Projector which provides information on the dofs before gluing.

Definition at line 104 of file Glue.hpp.

◆ makeDofIdentificationList()

template<typename Derived >
std::vector<GlueRoutines::dofIdentification> Bembel::Glue< Derived >::makeDofIdentificationList ( const SuperSpace< Derived > &  superspace,
const Projector< Derived > &  proj 
)
inline

Generates a list of degrees of freedom (DOFs) identifications.

This function creates a list of degrees of freedom (DOFs) identifications which need to be glued together. The return type is a std::vector of GlueRoutines::dofIdentification which collects the DOFs to be glued. Furthermore, the coef in this struct denotes the orientation.

Parameters
superspaceThe SuperSpace reference to handle basis functions.
projThe Projector contains the number of DOFs.
Returns
A vector of GlueRoutines::dofIdentification containing the DOF identifications.

Definition at line 134 of file Glue.hpp.


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