[petsc-users] SNESVI convergence spped

Blaise Bourdin bourdin at lsu.edu
Mon Jan 16 20:49:24 CST 2012


Hi,

Ata and I are working together on this. The problem he describes is 1/2 of the iteration of our variational fracture code. 
In our application, E is position dependant, and typically becomes very large along very thin bands with width of the order of epsilon in the domain. Essentially, we expect that V will remain exactly equal to 1 almost everywhere, and will transition to 0 on these bands. Of course, we are interested in the limit as epsilon goes to 0. 

If the problem indeed is that it takes many steps to add the degrees of freedom. Is there any way to initialize manually the list of active constraints? To give you an idea, here is a link to a picture of the type of solution we expect. blue=1
https://www.math.lsu.edu/~bourdin/377451-0000.png

Blaise



> It seems to me that the problem is that ultimately ALL of the degrees of freedom are in the active set,
> but they get added to it a few at a time -- and there may even be some "chatter" there -- necessitating many SNESVI steps. 
> Could it be that the regularization makes things worse? When \epsilon \ll 1, the unconstrained solution is highly oscillatory, possibly further exacerbating the problem. It's possible that it would be better if V just diverged uniformly.  Then nearly all of the degrees of freedom would bump up against the upper obstacle all at once.  
> 
> Dmitry.
> 
> On Mon, Jan 16, 2012 at 8:05 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>  What do you get with -snes_vi_monitor   it could be it is taking a while to get the right active set.
> 
>    Barry
> 
> On Jan 16, 2012, at 6:20 PM, Ataollah Mesgarnejad wrote:
> 
> > Dear all,
> >
> > I'm trying to use SNESVI to solve a quadratic problem with box constraints. My problem in FE context reads:
> >
> > (\int_{Omega} E phi_i phi_j + \alpha \epsilon dphi_i dphi_j dx) V_i - (\int_{Omega} \alpha \frac{phi_j}{\epsilon} dx) = 0 , 0<= V <= 1
> >
> > or:
> >
> > [A]{V}-{b}={0}
> >
> > here phi is the basis function, E and \alpha are positive constants, and \epsilon is a positive regularization parameter  in order of mesh resolution. In this problem we expect V  =1 a.e. and go to zero very fast at some places.
> > I'm running this on a rather small problem (<500000 DOFS) on small number of processors (<72). I expected SNESVI to converge in couple of iterations (<10) since my A matrix doesn't change, however I'm experiencing a slow convergence (~50-70 iterations). I checked KSP solver for SNES and it converges with a few iterations.
> >
> > I would appreciate  any suggestions or observations to increase the convergence speed?
> >
> > Best,
> > Ata
> 
> 

-- 
Department of Mathematics and Center for Computation & Technology
Louisiana State University, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120116/86bd6064/attachment-0001.htm>


More information about the petsc-users mailing list