On 09/18/2017 11:39 AM, Yiyang Zhang wrote:
I am following, e.g. Step-15, to solve a nonlinear system with Newton method.

The system is with the scalar potential V(phi)=(phi^2-1)^2.

The solution satisfies the boundary condition phi=1 at infinity, such that the total energy is finite. Actually, we expect phi goes from 0 to 1 when the when the coordinate goes from center to infinity. phi should never exceeds 1.

That may be true for the *exact* solution of the PDE. But is it also true for the *discrete* solution?


However, when I do Newton iteration, phi always exceeds 1 near the boundary (my early description is wrong, it is not a local minima...), then things blow up...

Previously, I also solved such problems in 1D with finite difference. the field will also blow up at some point. In that case, after every iteration, I examine the values of the field at each discretized point. Wherever it exceed 1, I will manually replace it with 1. That will solve the problem.

Thus I wonder if I can do the same thing in dealii.

Yes, you can do that. You just have to loop over the elements of your solution vector and reset values that are too large or too small.

But you may lose the quadratic convergence of the Newton method this way (because the solution at the end of this step no longer satisfies the Newton update condition du=-J(u)^-1 F(u) ).

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 bange...@colostate.edu
                           www: http://www.math.colostate.edu/~bangerth/

--
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to