PCMG used in Richardson reqires nonzero initial guess for smoother on finestlevel. When seperate pre and post smoothers are used this didn't happen by defualtso force it when Richardson is used.I
PCMG used in Richardson reqires nonzero initial guess for smoother on finestlevel. When seperate pre and post smoothers are used this didn't happen by defualtso force it when Richardson is used.Issue #170Commit-type: bug-fixFunded-by: ECPTime: .3 hoursReported-by: Ed Bueler <elbueler@alaska.edu>
show more ...
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
Fix incomplete refactorization of PCMGSetCyclesOnLevel() to PCMGSetCycleTypeOnLevel()Add ability to add constant null space to src/ksp/ksp/examples/tutorials/ex10.c test codeCommit-type: style-fi
Fix incomplete refactorization of PCMGSetCyclesOnLevel() to PCMGSetCycleTypeOnLevel()Add ability to add constant null space to src/ksp/ksp/examples/tutorials/ex10.c test codeCommit-type: style-fix, documentationTime: 1.5 hoursReported-by: Casalegno Francesco <francesco.casalegno@epfl.ch>
PCMG should use the mat provided for each level, not the pmat, as the defaultmatrix to use for computing the residual before traversing to coarser level.Reported-by: Matt Landreman <matt.landreman
PCMG should use the mat provided for each level, not the pmat, as the defaultmatrix to use for computing the residual before traversing to coarser level.Reported-by: Matt Landreman <matt.landreman@gmail.com>
Merge branch 'barry/remove-funct'
Add support for null argument from Fortran for VecScatterCreateToZero() VecScatterCreateToAll()Also update a few uses of NULL_OBJECT to the appropriate PETSC_NULL_XXXTime: .1 hoursReported-by: T
Add support for null argument from Fortran for VecScatterCreateToZero() VecScatterCreateToAll()Also update a few uses of NULL_OBJECT to the appropriate PETSC_NULL_XXXTime: .1 hoursReported-by: Tim Steinhoff <kandanovian@gmail.com>
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>
Merge branch 'pefarrell/mat-galerkin'
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
Implement MatGalerkin, a specialised routine for Galerkin constructionof coarse grid problems.This simplifies some code in mg.c, and also extends Galerkin constructionto certain cases of non-nest
Implement MatGalerkin, a specialised routine for Galerkin constructionof coarse grid problems.This simplifies some code in mg.c, and also extends Galerkin constructionto certain cases of non-nested geometric multigrid where the interpolationmatrix is not of full rank.
Merge branch 'barry/extend-pcmg-galerkin'
PCMGSetGalerkin() and -pc_mg_galerkin now take PC_MG_GALERKIN_BOTH,PC_MG_GALERKIN_PMAT,PC_MG_GALERKIN_MAT, PC_MG_GALERKIN_NONE as arguments instead of PetscBoolThis allows computing either mat, or
PCMGSetGalerkin() and -pc_mg_galerkin now take PC_MG_GALERKIN_BOTH,PC_MG_GALERKIN_PMAT,PC_MG_GALERKIN_MAT, PC_MG_GALERKIN_NONE as arguments instead of PetscBoolThis allows computing either mat, or pmat or both via the Galerkin processTime: 16 hoursReported-by: domenico lahaye <domenico_lahaye@yahoo.com>Thanks-to: Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk>
Added PCMGSetNumberSmooth() to complement PCMGSetNumberSmoothUp() and PCMGSetNumberSmoothDown()Reported-by: Ed Bueler <elbueler@alaska.edu>
If PCMGSetNumberSmoothUp/Down or -pc_mg_number_smoothup/down is used and the number of smoothing steps is not changedthis does not trigger PCMGGetSmoothUp() and hence different KSP objects for the p
If PCMGSetNumberSmoothUp/Down or -pc_mg_number_smoothup/down is used and the number of smoothing steps is not changedthis does not trigger PCMGGetSmoothUp() and hence different KSP objects for the pre and post smoothersReported-by: Ed Bueler <elbueler@alaska.edu>
removed a variety of #include <xxximpl.h> from source code that was not needed
Fix outdated information in PCMG manual page regarding default Krylov method for smootherReported-by: Phanisri P Pratapa <ppratapa@gatech.edu>
Changed PCMGSetLevels() to NOT set the smoother KSP/PC options on the coarse gridReason: It was turning off norm type and convergence test for the coarse grid soif one ran with -mg_coarse_ksp_type
Changed PCMGSetLevels() to NOT set the smoother KSP/PC options on the coarse gridReason: It was turning off norm type and convergence test for the coarse grid soif one ran with -mg_coarse_ksp_type gmres it ran with inappropriate GMRES optionsNow completely different options are set on the coarse and other levelsReported-by: Dave May <dave.mayhem23@gmail.com>
Merge branch 'barry/fix-mg-coarse-redundant'
Fixes for issues found with clang static analyzer,mostly set but unused variablesTime: 1 hour
Because PCMGSetLevels() called PCRedundantGetKSP() which forced one redundant PCper process (i.e. made -mg_coarse_pc_redundant_number <n> not valid)I have added PCFactorSetShiftType_Redundant() tha
Because PCMGSetLevels() called PCRedundantGetKSP() which forced one redundant PCper process (i.e. made -mg_coarse_pc_redundant_number <n> not valid)I have added PCFactorSetShiftType_Redundant() that allows setting the shift typebut delaying the creation of the inner KSP of PCREDUNDANT until after the userhas the chance to set the redundant_numberReported-by: Dave May <dave.mayhem23@gmail.com>
PCMG man page: fix typo in options name
Added DMShellSetRestriction() and ability of PCMG to use DMCreateRestriction()Time: .2 hoursReported-by: anton <popov@uni-mainz.de>
Fix error message from Must call PCMGSetInterpolation() or PCMGSetInterpolation()Reported-by: Boris Boutkov <borisbou@buffalo.edu>
enable mat->errortype for chebyshev (all normtype), preonly, SOR and MG
enable mat->errortype for SOR and MG
12345678910>>...21