| #
4e8208cb
|
| 31-Jan-2026 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2026-01-13/ftn-generation-for-context-functions' into 'main'
Fortran generation of interface definitions for functions that take and return context variables (void *ctx and PetC
Merge branch 'barry/2026-01-13/ftn-generation-for-context-functions' into 'main'
Fortran generation of interface definitions for functions that take and return context variables (void *ctx and PetCtx ctx)
See merge request petsc/petsc!8956
show more ...
|
| #
2a8381b2
|
| 13-Jan-2026 |
Barry Smith <bsmith@mcs.anl.gov> |
Add automatic generated fortran support for setting and returning contexts
Major 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 contexts
Major 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 PetscCtxDestroyFn
Both of these are typedef to void*
Also removed most use of user and userctx for context arguments now consistently named ctx
Improved documentation on PetscCtx and PetscCtxRt and on how to use contexts (including getting them) from Fortran
show more ...
|
| #
732aec7a
|
| 22-Sep-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/remove-cast' into 'main'
Use NULL or nullptr instead of casted 0
See merge request petsc/petsc!7857
|
| #
c8025a54
|
| 21-Sep-2024 |
Pierre Jolivet <pierre@joliv.et> |
Use NULL or nullptr instead of casted 0
|
| #
970231d2
|
| 07-Mar-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jolivet/clang-format-18' into 'main'
clang-format version 18
See merge request petsc/petsc!6902
|
| #
4ad8454b
|
| 09-Feb-2024 |
Pierre Jolivet <pierre@joliv.et> |
Remove some unneeded parentheses
|
| #
c7fbd2bd
|
| 02-Feb-2024 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2024-01-19/typedef-snes-functions' into 'main'
add typedef for functions passed to SNESSetFunction() etc to match approach in TS
See merge request petsc/petsc!7206
|
| #
8434afd1
|
| 02-Feb-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Change the use of the _Fn suffix to indicate a typedef of a function to just Fn
As determined on a vote on GitLab
|
| #
d1c5d1fc
|
| 21-Jan-2024 |
Barry Smith <bsmith@mcs.anl.gov> |
Convert TS typedef functions to new style ending with _Fn
Commit-type: housekeeping, maintainability
|
| #
bff66efa
|
| 15-Dec-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'ilya-fursov/ts-fixevent2' into 'main'
TSEvent: refactor and fix bugs, add TSSetPostEventStep()
See merge request petsc/petsc!6752
|
| #
fe4ad979
|
| 03-Dec-2023 |
Ilya Fursov <ilya.foursov.7bd@gmail.com> |
Implement setting two distinct post-event steps
The two post-event steps are managed by: TSSetPostEventStep(), -ts_event_post_event_step, TSSetPostEventSecondStep(), -ts_event_post_event_second_step
Implement setting two distinct post-event steps
The two post-event steps are managed by: TSSetPostEventStep(), -ts_event_post_event_step, TSSetPostEventSecondStep(), -ts_event_post_event_second_step.
(The latter function and option are replacement for the original PETSc TSSetPostEventIntervalStep(), -ts_event_post_eventinterval_step, with some change of overall behaviour of 1st + 2nd steps).
Also, reduce the number of tests ~ 4 times.
show more ...
|
| #
fa9584fb
|
| 03-Dec-2023 |
Ilya Fursov <ilya.foursov.7bd@gmail.com> |
Update the previously existing TSEvent tests and tutorials.
Move src/ts/tests/ex1.c to src/ts/event/tests/ex1.c Move src/ts/tests/ex16.c to src/ts/event/tests/ex16.c Move src/ts/tests/ex22.c to src/
Update the previously existing TSEvent tests and tutorials.
Move src/ts/tests/ex1.c to src/ts/event/tests/ex1.c Move src/ts/tests/ex16.c to src/ts/event/tests/ex16.c Move src/ts/tests/ex22.c to src/ts/tutorials/ex32.c, as it's not a test.
Fix the bouncing ball examples src/ts/tutorials/ex40.c and ex44.c to cleanly terminate on reaching M bounces.
show more ...
|
| #
ca4445c7
|
| 20-Jul-2023 |
Ilya Fursov <ilya.foursov.7bd@gmail.com> |
TSEvent: refactor and fix bugs, add TSSetPostEventStep()
Refactor the core algorithm for resolution of events: TSEventHandler() and the helper functions, fixing the existing bugs.
Chang
TSEvent: refactor and fix bugs, add TSSetPostEventStep()
Refactor the core algorithm for resolution of events: TSEventHandler() and the helper functions, fixing the existing bugs.
Change event indicator functions from PetscScalar to PetscReal. Change the API of TSSetEventHandler(): in the user `indicator()` callback, the 'fvalue' argument type changed from PetscScalar[] to PetscReal[].
Add TSSetPostEventStep(), deprecate TSSetPostEventIntervalStep(). Deprecate option -ts_event_post_eventinterval_step.
Fix bugs in interaction of TSEvent with tspan. Add six new test examples.
Below are the examples of bugs fixed by this patch. The source codes (ex3.c, ex3span.c, ex4.c, ex5.c) can be found in src/ts/event/tests. To run them with the older Petsc versions, one would need to comment out "#define NEW_VERSION". Behaviour for three library versions is reported below: * ORIG: current Petsc version, before the proposed patch. * 6688: independently of the proposed patch, Merge Request 6688 was developed, which fixed some bugs with zero-crossing directions. * NEW : the proposed patch.
./ex3 -ts_monitor -ts_event_monitor -ts_view -ts_type beuler \ -ts_adapt_type basic -flg -V 1e9 -ts_adapt_dt_min 1e-6 -change5 1 -dir 1 * ORIG: fails to resolve 5 out of 6 events, and resolves 23 incorrect events. * 6688: fails to exit the TSEvent iteration via the step size (bracket size) criterion. * NEW : ok, resolves all 6 events.
./ex4 -ts_adapt_type basic -ts_type rk -ts_dt 0.25 -ts_event_tol 1e-8 \ -dir 0 -ts_adapt_dt_min 1e-10 -ts_view -ts_monitor -ts_event_monitor * ORIG: only reaches t = 0.0300236 after 10000 TS steps. * 6688: only reaches t = 0.0300236 after 10000 TS steps. * NEW : ok, reaches the final time t = 4.0 after 96 TS steps, resolving all 16 events.
./ex5 -ts_monitor -ts_event_monitor -ts_type rk -ts_adapt_type basic \ -ts_view -ts_dt 0.25 -flg -dir 0 * ORIG: only reaches t = 4.0 after 10000 TS steps, erroneously reports event at t = 4.0 around 5000 times. * 6688: only reaches t = 4.0 after 10000 TS steps. * NEW : ok, reaches the final time t = 10.0 after 99 TS steps, resolving all 34 events.
./ex5 -ts_monitor -ts_event_monitor -ts_type rk -ts_adapt_type basic \ -ts_view -ts_dt 0.25 -flg -dir 1 * ORIG: fails, starts taking negative time steps, no events are correctly resolved. * 6688: ok, but slower: 90 TS steps to resolve all 17 events. * NEW : ok, and faster: 48 TS steps to resolve all 17 events.
./ex5 -ts_monitor -ts_event_monitor -ts_type rk -ts_adapt_type basic \ -ts_view -ts_dt 0.25 -flg -dir -1 * ORIG: fails, starts taking 'nan' time steps. * 6688: mostly fails, only reaches t = 4.99993 after 10000 TS steps. * NEW : ok, reaches the final time t = 10.0 after 74 TS steps, resolving all 17 events.
The same run in parallel: mpirun -n 2 ./ex5 -ts_monitor -ts_event_monitor -ts_type rk \ -ts_adapt_type basic -ts_view -ts_dt 0.25 -flg -dir -1 * ORIG: fails, starts taking negative time steps, exits with runtime error. * 6688: mostly fails, only reaches t = 3, besides, the parallel run is not consistent with the serial run (see above). * NEW : ok, reaches the final time t = 10.0 after 74 TS steps, resolving all 17 events.
./ex3span -ts_monitor -ts_event_monitor * ORIG: (confused by events) misses tspan points: 4.02, 4.21, 4.98, 5.01, 5.21, 5.98, 6, 6.01, 6.02, 6.21, 6.99, 7.21, 8.01, 8.21, 9.01. * 6688: (confused by events) misses tspan points: 4.02, 4.21, 4.98, 5.01, 5.21, 5.98, 6, 6.01, 6.02, 6.21, 6.99, 7.21, 8.01, 8.21, 9.01. * NEW : ok.
./ex3span -ts_monitor -ts_event_monitor -ts_event_post_event_step 0.5 * ORIG: misses the majority of tspan points (except 0.01 and 0.21), and also resolves the last event location at wrong time t = 9.21. * 6688: misses the majority of tspan points (except 0.01 and 0.21), and also resolves the last event location at wrong time t = 9.21. * NEW : ok.
show more ...
|
| #
31d78bcd
|
| 02-Feb-2023 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-12-10/petscerrorcode-nodiscard' into 'main'
Feature: Non-discardable PetscErrorCode
See merge request petsc/petsc!5923
|
| #
3ba16761
|
| 10-Dec-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
Make PetscErrorCode a non-discardable enum
|
| #
061e922f
|
| 22-Sep-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-09-21/2-bike-2-shed' into 'main'
Feature: Bicycle Storage Facility 2
See merge request petsc/petsc!5661
|
| #
d71ae5a4
|
| 21-Sep-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
source code format changes due to .clang-format changes
|
| #
58d68138
|
| 23-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-08-21/clang-format-source' into 'main'
format repository with clang-format
See merge request petsc/petsc!5541
|
| #
9371c9d4
|
| 22-Aug-2022 |
Satish Balay <balay@mcs.anl.gov> |
clang-format: convert PETSc sources to comply with clang-format
|
| #
5cab5458
|
| 26-Jul-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-07-23/add-petscbeginuser' into 'main'
Add PetscFunctionBeginUser to all PETSc C/C++ examples
See merge request petsc/petsc!5470
|
| #
327415f7
|
| 23-Jul-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Add PetscFunctionBeginUser to all PETSc C/C++ examples
Now the stack frames will contain the main program and the correct line numbers in them
git ls-files | egrep "(tutorials|tests)" | xargs sed -
Add PetscFunctionBeginUser to all PETSc C/C++ examples
Now the stack frames will contain the main program and the correct line numbers in them
git ls-files | egrep "(tutorials|tests)" | xargs sed -i "s?\(PetscCall(PetscInitialize(&argc\)?PetscFunctionBeginUser;\n \1?g"
Commit-type: error-checking, testing-fix /spend 15m
show more ...
|
| #
527ad957
|
| 11-Apr-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'barry/2022-04-01/fix-petsc-options-begin-end/release' into 'main'
Remove bogus error returns from Begin/End() macros
See merge request petsc/petsc!5069
|
| #
d0609ced
|
| 02-Apr-2022 |
Barry Smith <bsmith@mcs.anl.gov> |
Cleanup of introduction of PetscCall()
* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()
* rename for consistency certain XXXBegin()/End() macros such as Mat
Cleanup of introduction of PetscCall()
* remove bogus error flags from XXXBegin()/End() macros such as PetscOptionsBegin()/End()
* rename for consistency certain XXXBegin()/End() macros such as MatPreallocateInitialize()/Finalize()
* fix many lingering ierr = XXX that arose from multiline function calls
* sync slepc/hpddm - to use snapshots with the same changes
Commit-type: error-checking, style-fix /spend 8h
show more ...
|
| #
f882803c
|
| 26-Mar-2022 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'jacobf/2022-02-23/variadic-chkerr' into 'main'
Variadic CHKERRQ()
See merge request petsc/petsc!4889
|
| #
9566063d
|
| 25-Mar-2022 |
Jacob Faibussowitsch <jacob.fai@gmail.com> |
The great renaming:
- CHKERRQ() -> PetscCall() - CHKERRV() -> PetscCallVoid() - CHKERRMPI() -> PetscCallMPI() - CHKERRABORT() -> PetscCallAbort() - CHKERRCONTINUE() -> PetscCallContinue() - CHKERRXX
The great renaming:
- CHKERRQ() -> PetscCall() - CHKERRV() -> PetscCallVoid() - CHKERRMPI() -> PetscCallMPI() - CHKERRABORT() -> PetscCallAbort() - CHKERRCONTINUE() -> PetscCallContinue() - CHKERRXX() -> PetscCallThrow() - CHKERRCXX() -> PetscCallCXX() - CHKERRCUDA() -> PetscCallCUDA() - CHKERRCUBLAS() -> PetscCallCUBLAS() - CHKERRCUSPARSE() -> PetscCallCUSPARSE() - CHKERRCUSOLVER() -> PetscCallCUSOLVER() - CHKERRCUFFT() -> PetscCallCUFFT() - CHKERRCURAND() -> PetscCallCURAND() - CHKERRHIP() -> PetscCallHIP() - CHKERRHIPBLAS() -> PetscCallHIPBLAS() - CHKERRHIPSOLVER() -> PetscCallHIPSOLVER() - CHKERRQ_CEED() -> PetscCallCEED() - CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction() - CHKERRMKL() -> PetscCallMKL() - CHKERRMMG() -> PetscCallMMG() - CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD() - CHKERRCGNS() -> PetscCallCGNS() - CHKERRPTSCOTCH() -> PetscCallPTSCOTCH() - CHKERRSTR() -> PetscCallSTR() - CHKERRTC() -> PetscCallTC()
show more ...
|