#include <base/config.h>
+#include <base/table.h>
#include <lac/sparse_matrix.h>
#include <lac/block_sparsity_pattern.h>
#include <cmath>
/**
* Array of sub-matrices.
*/
- std::vector<std::vector<SmartPointer<SparseMatrix<number> > > > sub_objects;
+ Table<2,SmartPointer<SparseMatrix<number> > > sub_objects;
};
sparsity_pattern = &sparsity;
rows = sparsity.n_block_rows();
columns = sparsity.n_block_cols();
- sub_objects = std::vector<std::vector<SmartPointer<SparseMatrix<number> > > >
- (rows, std::vector<SmartPointer<SparseMatrix<number> > > (columns, 0));
+ sub_objects.reinit (rows, columns);
// and reinitialize the blocks
for (unsigned int r=0; r<rows; ++r)
#include <base/config.h>
#include <base/exceptions.h>
+#include <base/table.h>
#include <base/subscriptor.h>
#include <base/smartpointer.h>
#include <lac/sparsity_pattern.h>
/**
* Array of sparsity patterns.
*/
- std::vector<std::vector<SmartPointer<SparsityPatternBase> > > sub_objects;
+ Table<2,SmartPointer<SparsityPatternBase> > sub_objects;
/**
* Object storing and managing
// Lagrange dofs of each
// block access the different
// dofs
- std::vector<std::vector<unsigned int> >
- access_count (n_blocks, std::vector<unsigned int>(M.m(), 0));
+ Table<2,unsigned int> access_count (n_blocks, M.m());
// set-up the map that will
// be used to store the
// set new sizes
rows = r;
columns = c;
- sub_objects.resize (rows, std::vector<SmartPointer<SparsityPatternBase> > (columns));
+ sub_objects.reinit (rows, columns);
// allocate new objects
for (unsigned int i=0; i<rows; ++i)