diff --git a/Solver/linearSystemPETSc.cpp b/Solver/linearSystemPETSc.cpp index 9e3ba80d27d61e06bb6afdaf80d28fd80fbc590c..6c3184f962636e7e2831a93cb717edcab06fb206 100644 --- a/Solver/linearSystemPETSc.cpp +++ b/Solver/linearSystemPETSc.cpp @@ -159,6 +159,11 @@ int linearSystemPETScBlockDouble::systemSolve() KSPSolve(_ksp, _b, _x); return 1; } +void linearSystemPETScBlockDouble::insertInSparsityPattern (int i, int j) { + i -= _localRowStart; + if (i<0 || i>= _localSize) return; + _sparsity.insertEntry (i,j); +} void linearSystemPETScBlockDouble::preAllocateEntries() { @@ -220,7 +225,6 @@ linearSystemPETScBlockDouble::linearSystemPETScBlockDouble() _entriesPreAllocated = false; _isAllocated = false; _kspAllocated = false; - printf("init\n"); } double linearSystemPETScBlockDouble::normInfRightHandSide() const diff --git a/Solver/linearSystemPETSc.h b/Solver/linearSystemPETSc.h index c07ace49b00c7d3854fa9951d0588758eaf3b9d8..faba13f749be191fa8ca559726ec0f2d3e841b1c 100644 --- a/Solver/linearSystemPETSc.h +++ b/Solver/linearSystemPETSc.h @@ -288,6 +288,7 @@ class linearSystemPETScBlockDouble : public linearSystem<fullMatrix<double> > { void zeroMatrix(); void zeroRightHandSide(); double normInfRightHandSide() const; + void insertInSparsityPattern (int i, int j); linearSystemPETScBlockDouble(); };