Complete update to new PetscOptions interface
Begin renaming the PetscOptions objects for the future where PetscOptions will not be a singleton
fix violations of PETSc style guide: Usage of SETERRQ and NULL
initial size of the trust region is set as a percent of the norm of the initial guess, it should not be related to the initial norm of the function (which is kind of nuts).Reported-by: Mark Lohry <
initial size of the trust region is set as a percent of the norm of the initial guess, it should not be related to the initial norm of the function (which is kind of nuts).Reported-by: Mark Lohry <mlohry@princeton.edu>
show more ...
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
If the user sets bounds and calls a solver that does not support them, throw an error.
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
simplify option object names
moved PetscOptionsObject from global variable to local variable in functions
manual merge of conflict
cleanup of use of PetscOptionsInt and friends including use of flag final argument
the compute Jacobian functions for SNES and TS now do not take a MatStructure flag
KSPSetOperators() no longer has the MatStructure argument. The Mat objects now track that information themselves. Use KPS/PCSetReusePreconditioner() to prevent the recomputation of the preconditioner
KSPSetOperators() no longer has the MatStructure argument. The Mat objects now track that information themselves. Use KPS/PCSetReusePreconditioner() to prevent the recomputation of the preconditioner if the operator changed in the way that SAME_PRECONDITIONER did with KSPSetOperators()SNES/TS still need to be cleaned up to better utilize the new interfaces
completed cleanup of removal of matrix pointers to compute jacobian routinesupdate changes filefixed tao examples to no longer use Mat* arguments for Jacobian/Hessian etc computations
completed some percentage of changes from %G format in prints
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,@'
Merge branch 'master' into barry/sawsConflicts: src/ksp/pc/impls/gamg/gamg.c src/sys/classes/viewer/impls/ams/ams.c src/sys/objects/pinit.c
Merge branch 'jed/converged-default-and-skip'This process started with SNESDefaultConverged -> SNESConvergedDefaultin v3.4, but the other parts have been added piecemeal. Deprecationsupport in C
Merge branch 'jed/converged-default-and-skip'This process started with SNESDefaultConverged -> SNESConvergedDefaultin v3.4, but the other parts have been added piecemeal. Deprecationsupport in C interface.* jed/converged-default-and-skip: SNES and KSP: add deprecation for *DefaultConverged and *SkipConverged KSP: rename KSPDefaultConverged* to KSPConvergedDefault* KSP: rename KSPSkipConverged -> KSPConvergedSkip SNES: document SNESSkipConverged -> SNESConvergedSkip snes->ttol to be used only in convergence tests. Renamed SNESKSPEW_Pre/PostSolve --> KSPPre/PostSolve_SNESEW. Renamed SNESSkipConverged --> SNESConvergedSkip.Conflicts: include/petscsnes.h src/docs/website/documentation/changes/dev.html
KSP: rename KSPDefaultConverged* to KSPConvergedDefault*
Merge branch 'barry/dmvecmattypes' into barry/sawsNeeded to work with version of PETSc that did not have constant calls to VecSetFromOptions() etcConflicts: src/ksp/ksp/interface/ams/kspams.c s
Merge branch 'barry/dmvecmattypes' into barry/sawsNeeded to work with version of PETSc that did not have constant calls to VecSetFromOptions() etcConflicts: src/ksp/ksp/interface/ams/kspams.c src/snes/impls/composite/snescomposite.c src/snes/impls/gs/snesgs.c src/snes/impls/nasm/nasm.c src/snes/impls/ngmres/snesngmres.c
snes->ttol to be used only in convergence tests.
Renamed SNESSkipConverged --> SNESConvergedSkip.
Removed extraneous SNESSetInitialFunctionNorm().The norm is cached on vec_func after copy, so this is unnecessary.
converted uAMS usage to SAWs usage; starts server but cannot see any published directories
fixed calls to PetscObjectAMSTake/GrantAccess() to cast first argument to PetscObject
12345678910>>...15