Barry, I'm already running the program with -snes_vi_monitor. I'll update everyone in a few hours.
Thanks, Ata On Jan 17, 2012, at 8:16 AM, Barry Smith wrote: > > Blaise, > > Let's not solve the problem until we know what the problem is. > -snes_vi_monitor first then think about the cure > > Barry > > On Jan 16, 2012, at 8:49 PM, Blaise Bourdin 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 >> >> >> >> >> >> >> >
