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 ...
tests: use exNNcu.cu and exNNk.kokkos.cxx names
Replace -with-mpi-f90module-visibility with -with-mpi-f90module=mpi_f08Add PETSC_INT_KIND and PETSC_MPIINT_KINDReported-by: M.Weiland@epcc.ed.ac.uk
Fortran: enforce lower case keywords and operatorsalso fixed occasional capitals in used modules with the help of @prj-
cleanup suggestions by @BarrySmithalso noticed a few stray functions not marked as external and put theminto modules
use modules instead of externalthis allows for argument checking
place all the include statements at the topRepeated inclusion in multiple location, e.g. at the start of amodule or function is not needed. This becomes clear if all includes areoutside of the ac
place all the include statements at the topRepeated inclusion in multiple location, e.g. at the start of amodule or function is not needed. This becomes clear if all includes areoutside of the actual Fortran code.Added regex to check that with the help of @sbalay
checkbadSource: enforce proper style in makefiles
Add PFLARE as an external package that can be installed by the PETSc configure with --download-pflare.PFLARE adds new PC types, including GMRES and Neumann polynomials and AIR multigrid methods, wh
Add PFLARE as an external package that can be installed by the PETSc configure with --download-pflare.PFLARE adds new PC types, including GMRES and Neumann polynomials and AIR multigrid methods, which are designed for solving asymmetric linear systems.Thanks-to: Matt KnepleyCo-authored-by: Pierre Jolivet, Barry Smith
Run fprettify
Remove explicitly listed empty files and switch to output/empty.out
fortran no semicolon at end of lineRemove all unneeded ; at end of Fortran source code lineAdd checkbadSource to check for semicolon at the end of lines
Fix Fortran interface of two functions
Update to clang-format-20
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>
make: add explicit '% : %.c' target so that LINK.c target is in sync with LINK.F target '% : %.F90'with multiple source compile into a singe binary:- fixes Fortran example build: currently broken,
make: add explicit '% : %.c' target so that LINK.c target is in sync with LINK.F target '% : %.F90'with multiple source compile into a singe binary:- fixes Fortran example build: currently broken, due to duplicate obj-files in link command- can now use consitent obj file dependencies irrespective of C-main or Fortran-main sources- cab avoid duplicate compiles of same sources [esp with SEPARATE_COMPILE_LINK=1]
brain dead fixes for useless casts in examples
Use NULL or nullptr instead of casted 0
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of PETSC_NULL_INTEGERPass arrays (and not scalar values) when the argument is expecting an array; this means replace, for example, the argument v with [v]Use PetscObjectIsNull(obj) to check if the object is NULL, instead of obj == PETSC_NULL_XXXThe compiler will now automatically prevent you from using the wrong argument type for the first three bullets aboveThis will also require an update sowing with the new sowing branch this MR is using.
Fix words appearing twice in a row for no good reason
Merge branch 'barry/2024-01-03/docs-c2html' into 'main'Remove recursive build of c2html files; no longer uses classic makefilesSee merge request petsc/petsc!7167
Use < instead of " for includes of PETSc include filesAnd Remove unneeded duplicate includesCo-Authored-by: Jose Roman <jroman@dsic.upv.es>
Fix "Extra spaces in test harness rules" in checkbadSource
Remove MANSEC from makefiles it is not needed in, tutorials and tests
Add support for managing the number of threads BLAS uses
12345