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/
show more ...
Removed the restriction on block size for point block Jacobi preconditioner to enable arbitrary block size.
Make ASCII PC/KSP/SNES/TSView() code and output in a standard styleThe code that prints the ASCII view for solvers was occasionally inconsistent:1) TSView printed the type specific information aft
Make ASCII PC/KSP/SNES/TSView() code and output in a standard styleThe code that prints the ASCII view for solvers was occasionally inconsistent:1) TSView printed the type specific information after the general info while all other solvers printed it before (right after the name of the type is printed)2) KSPView consistently printed the name of the subtype on EACH line of the subtypes output as did a few of the PC and SNES viewers. Since they are all printed indented directly below the subtype name there is no reason to print this information on each line3) TSView printed output about number of linear solvers and SNES even for explicit methods, which is goofy.4) a few other minor formatting and consistency issues where fix.Commit-type: style-fix, featureTime: 16 hours
Merge branch 'maint'
fix flops for PCApply_PBJacobi_1 and PCApply_PBJacobi_7Reported-by: Pierre Jolivet <pierre.jolivet@enseeiht.fr>
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
removed a variety of #include <xxximpl.h> from source code that was not needed
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
enable zeropivot for pbjacobi, bs=3, baij matrix
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
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
PCApply_PBJacobi(): use VecGetArrayRead()
manual merge of conflict
Mat & Vec: make block sizes lazyIn the past, MatSetUp eagerly set the block sizes (to 1) if not alreadyset. This prevents use of the "convenience" constructors because theycall MatSetUp before r
Mat & Vec: make block sizes lazyIn the past, MatSetUp eagerly set the block sizes (to 1) if not alreadyset. This prevents use of the "convenience" constructors because theycall MatSetUp before returning. We could add bs as an explicit argumentto those constructors, but block size is an extraneous concept for mostusers. The default value of the block size is -1, so now we usePetscAbs(map->bs) anywhere it is not known in advance that bs has beenexplicitly set. This allows block sizes to be lazy, and they can be setarbitrarily late, so long as the new size is compatible with theexisting distribution. For (S)BAIJ matrices, the block size isstructural so it gets set explicitly and can thus be referenced directlyrather than via MatGetBlockSize or wrapped in PetscAbs.
Sys: drop explicit type arguments from PetscNew() and PetscNewLog()git grep -l 'PetscNew\(Log\)\?(' -- $1 | xargs perl -pi -e 's@PetscNew\([^,;()]+ *, *@PetscNew(@;s@PetscNewLog\(([^,;()]+) *,[^,
Sys: drop explicit type arguments from PetscNew() and PetscNewLog()git grep -l 'PetscNew\(Log\)\?(' -- $1 | xargs perl -pi -e 's@PetscNew\([^,;()]+ *, *@PetscNew(@;s@PetscNewLog\(([^,;()]+) *,[^,;()]+, *@PetscNewLog($1,@'
Change all PETSC_EXTERN_C to PETSC_EXTERNHg-commit: 8d2ebbb193fb583bccc64015e35640c4e08c3426
completed removing unneeded EXTERN_C_BEGIN/END from Mat directories and converting to PETSC_EXTERN_C for constructorstested with and without dynamic with and without C++Hg-commit: 7d27d7f4d9ea3bfe
completed removing unneeded EXTERN_C_BEGIN/END from Mat directories and converting to PETSC_EXTERN_C for constructorstested with and without dynamic with and without C++Hg-commit: 7d27d7f4d9ea3bfe6616fafdfb32d046b5db53a1
added PetscObjectComm() and used it to replace (((PetscObject)obj)->comm)Hg-commit: 3da37c458124ad48ae939f4e9823e4430ee0b8be
Uncrustified src/ksp/pc/*Hg-commit: b80b33e3b1d8943a898b18384bc7b2c1a3103a32
Reformatted: "Do not put a blank line immediately before PetscFunctionReturn;"Hg-commit: c8a41c455986e732d0ea0513d7162a54daffaece
XXXView() methods should ignore unknown viewers, not error outHg-commit: e5c2cada7868386cc4981ab2a54cf541ca387f4b
Updated style to obey 'Do not put a blank line immediately after PetscFunctionBegin;'Hg-commit: 5408b9ce2402ad624305b7a7a323ab3ae5e0c3f1
Replaced remaining '){' with ') {'.Hg-commit: f4f35e45a9688d9cbe30c43558c5cab041b08998
removed trailing spaces from all filesHg-commit: 1cfa55059afe46c5145e0e830cd797b97216abfb
12345