<div dir="ltr">Lets pretend I didn't ask that question :)<div><br></div><div>And yes, that obviously makes sense.  Thanks Barry.</div><div><br></div><div>-A<br><br><div class="gmail_quote">On Thu, Oct 20, 2011 at 3:42 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">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="im"><br>
On Oct 20, 2011, at 7:22 AM, Aron Ahmadia wrote:<br>
<br>
> We ended up recording mostly login information into getting into the supercomputer, but the slides are available here: <a href="http://aron.ahmadia.net/amcs312/petsc-ex50/" target="_blank">http://aron.ahmadia.net/amcs312/petsc-ex50/</a><br>

><br>
> What is the PETSc idiom for grabbing the fine level solution after using SNESGridSequence?<br>
<br>
</div>   SNESGetSolution()?<br>
<font color="#888888"><br>
   Barry<br>
</font><div><div></div><div class="h5"><br>
> I could not find any documentation about where the solutions, and the only way I've been able to do it so far is to set a SNESMonitor and save the grid out to disk when I am at high enough resolution.<br>
><br>
> A<br>
><br>
> On Sun, Oct 9, 2011 at 9:33 PM, Aron Ahmadia <<a href="mailto:aron.ahmadia@kaust.edu.sa">aron.ahmadia@kaust.edu.sa</a>> wrote:<br>
> Thanks guys, I will try to send you pictures/video after the demonstration this Wednesday.<br>
><br>
> -Aron<br>
><br>
><br>
> On Sun, Oct 9, 2011 at 5:54 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>   Note also you can use -da_refine <n>  Then it takes the initial grid sizes and refines n times before creating the DA, then it does multigrid with n+1 levels. If you do it this way you don't have to mess around with figuring what numbers to put in -da_grid_x 127   or whatever.<br>

><br>
>    Barry<br>
><br>
><br>
><br>
> On Oct 9, 2011, at 8:00 AM, Jed Brown wrote:<br>
><br>
> > On Sun, Oct 9, 2011 at 05:23, Aron Ahmadia <<a href="mailto:aron.ahmadia@kaust.edu.sa">aron.ahmadia@kaust.edu.sa</a>> wrote:<br>
> > Jed pointed out that I should be demo-ing ex50, not ex19, so I tried to port my stuff over.  Oddly enough, if I am using 2^n grid spacing, everything falls over. 2^n+1 works, though, which seems non-obvious to me.<br>

> ><br>
> > --- petsc-ex50/ex50 ‹master*➔ M⁇› » mpirun -n 4 ./ex50 -da_grid_x 65 -da_grid_y 65 -pc_type mg -pc_mg_levels 3<br>
> > lid velocity = 0.000236686, prandtl # = 1, grashof # = 1<br>
> > Number of Newton iterations = 6<br>
> ><br>
> > ./ex50 -da_grid_x 64 -da_grid_y 64 -pc_type mg -pc_mg_levels 2<br>
> ><br>
> > lid velocity = 0.000244141, prandtl # = 1, grashof # = 1<br>
> > [0]PETSC ERROR: --------------------- Error Message ------------------------------------<br>
> > [0]PETSC ERROR: Arguments are incompatible!<br>
> > [0]PETSC ERROR: Ratio between levels: (mx - 1)/(Mx - 1) must be integer: mx 64 Mx 32!<br>
> ><br>
> > DMMG always started with a coarse problem and refined a given number of times regardless of whether linear or nonlinear multigrid is being used.<br>
> ><br>
> > Now we have<br>
> ><br>
> > -snes_grid_sequence NLEVELS<br>
> ><br>
> > which starts with whatever grid you give it and refines. If you use -snes_grid_sequence N -pc_type mg, then the number of levels in PCMG will be automatically changed inside the grid sequencing so that it references the same coarse level.<br>

> ><br>
> > If instead, you only do linear multigrid, then you pass<br>
> ><br>
> > -pc_type mg -pc_mg_levels N<br>
> ><br>
> > and your specified problem is _coarsened_ to produce the number of levels. That coarsening requires some divisbility in the grid size. The reason it is 2^n+1 instead of 2^n is because this example uses a vertex-centered instead cell-centered discretization. This is natural for finite differences instead of finite volumes, but either method could be used with either centering strategy.<br>

><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div></div>