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 ...
Change use of void (*)(void) and void (**)(void) in the PETSc API to PetscVoidFn * and PetscVoidFn ** or PetscErrorCodeFn * or PetscErrorCodeFn **
Deprecate MPIU_BOOL which used to be for PETSc' enum Bool but now is just MPI_C_BOOL so no longer needs its own name
Remove explicitly listed empty files and switch to output/empty.out
All typedef for functions are of the form (XXXXFn)(...) not (*XXXXyyyy)(....)
Fix wrong case for PETSc
Plex+PetscFE: Fixes to allow embedded manifolds- Add PetscFEGeomMode to describe geometry- Reorganized PetscFEGeom- PetscFEGeomCreate(), DMFieldCreateFEGeom() and DMSNESGetFEGeom() now take the Pe
Plex+PetscFE: Fixes to allow embedded manifolds- Add PetscFEGeomMode to describe geometry- Reorganized PetscFEGeom- PetscFEGeomCreate(), DMFieldCreateFEGeom() and DMSNESGetFEGeom() now take the PetscFEGeomMode- J and invJ have dE dimensions- f1, g1, g2, g3 have dE dimensions- FIX the dim argument of all point function is really dE because it is used to index the gradients- Clarified behavior of PetscFEGeomGetCellPoint()- Now -dm_plex_coordinate_dim can change the coordinate dimension of a mesh created by Plex- Implicit cell geometry must be used when dim != cdim
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those t
Unifies all context destructors to have a form of PetscCtxDestroyFn == PetscErrorCode (*)(void **)Changes the previous subset of destructor APIs that used PetscErrorCode (*)(void *) (mostly those thatused PetscContainer- Now allows any context to be a PetscObject- Will provide a cleaner mapping to bindings in other languages- Simplifies the maintenance of PETSc source code; improves clarityNot backward compatible, compiler warnings will tell users what functions need to be updated
Fix wrong PetscErrorCode
Use PetscObjectContainerCompose() when applicable
Fix MPIU_* routines to always return MPI error codes and thus be usable with PetscCallMPI()Introduce MPIU_Count to be used when MPI_Count is not available
PetscFE: Test DMCreateMassMatrix
plex: Print out labels in sorted stratum order
feat(plex): Add DMPlexSetBoxLabel_Internal
Remove multiple parentheses and extra semicolongit grep -l -E "\(\([a-zA-Z0-9_]+\)\(\*[a-zA-Z0-9_]+\)[, )]" | xargs sed -r -i'' 's#\(\(([a-zA-Z0-9_]+)\)\(\*([a-zA-Z0-9_]+)\)([, )])#\(\(\1\)\*\2\3#g
Remove multiple parentheses and extra semicolongit grep -l -E "\(\([a-zA-Z0-9_]+\)\(\*[a-zA-Z0-9_]+\)[, )]" | xargs sed -r -i'' 's#\(\(([a-zA-Z0-9_]+)\)\(\*([a-zA-Z0-9_]+)\)([, )])#\(\(\1\)\*\2\3#g'git grep -l -E "Petsc(.)*\(\(\*[a-zA-Z0-9_]*\)," | xargs sed -r -i'' 's#Petsc([a-zA-Z0-9_]*)\(\(\*([a-zA-Z0-9_]*)\), #Petsc\1(*\2, #g'git grep -l -E "([\!\&\~\*\(]|\)\)|\([^,\*\(]+\**\))\(([a-zA-Z0-9_]+((\.|->)[a-zA-Z0-9_]+|\[[a-zA-Z0-9_ \%\+\*\-]+\])+)\)" | xargs sed -r -i'' 's#([\!\&\~\*\(]|\)\)|\([^,\*\(]+\**\))\(([a-zA-Z0-9_]+((\.|->)[a-zA-Z0-9_]+|\[[a-zA-Z0-9_ \%\+\*\-]+\])+)\)#\1\2#g'
Change the use of the _Fn suffix to indicate a typedef of a function to just FnAs determined on a vote on GitLab
Update `PetscSimplePointFunc` to new naming convention `PetscSimplePoint_Fn`Commit-type: housekeeping
Remove MANSEC from makefiles it is not needed in, tutorials and tests
DMPLEXSNES: support objective functions
Profiling: Improve !defined(PETSC_USE_LOG) #defines- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:```c #if def
Profiling: Improve !defined(PETSC_USE_LOG) #defines- If we cast macro arguments to void, we can avoid unused errors that have forced lots of conditionally included code like this:```c #if defined(PETSC_USE_LOG) PetscLogEvent event; #endif```- Having global counters like petsc_TotalFlops externed event if !PetscDefined(USE_LOG) helps to remove a lot of needless `#ifdef`s around code that can instead be placed in `if (PetscDefined(USE_LOG)) {}` blocks.
Merge branch 'knepley/feature-hybrid-mass' into 'main'Plex: Can now specify a mass weighting to hybrid residualSee merge request petsc/petsc!6210
Plex: Can now specify a mass weighting to hybrid residual- This is not a complete fix. We need to match up quadrature points across the interface.
Remove need for seperate lib/petsc/conf/test file by merging with rules fileCommit-type: maintainability
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
123