diff --git a/dumux/decoupled/common/fv/fvpressure.hh b/dumux/decoupled/common/fv/fvpressure.hh index 5e9a809217f540d371e9f602a1e5bb52c5351b72..cfa465d8e552c03d39090eeb38f296780127cd50 100644 --- a/dumux/decoupled/common/fv/fvpressure.hh +++ b/dumux/decoupled/common/fv/fvpressure.hh @@ -97,6 +97,9 @@ protected: //!Initialize the global matrix of the system of equations to solve void initializeMatrix(); + void initializeMatrixRowSize(); + void initializeMatrixIndices(); + /*!\brief Function which assembles the system of equations to be solved * @@ -321,6 +324,16 @@ private: //!Initialize the global matrix of the system of equations to solve template<class TypeTag> void FVPressure<TypeTag>::initializeMatrix() +{ + initializeMatrixRowSize(); + A_.endrowsizes(); + initializeMatrixIndices(); + A_.endindices(); +} + +//!Initialize the global matrix of the system of equations to solve +template<class TypeTag> +void FVPressure<TypeTag>::initializeMatrixRowSize() { // determine matrix row sizes ElementIterator eItEnd = problem_.gridView().template end<0>(); @@ -341,9 +354,16 @@ void FVPressure<TypeTag>::initializeMatrix() } A_.setrowsize(globalIdxI, rowSize); } - A_.endrowsizes(); + return; +} + +//!Initialize the global matrix of the system of equations to solve +template<class TypeTag> +void FVPressure<TypeTag>::initializeMatrixIndices() +{ // determine position of matrix entries + ElementIterator eItEnd = problem_.gridView().template end<0>(); for (ElementIterator eIt = problem_.gridView().template begin<0>(); eIt != eItEnd; ++eIt) { // cell index @@ -365,11 +385,11 @@ void FVPressure<TypeTag>::initializeMatrix() A_.addindex(globalIdxI, globalIdxJ); } } - A_.endindices(); return; } + /*!\brief Function which assembles the system of equations to be solved * * This function assembles the Matrix and the right hand side (RHS) vector to solve for