Hi,

I recently learned about the class Algorithms::TimestepControl and how it 
is being used in the Algorithms::ThetaTimestepping class. It has a fairly 
limited set of strategies (uniform step size and doubling step size). I 
wonder if we can customize it to allow adaptive time stepping. Let me 
explain with an example. Suppose we are running a time dependent algorithm 
and at each time-step we perform a Newton algorithm to solve a nonlinear 
time-dependent equation. The Newton algorithm reports its convergence 
quality through a SolverControl object. When we are advancing the time, we 
need to adjust the time step size based on the results stored in the 
SolverControl object. If it took too many steps to converge, we should 
reduce the time step size and if the convergence was easy, we can increase 
the step size. 

1. Is there already a class in dealii that can do that?
2. If we want to implement this functionality, what are the best designs 
for the interface?

There is another related functionality that I am also looking for. If the 
convergence in one of the steps fails, we need to go back in time and redo 
the calculations with a smaller time step size. Any ideas on how I can make 
that work?

Thank you

Reza

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/881504e4-76b1-4a28-89fb-6e67731f5e8e%40googlegroups.com.

Reply via email to