ScalarAssembler assembles scalar quantities. More...
#include <ikarus/assembler/simpleassemblers.hh>
Public Types | |
using | Basis = typename DirichletValuesType_::Basis |
Type of the basis. More... | |
using | DirichletValuesType = DirichletValuesType_ |
Type of the Dirichlet values. More... | |
using | FEContainer = FEContainer_ |
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... | |
FEContainer_ | Type of the finite element container. |
DirichletValuesType_ | Type of the Dirichlet values. |
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::Basis = typename DirichletValuesType_::Basis |
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::DirichletValuesType = DirichletValuesType_ |
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::FEContainer = FEContainer_ |
|
inherited |
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::FERequirementType = typename FEContainerRaw::value_type::FERequirementType |
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex |
|
inherited |
|
inline |
fes | Finite element container. |
dirichletValues_ | Reference to Dirichlet values. |
|
inlineinherited |
i | Index of the degree of freedom. |
|
inherited |
reducedVector | Reference to the reduced vector. |
|
inlineinherited |
|
inlineinherited |
|
inline |
feRequirements | Reference to the finite element requirements. |
|
inlineinherited |
i | Index of the degree of freedom. |
|
inlineinherited |
|
inlineinherited |