<div class="gmail_quote">On Mon, Jul 30, 2012 at 4:39 PM, Michele Rosso <span dir="ltr"><<a href="mailto:mrosso@uci.edu" target="_blank">mrosso@uci.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<font face="Ubuntu">Thank you,<br>
<br>
I will try to use option 2 as you suggested.<br>
I'd prefer to implement the multigrid preconditioner directly
inside the code <br>
rather then using he command line options.<br>
Could you point me to an example where this (or something similar)
is done?<br></font></div></blockquote><div><br></div><div>You can use -help and grep to find the functions that provide the functionality in command line options.</div><div><br></div><div>We recommend using command line options to explore which methods work. Once you have a configuration that you really like, you can put it in the code or (easier) just put it in an options file.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF"><font face="Ubuntu">
<br>
Thank you,<br>
<br>
Michele<br>
<br>
<br>
</font><div><div class="h5">
<div>On 07/30/2012 02:18 PM, Jed Brown
wrote:<br>
</div>
<blockquote type="cite">
<div class="gmail_quote">On Mon, Jul 30, 2012 at 4:06 PM, Michele
Rosso <span dir="ltr"><<a href="mailto:mrosso@uci.edu" target="_blank">mrosso@uci.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> <font face="Ubuntu">Hi,<br>
<br>
I am solving a variable coefficients Poisson equation with
periodic BCs.<br>
The equation is discretized by using the standard 5-points
stencil finite differencing scheme.<br>
I managed to solve the system successfully</font><font face="Ubuntu"> with the PCG method and now I would like to
add<br>
a preconditioner to speed up the calculation. My idea is
to use the multigrid preconditioner.<br>
<br>
Example ex22f.F implements what I think I need. <br>
If I understand correctly example ex22f.F, the subroutines
"ComputeRHS" and "ComputeMatrix" define how the <br>
matrix and rhs-vector have to be computed at each level.<br>
In my case tough, both the jacobian and the rhs-vector
cannot be computed "analytically", that is, they depend on
variables<br>
whose values are available only at the finest grid.<br>
<br>
How can I overcome this difficulty? <br>
</font></div>
</blockquote>
<div><br>
</div>
<div>Two possibilities:<br>
<br>
1. homogenize on your own and rediscretize</div>
<div><br>
</div>
<div>2. use Galerkin coarse operators (possibly with algebraic
multigrid)</div>
<div><br>
</div>
<div><br>
</div>
<div>Option 2 is much more convenient because it never </div>
<div><br>
</div>
<div>For geometric multigrid using DMDA, just use -pc_type mg
-pc_mg_galerkin</div>
<div><br>
</div>
<div>For algebraic multigrid, use -pc_type gamg
-pc_gamg_agg_nsmooths 1</div>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br>