DenseFlatAssembler assembles matrix quantities using a flat basis Indexing strategy. The matrix is stored in a dense matrix format. This format is exploited during the assembly process.
More...
#include <ikarus/assembler/simpleassemblers.hh>
|
| DenseFlatAssembler (FEContainer &&fes, const DirichletValuesType &dirichletValues_) |
| < Type of the global index. More...
|
|
const Eigen::MatrixXd & | getRawMatrix (const FERequirementType &feRequirements) |
| Calculates the matrix quantity requested by feRequirements and returns a reference. More...
|
|
const Eigen::MatrixXd & | getMatrix (const FERequirementType &feRequirements) |
| Calculates the matrix quantity requested by feRequirements and returns a reference. A zero is written on fixed degrees of freedom rows and columns, and a one is written on the diagonal. More...
|
|
const Eigen::MatrixXd & | getReducedMatrix (const FERequirementType &feRequirements) |
| Calculates the matrix quantity requested by feRequirements and returns a reference. The size of the matrix has the size of the free degrees of freedom. More...
|
|
const Eigen::VectorXd & | getRawVector (const FERequirementType &feRequirements) |
| Calculates the vectorial quantity requested by feRequirements and returns a reference. More...
|
|
const Eigen::VectorXd & | getVector (const FERequirementType &feRequirements) |
| Calculates the vectorial quantity requested by feRequirements and returns a reference. A zero is written on fixed degrees of freedom. More...
|
|
const Eigen::VectorXd & | getReducedVector (const FERequirementType &feRequirements) |
| Calculates the vectorial quantity requested by feRequirements and returns a reference. This vector has a reduced size by the number of fixed degrees of freedom. 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...
|
|
template<typename FEContainer_, typename DirichletValuesType_>
class Ikarus::DenseFlatAssembler< FEContainer_, DirichletValuesType_ >
- Template Parameters
-
FEContainer_ | Type of the finite element container. |
DirichletValuesType_ | Type of the Dirichlet values. |
- Note
- Requires Ikarus::Concepts::FlatIndexBasis<BasisEmbedded>.
◆ Base
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ Basis
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ DirichletValuesType
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ FEContainer
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ FEContainerRaw
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ FEContainerType
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ FERequirementType
template<typename FEContainer_ , typename DirichletValuesType_ >
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::FERequirementType = typename FEContainerRaw::value_type::FERequirementType |
◆ GlobalIndex
template<typename FEContainer_ , typename DirichletValuesType_ >
using Ikarus::FlatAssemblerBase< FEContainer_, DirichletValuesType_ >::GlobalIndex = typename FEContainerRaw::value_type::GlobalIndex |
◆ GridView
template<typename FEContainer_ , typename DirichletValuesType_ >
◆ DenseFlatAssembler()
template<typename FEContainer_ , typename DirichletValuesType_ >
Constructor for DenseFlatAssembler.
- Parameters
-
fes | Finite element container. |
dirichletValues_ | Reference to Dirichlet values. |
◆ constraintsBelow()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
i | Index of the degree of freedom. |
- Returns
- Number of constraints below the given index.
◆ createFullVector()
- Parameters
-
reducedVector | Reference to the reduced vector. |
- Returns
- Eigen::VectorXd The full-sized vector.
◆ estimateOfConnectivity()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Returns
- Size_t Coarse estimate of node connectivity.
◆ finiteElements()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Returns
- Reference to the finite element container.
◆ getMatrix()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Reference to the modified dense matrix quantity.
◆ getRawMatrix()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Reference to the raw dense matrix quantity.
◆ getRawVector()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Const reference to the calculated vectorial quantity.
◆ getReducedMatrix()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Reference to the reduced dense matrix quantity.
◆ getReducedVector()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Const reference to the calculated reduced vectorial quantity.
◆ getScalar()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Const reference to the calculated scalar quantity.
◆ getVector()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
feRequirements | Reference to the finite element requirements. |
- Returns
- Const reference to the calculated vectorial quantity.
◆ isConstrained()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Parameters
-
i | Index of the degree of freedom. |
- Returns
- True if the degree of freedom is fixed; false otherwise.
◆ reducedSize()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Returns
- Size of the reduced degrees of freedom.
◆ size()
template<typename FEContainer_ , typename DirichletValuesType_ >
- Returns
- Size of the degrees of freedom.
The documentation for this class was generated from the following files: