Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
Most external factorization packages do not use the ordering provided by PETSc, therefor only provide it when needed.Adds MatOrderingType external to indicate not to generate an ordering and use wh
Most external factorization packages do not use the ordering provided by PETSc, therefor only provide it when needed.Adds MatOrderingType external to indicate not to generate an ordering and use what the package needsNow -pc_view will not print the wrong PETSc ordering when the ordering is done externallySaves some memory and compute time.Commit-type: optimizationTime: 1.2 hoursReported-by: Junchao Zhang <junchao.zhang@gmail.com>Thanks-to: Stefano Zampini <stefano.zampini@gmail.com>
show more ...
PC: add ops->matapply
Change how solves with multiple RHS work* Deprecate KSPHPDDMMatSolve* Add KSPMatSolve, previously known as KSPHPDDMMatSolve* New option -ksp_matsolve_block_size* New routines MatDense[Get|Restor
Change how solves with multiple RHS work* Deprecate KSPHPDDMMatSolve* Add KSPMatSolve, previously known as KSPHPDDMMatSolve* New option -ksp_matsolve_block_size* New routines MatDense[Get|Restore]SubMatrix
KSP/PC: Fix 0 ->NULL for pointers
Single petscdir.mk
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petsc
build: add more support for not needing to set PETSC_DIR yet build with PETSc, also support for GNU make to directly use "make test" instead of "make -f gmakefile.test"Still needs -include ../petscdir.mk in many of the makefilesStill needs the link for ../petscdir.mk in many directoriesGNUMakefile: call legacy makefile recursively instead of including itGNUMakefile: promote default "all" target; "libs" builds libpetsc*GNUMakefile: If gnumake < 4.2 prefer makefile wrapper interface over direct gmakefile interface to avoid the following warningsgmakefile.test:92: arch-ci-linux-cxx-cmplx-pkgs-64idx/tests/testfiles: No such file or directorygmakefile:67: arch-ci-linux-cxx-cmplx-pkgs-64idx/lib/petsc/conf/files: No such file or directoryCommit-type: testing-fix, feature, usabilityThanks-to: Jed Brown jed@jedbrown.org
Double CHKERRQ
Man pages: remove Concepts: fieldsThese fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209Remove these fields from all man pages (but
Man pages: remove Concepts: fieldsThese fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209Remove these fields from all man pages (but not from examples).This is accomplished with GNU sed (gsed on OS X), with the following commands.*Warning* that this type of command can corrupt a .git directory,so be cautious in reusing or modifying these commands. They first lookfor and delete matching lines with a following line consisting of only whitespace,and then delete any remaining matching lines. find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} +Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
Remove dead code. Subclasses of factor simply called parent method; remove unneeded subclass functionCommit-type: style-fixDevelopment Tools: Vim, Emacs, Eclipse
PetscInfo: Add missing errorchecking
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \(
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \( -name "*.c" -or -name "*.h" -or -name "*.cxx" \) | xargs gsed -i 's/Notes\s*:\s*\(\w.*\)/Notes:\n \1/'This adds a newline and 4 spaces whenever "Notes:" is followed by any "word" character, in any .c, .h, or .cxx file in src/ or include/
change MatSolverType to be a const char* typedef to match other XXTypeCommit-type: style-fixReported-by: Franck Houssen <franck.houssen@inria.fr>
Fix name MatSolverPackage since it is better to be consistent and use the terminology Type.Commit-type: style-fix, documentation
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-t
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-to: Andreas Mang <andreas@ices.utexas.edu>
Updated and simplified Fortran interfaceReduced from 4 distinct approaches to using PETSc from Fortran to 1No more .h90 files (Fortran 90 functionality is now always available)Parameters and func
Updated and simplified Fortran interfaceReduced from 4 distinct approaches to using PETSc from Fortran to 1No more .h90 files (Fortran 90 functionality is now always available)Parameters and function prototypes are now provide through Fortran modules, not includes;only #define are provided in the petscXXXdef.h filesPETSc objects can be declared as either type(tXXX) or XXX. For example type(tVec) or VecMoved now private Fortran include files out of public include directory since uses don't use them;they are only used to generate the Fortran modulesEasier to support and test; we can now easily add more function prototypesAlso had to rework generation of manual pages to consistently use MANSEC and SUBMANSECsince these variables also handle how the Fortran modules are generated.Time: 57 hours
Merge branch 'maint'
bugfix: initialize pc->failedreason = PC_NOERROR for PCSetUp_xxx()Reported-by: David Knezevic <david.knezevic@akselos.com>
refactor common setter/getter methods for PCFACTOR class into common shared codeTime: 2 hours
Added PCFactorGetZeroPivot(), PCFactorGetShiftType(), and PCFactorGetShiftAmount()Time: .25 hoursReported-by: Glenn E Hammond <gehammo@sandia.gov>
removed a bunch of unneeded inclusions of xxximpl.h which exposed private data where it did not have to be exposedalso made more systematic the inclusion of the base xxximpl.h in the derived yyyimp
removed a bunch of unneeded inclusions of xxximpl.h which exposed private data where it did not have to be exposedalso made more systematic the inclusion of the base xxximpl.h in the derived yyyimpl.hso the inclusion is done in the include file rather than in each source code that includes it
Fix null output from PCFactorGetMatSolverPackage();Reported-by: Jose E. Roman <jroman@dsic.upv.es>
fix MatSolverPackageGet() so it will never return a different one than what was requested (because the requested one did not exist). This is done by setting the initial package to null and then order
fix MatSolverPackageGet() so it will never return a different one than what was requested (because the requested one did not exist). This is done by setting the initial package to null and then ordering the petsc factorization routines before any other packageTime: .5 hoursReported-by: Hong Zhang <hzhang@mcs.anl.gov>
fixed up formatting of references in manualpages to consistent styleReferences:+ 1. - ref1. 2. - ref2- 3. - ref3previously the formatting was varied and ugly
123456789