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
>
>
>
>
>
>
>