I think looking at the output of -snes_vi_monitor, as Barry suggested, would be useful to see what really is going on. What initial guess are you using? If you initialize V = 1 then whether a degree of freedom belongs to the active set or not will depend only on the sign of the residual there. I imagine that only a few dofs will be driven away from the box boundary by a large E-term?
Dmitry. On Mon, Jan 16, 2012 at 8:49 PM, Blaise Bourdin <bourdin at lsu.edu> wrote: > 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/a5509ec8/attachment.htm>
