Thanks Barry, Yes I'm using 3.2. I will change to dev and get back to you.
Ata On Jan 22, 2012, at 11:50 AM, Barry Smith wrote: > > > Ata, > > Sorry for the delay in responding. > > It looks like you are using petsc-3.2, is that correct? You should switch > to petsc-dev and rerun. The vi solvers are actively being developed and have > some improvements since the release. Please send the same convergence > information (just the text file of output) when running with > -ksp_monitor_true_residual -snes_vi_monitor (not the binary files). > > > Barry > > On Jan 18, 2012, at 9:40 AM, Ataollah Mesgarnejad wrote: > >> Dear all, >> >> Just realized that my email didn't go through because of my attachments, so >> here it is: >> >> Sorry if it took a bit long to do the runs, I wasn't feeling well yesterday. >> >> I attached the output I get from a small problem (90elements, 621 DOFs ) >> with different SNESVI types (exodusII and command line outputs). As you can >> see rsaug exits with an error but ss and rs run (and their results are >> similar). However, after V goes to zero at a cross section line searches for >> both of them (rs,ss) fail?! Also as you can see KSP converges for every step. >> >> These are the tolerances I pass to SNES: >> user->KSP_default_rtol = 1e-12; >> user->KSP_default_atol = 1e-12; >> user->KSP_default_dtol = 1e3; >> user->KSP_default_maxit = 50000; >> user->psi_default_frtol = 1e-8; // snes_frtol >> user->psi_default_fatol = 1e-8; //snes_fatol >> user->psi_maxit = 500; //snes_maxit >> user->psi_max_funcs = 1000; //snes_max_func_its >> >> Ps: files are here: http://cl.ly/0Z001Z3y1k0Q0g0s2F2R >> >> 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 >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >> >
