History log of /petsc/src/ts/event/tsevent.c (Results 26 – 50 of 247)
Revision Date Author Comments
# 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 ...


# b91faeda 24-Nov-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-11-18/improve-man-page-tsseteventhandler/release' into 'main'

Make the words used in manual pages for TSSetEventHandler() clearer

See merge request petsc/petsc!7037


# 9b3d3759 18-Nov-2023 Barry Smith <bsmith@mcs.anl.gov>

Make the words used in manual pages for TSSetEventHandler() clearer


# 186cd71f 24-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-07-19/lint-apply-ts' into 'main'

Manual linter fixes: ts

See merge request petsc/petsc!6736


# 14d0ab18 19-Jul-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Manual linter fixes: ts


# cfd92c66 22-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-type-generic-petsc-valid-pointer' into 'main'

Implement a type generic PetscValidPointer

See merge request petsc/petsc!6693


# 4f572ea9 18-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Rename PetscValidPointer -> PetscAssertPointer


# 7a2f837d 06-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Deploy new PetscValidPointer, remove PetscValidXXXPointer


# 02477ebb 15-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-06-30/enable-doc-lint' into 'main'

Enable docs linting

See merge request petsc/petsc!6667


# b43aa488 12-Jul-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Lint apply: ts


# 8c38e02a 03-Jun-2023 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/release'


# 4ff55f77 01-Jun-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-05-27/improve-tutorials/release' into 'release'

Minor cleanup of website tutorials

See merge request petsc/petsc!6520


# 1cc06b55 27-May-2023 Barry Smith <bsmith@mcs.anl.gov>

change to consistent use of ch_xxx for chapter names in the docs, instead of a mix of ch_xx and chapter_xx


# 597312bb 02-May-2023 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/release'


# 7168d968 02-May-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'stefanozampini/fix-setinf' into 'release'

Fixes for -fp_trap

See merge request petsc/petsc!6372


# 44ceb375 29-Apr-2023 Matthew G. Knepley <knepley@gmail.com>

TS: allow 0 increment


# d01c6957 28-Mar-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-03-25/fix-more-manualpages' into 'main'

More manual page fixes

See merge request petsc/petsc!6233


# 2fe279fd 28-Mar-2023 Barry Smith <bsmith@mcs.anl.gov>

More manual page fixes


# e9f36840 18-Mar-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2023-03-08/fix-man-pages-detected-by-lint' into 'main'

Fix many manual pages

See merge request petsc/petsc!6162


# 20f4b53c 09-Mar-2023 Barry Smith <bsmith@mcs.anl.gov>

Fix manual pages based on reports from Jacob's lint tool

Commit-type: documentation


# 37d05b02 06-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/release'


# b877537e 05-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jolivet/fix-typos' into 'release'

Fix Typos

See merge request petsc/petsc!6024


# da81f932 05-Feb-2023 Pierre Jolivet <pierre@joliv.et>

Fix Typos


# 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


12345678910