<div dir="ltr">Hi Barry,<div><br></div><div>When using <span style="font-family:arial,sans-serif;font-size:13px">-snes_grid_sequence <n>, how does SNES refines the mesh? Does it detect where should the mesh be refine locally like an adaptive refinement?</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Thank you.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><span style="font-family:arial,sans-serif;font-size:13px">S.</span></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 17, 2014 at 4:09 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
On Jun 17, 2014, at 3:03 PM, Sang pham van <<a href="mailto:pvsang002@gmail.com">pvsang002@gmail.com</a>> wrote:<br>
<br>
> Hi Barry,<br>
><br>
</div>> I want to try the original version of Newton method, no line search nor trust region…<br>
<br>
   This will often fail, original version Newton just doesn’t work without a good initial solution.<br>
<div class=""><br>
> Using grid sequencing confuses me at the point that I don't know explicitly the final mesh size, or even if I can estimate the mesh size from the input -snes_grid_sequence n it's not so convenient for me when some of my routines need such info from very first moment.<br>

<br>
</div>   To do grid sequencing your code needs to be able to compute the function on several grids, and compute the Jacobian on several grids. If your code is hardwired to work on only one grid (with global variables or whatever) you cannot use grid sequencing and you out of luck. You should organize your code so that it doesn’t depend on any hardwired grid sizes.<br>

<span class="HOEnZb"><font color="#888888"><br>
  Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
> I wish PETSc could allow us to pass in the finest mesh for grid sequencing.<br>
><br>
><br>
> S,<br>
><br>
><br>
> On Tue, Jun 17, 2014 at 3:46 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
> On Jun 17, 2014, at 2:30 PM, Sang pham van <<a href="mailto:pvsang002@gmail.com">pvsang002@gmail.com</a>> wrote:<br>
><br>
> > Thanks Barry,<br>
> ><br>
> > To refine the grid, I just put more points in the direction. For both fine and coarse meshes, I used simple initial guess (say constant values in whole domain for all variables).<br>
> ><br>
> > By using grid sequencing, is the finest mesh is the one I first input the solver?<br>
><br>
>   No, you pass in the coarse one.<br>
> ><br>
> > Can you let me know what options should I use to have pure Newton method?<br>
><br>
>    Not sure what you mean by pure Newton method, maybe without grid sequencing? It simply may not be possible to get convergence from a “poor” initial guess. One should always use grid sequencing if possible.<br>
><br>
>    Barry<br>
><br>
> ><br>
> > S.<br>
> ><br>
> ><br>
> > On Tue, Jun 17, 2014 at 3:20 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
> ><br>
> > On Jun 17, 2014, at 2:12 PM, Sang pham van <<a href="mailto:pvsang002@gmail.com">pvsang002@gmail.com</a>> wrote:<br>
> ><br>
> > > Hi,<br>
> > ><br>
> > > I am using DM structure and SNES to solve a 3D problem. In the problem I have 3 variables.<br>
> > ><br>
> > > I got SNES converged with a grid. Obtain result are physically right. However when I refine the grid, SNES does not always converge,<br>
> ><br>
> >    With the refined grid how are you starting the solution? Do you use the interpolated solution from the coarser grid (called grid sequencing) or just some “not good” initial guess?<br>
> ><br>
> > > the reason of divergence is line search fail or linear solver failed. (I also tried other type of SNES, line search seems to be the one best fits my problem)<br>
> > ><br>
> > > Can you please give me a suggestion to figure out the problem with my solver? What options should I use to have pure Newton method in SNES? Is there any advance option I can use with line search to improve SNES convergence.<br>

> > ><br>
> ><br>
> >    You should use grid sequencing, not only does it get convergence when you may not otherwise get it but it will also solve the problem faster. With PETSc DM you can use -snes_grid_sequence n  or SNESSetGridSequence() in the code to do n levels of grid sequencing.<br>

> ><br>
> >    Barry<br>
> ><br>
> > > Thank you very much.<br>
> > ><br>
> > > Minh.<br>
> > ><br>
> ><br>
> ><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>