Once I merge this PR
https://bitbucket.org/petsc/petsc/pull-requests/722/proper-support-for-successive-tssolve/diff
we will have TS{Set|Get}Max{Steps|Time}().

Barry asked about deprecating TSSetDuration(), but I'm not completely
sure about it. We could keep it as a supported convenience method
which calls directly TS{Set|Get}Max{Steps|Time}(), just as
TSSetInitialTimeStep() works. <sarcasm-on> I'll assume you guys are ok
with having TSSetInitialTimeStep() as a convenience method, otherwise
it would have been deprecated and eventually removed (and the ton of
examples updated) ages ago <sarcasm-off> .

Or maybe we just need to rethink our default max_steps and max_time.
What about the following:

* TSCreate()
max_steps = PETSC_MAX_INT
max_time = PETSC_MAX_REAL (or maybe PETSC_INFINITY? )

* TSSolve()/TSStep()
Error if both max_step and max time are set to unlimited.

If we had these features in place, I would no longer consider
TSSetDuration() as a convenience method, and I would be just fine with
deprecating it.

What do you think?


-- 
Lisandro Dalcin
============
Research Scientist
Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
Extreme Computing Research Center (ECRC)
King Abdullah University of Science and Technology (KAUST)
http://ecrc.kaust.edu.sa/

4700 King Abdullah University of Science and Technology
al-Khawarizmi Bldg (Bldg 1), Office # 0109
Thuwal 23955-6900, Kingdom of Saudi Arabia
http://www.kaust.edu.sa

Office Phone: +966 12 808-0459

Reply via email to