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
show more ...
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.
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null objects correctly
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
LIBBASE is no longer used in make so remove it
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
HAVE_FORTRAN should be USE_FORTRAN_BINDINGS since it is about generating the Fortran bindings, not about if the Fortran compiler exists
Fix PCASMCreateSubdomains2D() and PCGASMCreateSubdomains2D() to work from FortranTest code contributed by LEONARDO MUTTIReported-by: LEONARDO MUTTI <leonardo.mutti01@universitadipavia.it>
Format the ftn-custom files with clang-format. Apparently no particular reason we did not format them initially
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
makefile: fix typo - petsckdir.mk -> petscdir.mk
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
Various fixes for NVIDIA's nvhpc toolkitThe nvhpc systems separates the CUDA math libaries and includes from the regular CUDA materialthus cuda.py has to detect and manage this separation automati
Various fixes for NVIDIA's nvhpc toolkitThe nvhpc systems separates the CUDA math libaries and includes from the regular CUDA materialthus cuda.py has to detect and manage this separation automatically.Note also the nvhpc includes the MPI compilers in another directory which should be used with MPI.Do not use outer C++ compiler as Kokkos compiler as that may not match the compiler used by nvcc, instead use the C++ compiler that nvcc uses. This is tricky because this compiler has to have access to the MPI headers since it sees all of the PETSc headers./spend 14h
exodusii: viewer updates - finished implementing PETSCVIEWEREXODUSII - Call the proper exodusii function when VecView/Load and DMView/Load are invoked on a PETSCVIEWEREXODUSII viewer - Added
exodusii: viewer updates - finished implementing PETSCVIEWEREXODUSII - Call the proper exodusii function when VecView/Load and DMView/Load are invoked on a PETSCVIEWEREXODUSII viewer - Added interface to define second order exodusii meshes - updated dm/impls/plex/tests/ex26.c
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
Remove usage of PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL, HAVE_FORTRAN_MIXED_STR_ARG flags - as Compaq f90 compiler is no longer supported
git grep -l "seperate" | xargs sed -i '' -e 's/seperate/separate/g'Commit-type: spelling-fixReported-by: Pierre JOLIVET <Pierre.Jolivet@enseeiht.fr>
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-f
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-fixReported-by: Tim Steinhoff <kandanovian@gmail.com>
Converted most vec/vec/examples/tutorials to new test harness and fortran examples in tests directoryStill need to convert Cuda examples and examples that depend on more than one .o fileCommit-typ
Converted most vec/vec/examples/tutorials to new test harness and fortran examples in tests directoryStill need to convert Cuda examples and examples that depend on more than one .o fileCommit-type: testing-fix
Minor cleanup, remove some outdated code, remove unneeded constructs, improve manual pages slightly, add missing test caseTime: 2.5 hours
12