#include <Rodin/Assembly/ForwardDecls.h>
template<class LinearAlgebraType, class Operand>
AssemblyBase class
Base class template for assembly operations.
| Template parameters | |
|---|---|
| LinearAlgebraType | Target linear algebra type (e.g., sparse matrix, vector) |
| Operand | Variational form type (e.g., BilinearForm, LinearForm) |
Provides the interface for assembling variational forms into discrete linear algebra objects (matrices and vectors). Different specializations handle bilinear forms, linear forms, boundary conditions, and problems.
| Specialization | Description |
|---|---|
| AssemblyBase<OperatorType, BilinearForm<...>> | Base interface for assembling one bilinear form into one operator. |
| AssemblyBase<OperatorType, Tuple<BilinearForm<...>...>> | Base interface for assembling block/tuple bilinear forms. |
| AssemblyBase<VectorType, LinearForm<...>> | Base interface for assembling one linear form into one vector. |
| AssemblyBase<VectorType, Tuple<LinearForm<...>...>> | Base interface for assembling block/tuple linear forms. |
| AssemblyBase<IndexMap<Scalar>, DirichletBC<TrialFunction, FunctionBase>> | Base interface for scalar Dirichlet elimination maps. |
| AssemblyBase<IndexMap<pair<IndexArray, Vector>>, DirichletBC<TrialFunction, ShapeFunctionBase>> | Base interface for identification-style Dirichlet constraints. |
| AssemblyBase<LinearSystem, Problem<LinearSystem, TrialFunction, TestFunction>> | Base interface for single-field problem assembly. |
| AssemblyBase<LinearSystem, Problem<LinearSystem, U1, U2, U3, Us...>> | Base interface for mixed multi-field problem assembly. |