The FlatAssemblerBase takes care of common subtasks done by flat assemblers. More...
#include <ikarus/assembler/interface.hh>
Public Types | |
| 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 | Basis = typename DV::Basis |
| Type of the basis. More... | |
| using | GridView = typename Basis::GridView |
| Type of the grid view. More... | |
| using | FEContainer = FEC |
| Type of the finite element container (reference or by value). More... | |
| using | DirichletValuesType = DV |
| Type of the Dirichlet values. More... | |
| using | SizeType = typename DirichletValuesType::SizeType |
| size_type of the container storing Dirichlet flags More... | |
| using | AffordanceCollectionType = AffordanceCollection< ScalarAffordance, VectorAffordance, MatrixAffordance > |
Public Member Functions | |
| template<typename FEContainer_ = FEContainer, typename DirichletValuesType_ = DirichletValuesType> | |
| FlatAssemblerBase (FEContainer_ &&fes, DirichletValuesType_ &&dirichletValues) | |
| Constructor for FlatAssemblerBase. 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 size() and inserts the values of a reduced vector at the "free" degrees of freedom and writes a zero for the fixed doffs. More... | |
| Eigen::VectorXd | createReducedVector (Eigen::Ref< const Eigen::VectorXd > fullVector) |
| Creates the reduzed-sized vector of size reducedSize() and inserts the values of a full vector at the "free" degrees of freedom. More... | |
| const auto & | finiteElements () const |
| Returns the container of finite elements. More... | |
| auto & | finiteElements () |
| Returns the container of finite elements. More... | |
| const auto & | dirichletValues () const |
| Returns the dirichlet value object. More... | |
| const auto & | gridView () const |
| Returns the gridView object. More... | |
| size_t | constraintsBelow (SizeType i) const |
| Returns the number of constraints below a given degrees of freedom index. More... | |
| bool | isConstrained (SizeType 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... | |
| void | bind (const FERequirement &req, AffordanceCollectionType affordanceCollection, DBCOption dbcOption=DBCOption::Full) |
| Binds the assembler to a set of finite element requirement and affordance. More... | |
| void | bind (const FERequirement &req) |
| Binds the assembler to a finite element requirement. More... | |
| void | bind (AffordanceCollectionType affordanceCollection) |
| Binds the assembler to an affordance collection. More... | |
| void | bind (DBCOption dbcOption) |
| Binds the assembler to an affordance collection. More... | |
| bool | bound () const |
| Returns true if the assembler is bound to a finite element requirement and affordance. More... | |
| bool | boundToRequirement () const |
| Returns true if the assembler is bound to a finite element requirement. More... | |
| bool | boundToAffordanceCollection () const |
| Returns true if the assembler is bound to an affordance collection. More... | |
| bool | boundToDBCOption () const |
| Returns true if the assembler is bound to an affordance collection. More... | |
| const FERequirement & | requirement () |
| Returns the requirement. More... | |
| AffordanceCollectionType | affordanceCollection () const |
| Returns the affordance. More... | |
| DBCOption | dBCOption () const |
| Returns the dirichlet boundary condition enforcement option. More... | |
| FEC | Type of the finite element container. |
| DV | Type of the Dirichlet values. |
| using Ikarus::FlatAssemblerBase< FEC, DV >::AffordanceCollectionType = AffordanceCollection<ScalarAffordance, VectorAffordance, MatrixAffordance> |
| using Ikarus::FlatAssemblerBase< FEC, DV >::Basis = typename DV::Basis |
| using Ikarus::FlatAssemblerBase< FEC, DV >::DirichletValuesType = DV |
| using Ikarus::FlatAssemblerBase< FEC, DV >::FEContainer = FEC |
| using Ikarus::FlatAssemblerBase< FEC, DV >::FEContainerRaw = std::remove_cvref_t<FEC> |
| using Ikarus::FlatAssemblerBase< FEC, DV >::FERequirement = typename FEContainerRaw::value_type::Requirement |
| using Ikarus::FlatAssemblerBase< FEC, DV >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex |
| using Ikarus::FlatAssemblerBase< FEC, DV >::GridView = typename Basis::GridView |
| using Ikarus::FlatAssemblerBase< FEC, DV >::SizeType = typename DirichletValuesType::SizeType |
|
inline |
| fes | Finite element container. |
| dirichletValues | Reference to Dirichlet values. |
|
inline |
|
inline |
| affordanceCollection | The affordance collection |
|
inline |
| req | Reference to the finite element requirement. |
|
inline |
| req | Reference to the finite element requirement. |
| affordanceCollection | The affordance collection |
|
inline |
| dbcOption | The EnforcingDBC option |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| i | Index of the degree of freedom. |
| Eigen::VectorXd Ikarus::FlatAssemblerBase< B, FEC >::createFullVector | ( | Eigen::Ref< const Eigen::VectorXd > | reducedVector | ) |
| reducedVector | Reference to the reduced vector. |
| Eigen::VectorXd Ikarus::FlatAssemblerBase< B, FEC >::createReducedVector | ( | Eigen::Ref< const Eigen::VectorXd > | fullVector | ) |
| fullVector | Reference to the full vector. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| i | Index of the degree of freedom. |
|
inline |
|
inline |
|
inline |