Assembly Module module
Matrix and vector assembly infrastructure for finite element computations.
The Assembly module provides the core infrastructure for assembling finite element matrices and vectors from variational forms. It supports both sequential and parallel assembly strategies, with specializations for different operator types and finite element spaces.
Key Features
- Bilinear Form Assembly: Efficient assembly of stiffness matrices
- Linear Form Assembly: Assembly of load vectors and right-hand sides
- Parallel Assembly: Support for OpenMP-based parallel assembly
- Template Specialization: Optimized assembly for different operator types
- Mixed Formulations: Support for mixed finite element problems
Classes
-
template<class OperatorType, class Solution, class TrialFES, class TestFES>class Rodin::Assembly::AssemblyBase<OperatorType, Variational::BilinearForm<Solution, TrialFES, TestFES, OperatorType>>
- Base class for bilinear form assembly operations.
-
template<class VectorType, class FES>class Rodin::Assembly::AssemblyBase<VectorType, Variational::LinearForm<FES, VectorType>>
- Base class for linear form assembly operations.
-
template<>class Rodin::Assembly::OpenMPIteration<Geometry::Mesh<Context::Local>>
- OpenMP-based parallel mesh iteration for multi-threaded assembly.
-
template<class Solution, class TrialFES, class TestFES>class Rodin::Assembly::OpenMP<std::vector<Eigen::Triplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>, Variational::BilinearForm<Solution, TrialFES, TestFES, std::vector<Eigen::Triplet<typename FormLanguage::Dot<typename FormLanguage::Traits<TrialFES>::ScalarType, typename FormLanguage::Traits<TestFES>::ScalarType>::Type>>>>
- OpenMP-based parallel assembly for bilinear forms.
-
template<>class Rodin::Assembly::SequentialIteration<Geometry::Mesh<Context::Local>>
- Sequential mesh iteration for single-threaded assembly.