Insert glue for zeroing the coefficient matrix between Jacobian assemblies.

Specifically, request availability of a read/write access to the
Jacobian matrix, and a means to zeroing the elements of an arbitrary
matrix type (unimplemented 'MatrixZero' template class).
This commit is contained in:
Bård Skaflestad
2011-10-06 14:51:51 +02:00
parent ff8518e55e
commit 711e59df4c

View File

@@ -87,6 +87,9 @@ namespace Opm {
}
};
template <class Matrix>
class MatrixZero;
template <class BaseVec>
class VectorBlockAssembler {
public:
@@ -187,8 +190,8 @@ namespace Opm {
void
setSize(size_t ndof, size_t m, size_t n, size_t nnz = 0);
const Matrix&
matrix();
Matrix& matrix() ;
const Matrix& matrix() const;
} */;
template <class Matrix ,
@@ -201,9 +204,10 @@ namespace Opm {
typedef MatrixBlockAssembler<Matrix> assembler_type;
typedef typename NVecCollection::vector_type vector_type;
assembler_type& matasm() { return mba_ ; }
NVecCollection& vector() { return sysvec_ ; }
const matrix_type& matrix() const { return mba_.matrix(); }
assembler_type& matasm() { return mba_ ; }
NVecCollection& vector() { return sysvec_ ; }
const matrix_type& matrix() const { return mba_.matrix(); }
matrix_type& writableMatrix() { return mba_.matrix(); }
void
setSize(::std::size_t ndof,