Reza,

Take a look at step-52. We have implemented different time stepping methods 
including embedded ones that automatically choose the time step for you. 
These methods will give you an hint on what the time step should be but you 
can always override the value if you have a better criteria. If the error 
is too large, the time step will be automatically reduced.

Best,

Bruno

On Wednesday, September 4, 2019 at 8:13:14 PM UTC-4, Reza Rastak wrote:
>
> 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 dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/19af2460-7ce5-48ec-a620-c32461b3e743%40googlegroups.com.

Reply via email to