template<typename MatrixType>
class MeshWorker::Assembler::MatrixSimple< MatrixType >
Assemble local matrices into a single global matrix or several global matrices associated with the same DoFHandler. If these global matrix have a block structure, this structure is not used, but rather the global numbering of degrees of freedom.
After being initialized with a SparseMatrix object (or another matrix offering the same functionality as SparseMatrix::add()) or a vector of such, this class can be used in a MeshWorker::loop() to assemble the cell and face matrices into the global matrix.
If a AffineConstraints has been provided during initialization, this matrix will be used (AffineConstraints::distribute_local_to_global(), to be precise) to enter the local matrix into the global sparse matrix.
The assembler can handle two different types of local data. First, by default, the obvious choice of taking a single local matrix with dimensions equal to the number of degrees of freedom of the cell. Alternatively, a local block structure can be initialized in DoFInfo. After this, the local data will be arranged as an array of n by n FullMatrix blocks (n being the number of blocks in the FESystem used by the DoFHandler in DoFInfo), which are ordered lexicographically with column index fastest in DoFInfo. If the matrix was initialized with a vector of several matrices and local block structure is used, then the first n2 matrices in LocalResults will be used for the first matrix in this vector, the second set of n2 for the second, and so on.
- Author
- Guido Kanschat, 2009
Definition at line 168 of file simple.h.