After further tests I noticed:
-> The calculation also has problems if the boundary is equal to the 
initial values, i.e. the gradients should be 0 everywhere
-> The time step size is not the reason for the behaviour, the calculation 
goes through without any problem if I neglect the gradients (d_tT = 0), but 
if I instead just take a look at the gradients (\nabla^2 T = 0), for a 
certain level of initial values and boundary values I get the described 
-> When varying the equation structure from explicit euler to implicit 
euler via Crank-Nicholson using theta, I notice:
--> For values of theta below 0.5: My result gets instable and starts 
--> For values above theta=0.5: The result is stable, but the residual 
never decreases below a certain threshold.

Thus I assume there must be a numerical problem/inaccuracy somewhere, but I 
could not find the point yet. Nevertheless, it looks like as if the 
gradient functions create larger inaccuracies for large values than the 
value-function itself.

What can I do further as debugging for getting more precise results? 


Am Dienstag, 10. April 2018 18:30:06 UTC+2 schrieb Maxi Miller:
> This question might be related to earlier of my questions, but finally I 
> could not find an explanation for the behaviour yet, thus this question.
> I intended to calculate the time-dependent heat equation with constant 
> factors, using the newton method (such that time-dependent factors can be 
> implemented later) and automatic differentiation. Now I added an offset to 
> the initial values and the border values, such that both are lifted 
> equally. Nevertheless I found out that if I either reduce the time step 
> length or increase the offset value, the residual value I am using for 
> controlling the solution progress initially decreases fast, but then slows 
> down at a certain value depending on the offset value and the time step 
> size. Below a certain time step size or above a certain offset value the 
> value never gets smaller, and the best calculated step length goes towards 
> 0 (compared to close to 1 before). 
> I do not understand that behaviour. Based on initial tests my code should 
> work correct, nevertheless it quits for certain values. What could be the 
> reason for that? I attached the code to the question, it should be 
> self-contained. Changing of the parameters can either be done using the 
> OFFSET-parameter or the time_step parameter in the parameter.prm-file
> Thanks!

The deal.II project is located at
For mailing list/forum options, see
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 
For more options, visit

Reply via email to