The FlatAssemblerBase takes care of common subtasks done by flat assemblers. More...
#include <ikarus/assembler/simpleassemblers.hh>
Public Types | |
| using | FEContainerRaw = std::remove_cvref_t< FEC > |
| Type of the raw 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 | 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. 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... | |
| using | DirichletValuesType = DV |
| Type of the Dirichlet values. More... | |
Public Member Functions | |
| FlatAssemblerBase (FEContainer &&fes, const 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 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... | |
| FEC | Type of the finite element container. |
| DV | Type of the Dirichlet values. |
| 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 >::FEContainerType = std::conditional_t<std::is_reference_v<FEContainer>, const FEContainer, FEContainer> |
| using Ikarus::FlatAssemblerBase< FEC, DV >::FERequirementType = typename FEContainerRaw::value_type::FERequirementType |
| using Ikarus::FlatAssemblerBase< FEC, DV >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex |
| using Ikarus::FlatAssemblerBase< FEC, DV >::GridView = typename Basis::GridView |
|
inline |
| fes | Finite element container. |
| dirichletValues | Reference to Dirichlet values. |
|
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. |
|
inline |
|
inline |
|
inline |
| i | Index of the degree of freedom. |
|
inline |
|
inline |