Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now t
Add automatic generated fortran support for setting and returning contextsMajor cleanup of the code for setting and returning application (previously called user) contexts - PetscCtx ctx is now the standard for passing in contexts - PetscCtxRt ctx is the standard for passing out contexts, including context destroy routines based on PetscCtxDestroyFnBoth of these are typedef to void*Also removed most use of user and userctx for context arguments now consistently named ctxImproved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
fix SNESLineSearchBisection wrongfully exiting when reaching maximum number of iterations
Improve the propagation of function domain error handling in SNES, especially in the line search routines.Due to the object layering of SNESLineSearch under SNES there is some code duplication incl
Improve the propagation of function domain error handling in SNES, especially in the line search routines.Due to the object layering of SNESLineSearch under SNES there is some code duplication include both SNESLineSearchReason and SNESConvergedReason and SNESCheckFunctionNorm() and SNESLineSearchCheckFunctionNorm() and Jacobian friendsReported-by: david.knezevic@akselos.com
checkbadSource: enforce proper style in makefiles
Merge branch 'stefanozampini/ts-snes-fixes' into 'release'Miscellaneous fixes for TS and SNES with domain errorsSee merge request petsc/petsc!8770
SNESLINESEARCHBASIC: must set norm value before setting the failing reason
SNESLINESEARCHBT: add missing API checks
linesearch(cp): Fix bug in step size when step would be outside of domain
Fix typos
Fix the definition of PetscErrorCodeFn; this reverts API change in !8615Co-authored-by: Pierre Jolivet <pierre@joliv.et>Reported-by: Lisandro Dalcin <dalcinl@gmail.com>
Introduce PetscFortranCallbackFn to be used instead of PetscVoidFn for Fortran callback functionsAlso fix incorrect use of SNESFunctionFn and SNESJacobianFn in SNES Fortran manual stub
SNESLINESEARCHBASIC: domain error is not collective
SNES: Deprecate l2 line search as secant
Convert some SETERRQ() to PetscCheck()
missing "s" for isascii and issundials
Merge branch 'knepley-main-patch-e088' into 'main'SNES: Fix crash in line searchSee merge request petsc/petsc!8657
SNESLinesearch: Minor improvements- add missing configuration options in the documentation of the line searches (some of the available options were not listed), and consistently list their respecti
SNESLinesearch: Minor improvements- add missing configuration options in the documentation of the line searches (some of the available options were not listed), and consistently list their respective default values- add proper convergence criteria for the secant method in the L2 line search based on ltol and atol (otherwise, the secant method is mostly running for the maximum number of iterations)- fix a small bug in the CP line search, where steptol * lambda was used to check for convergence based on the change of lambda instead of the ltol parameter- rename sneslinesearch->maxstep to sneslinesearch->maxlambda in the options database to be consistent with its purpose in the algorithms- rename SNESLineSearchL2 to SNESLineSearchSecant to better represent its underlying approach
Update file linesearch.c
Fix manual pages related to FortranRemove a couple of dead Fortran bindings
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90impl.h files. Also move uses of f90 to ftn when simple
Fortran: fix PETSC_HAVE_FORTRAN_UNDERSCORE defsAnd remove FORTRANDOUBLEUNDERSCORE, cleanup PETSC_HAVE_FORTRAN_UNDERSCORE_UNDERSCORERevert PETSC_VIEWER_STDOUT_BROKEN from 5022eb3e26e9dbfdd711345ef
Fortran: fix PETSC_HAVE_FORTRAN_UNDERSCORE defsAnd remove FORTRANDOUBLEUNDERSCORE, cleanup PETSC_HAVE_FORTRAN_UNDERSCORE_UNDERSCORERevert PETSC_VIEWER_STDOUT_BROKEN from 5022eb3e26e9dbfdd711345efc14d09b0dee953f
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous ve
Fortran 90: fully embrace After 34 years!- deprecate use of 'F90' in Fortran function names- use Fortran pointers when appropriate- the new Fortran API is not backward compatible with previous versions!- also clean up inconsistent PETSc code detected by new Fortran generation tools- drop use of bfort- automatically generate all the Fortran PETSc objects, enums etc from the include files- generate most of the Fortran interface definitions and functions from the source code- simplify the number and organization of Fortran modulesCo-authored-by: Jose E. Roman <jroman@dsic.upv.es>
Merge remote-tracking branch 'origin/release'
Improve some SNES documentation especially with regard to nonlinear preconditioning
SNESLineSearch: fix computation of directional derivative in the case of the VI solversThe two line search algorithms bisection and critical point work with the directional derivative, assuming tha
SNESLineSearch: fix computation of directional derivative in the case of the VI solversThe two line search algorithms bisection and critical point work with the directional derivative, assuming that F(x) = grad G(x).However, when working with the variational inequality solvers, the constraints were not correctly considered when computing the directional derivative.This commit introduces a new linesearch->ops->vidirderiv function which correctly considers the constraints (similar to linesearch->ops->viproject and linesearch->ops->vinorm).
12345678910>>...16