Complete update to new PetscOptions interface
add MAT_INPLACE_MATRIX; replace MAT_REUSE_MATRIX with it for MatConvert()
fix violations of PETSc style guide: Usage of SETERRQ and NULL
MatHeaderReplace() corrupted the -objects_dump arrayReported-by: Torquil Macdonald Sørensen <torquil@gmail.com>MatHeaderReplace() and MatHeaderMerge() destroy the second matrix argument therefor
MatHeaderReplace() corrupted the -objects_dump arrayReported-by: Torquil Macdonald Sørensen <torquil@gmail.com>MatHeaderReplace() and MatHeaderMerge() destroy the second matrix argument therefor pass it asa pointer to it can be zeroed and not mistakenly reused.
show more ...
Merge branch 'barry/add-concurrencykit'
MatShift_MPI/SeqXAIJ() could hang if some processes had no entries on a process while others had entriesbecause some processes would attempt a parallel preallocation and the others would not.Fixed
MatShift_MPI/SeqXAIJ() could hang if some processes had no entries on a process while others had entriesbecause some processes would attempt a parallel preallocation and the others would not.Fixed by first checking if no preallocation was done, and if not doing. Otherwise preallocation is only doneif approprate by each process on the diagonal block portion of the matrix, thus not requiring all processesthat share the matrix to call the parallel preallocation routineReported-by: Patrick Lacasse <patrick.m.lacasse@gmail.com>
fixes for missing ierr = around PetscLogFlops()
Merged in PR312: karpeev/ksp-pcgasm-overhaul.
Merge branch 'barry/propagate-pcsetup-failures'
MATBAIJ: fix for MatGetSubmatrixuse maximum between a->mbs and a->nbs to allocate vary and iary arrayschange upper bound for columns loop to a->nbs
Infrastructure that allows failures in PCSetUp(), PCApply(), MatMult() etc due to, for example a zero pivot or function evaluation outside its domain, to propagate up and become a KSP_DIVERGED inste
Infrastructure that allows failures in PCSetUp(), PCApply(), MatMult() etc due to, for example a zero pivot or function evaluation outside its domain, to propagate up and become a KSP_DIVERGED instead of generating an error that stops the program. In response to Issue 96. This includes failures in MatCreateSNESMF() applications due to domain errors. The mechanism to propagate some errors is by setting Info or Nan into the output vector and using the norm or inner product reductions in SNES or KSP to propagate the error condition to all processes and then handling them immediately after the norm or inner product.This allows, for example, ODE integrators to try again with a smaller time-step if the PCSetUp failed instead of requiring a complete restart of the run with other options.Currently some error conditions, such as function domain error in a line search may not get progated up using the correct SNESConvergedReasonSee src/snes/examples/tests/ex69.c for the handling of several conditions
MatGetSubMatricesParallel —> MatGetSubMatricesMPI. Implementation rewritten, tests added.
stripped out all PETSc threadcomm code
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
rm unused variables
rm 'statement not reached' -- reported by PETSc blame digest
Merge branch 'tisaac/mat-get-submatrix-unordered'
Optimized MatShift() for a completely empty matrix since this is commonly used with SLEPc to produce diagonal matricesReported-by: Jose Roman <jroman@dsic.upv.es>
in error messages in MatSetValuesBlocked_Seq(S)BAIJ clarify the indices are block not point
removed preallocation from MatConvert_Basic because it was totally wrong and caused crashes; slow code is better than buggy code!
update petsc4py to latest version since previous version did not work with new PETSc install directory structureMatConvert_SeqAIJ_SeqBAIJ does not work with block size > 1 so error out instead of co
update petsc4py to latest version since previous version did not work with new PETSc install directory structureMatConvert_SeqAIJ_SeqBAIJ does not work with block size > 1 so error out instead of confusing user with incorrect matrix
MatGetSubMatrix_SeqBAIJ(): fix bad counting
Fix MatGetSubMatrix_SeqBAIJ()Remove ISSorted() check, correctly compute compressed indices
MatGetSubMatrix(): to allow unsorted index sets in XAIJ formats.I think the added generality of allowing index sets to be unsorted isworth the cost of sorting matrix rows in the created submatrice
MatGetSubMatrix(): to allow unsorted index sets in XAIJ formats.I think the added generality of allowing index sets to be unsorted isworth the cost of sorting matrix rows in the created submatrices.
MatLoad_ and VecLoad_ routines that use options database information from the binary file .info files need to PetscViewerSetUp() before accessing the options database because the "lazy" setup of bina
MatLoad_ and VecLoad_ routines that use options database information from the binary file .info files need to PetscViewerSetUp() before accessing the options database because the "lazy" setup of binary viewers defered the opening of the files until binary reading was first done which was after the calls to determine matrix and vector block sizes.
1...<<11121314151617181920>>...64