<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">FYI, you can try GAMG also. &nbsp;It uses the same algorithm as ML:<div><br></div><div>Here are parameters:<br><br>-pc_type gamg&nbsp;<br>-pc_gamg_type agg&nbsp;<br>-pc_gamg_agg_nsmooths 1 &nbsp;&nbsp;&nbsp;&nbsp;! this is good for elliptic problems<br>-pc_gamg_verbose 2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! this will help me to give a quick sanity check<br>-pc_gamg_threshold .05 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! for 3D problems this parameter can be useful for optimization<br>-pc_gamg_coarse_eq_limit 50 &nbsp;! a detail but you can keep in your input deck<br><div><br></div><div>The vector Lapacian has 6 null space vectors (3 translational, 3 rotational). &nbsp;GAMG will construct these with the a setCoordinates method (see the ksp tutorial example ex56.c). &nbsp;&nbsp;If you prefer to give me the null space vectors explicitly there is the MatSetNearNullSpace() method that Jed mentioned. &nbsp;GAMG has not implemented this but I should at some point so if you want to use it I can implement it.<br><br>If you do not give it coordinates it will construct the 3 translational null space vectors (don't need anything to compute these) and it can be OK. &nbsp;At least a good place to start.</div><div><br></div><div>Mark</div><div><br><div><div>On Apr 2, 2012, at 10:44 AM, Jed Brown wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Mon, Apr 2, 2012 at 06:59, Karin&amp;NiKo <span dir="ltr">&lt;<a href="mailto:niko.karin@gmail.com">niko.karin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":2p1">I would like to use ML as a preconditioner for a linear elasticity problem.<br>I wonder if there is a way to indicate ML that it is dealing with a vector problem. <br>I know that when using Prometheus, one must use a block matrix, and I would like to know if there is a trick <br>

in order to use ML in an optimal manner for vector problems.</div></blockquote></div><br><div>The block size is used if you don't provide any other information. The preferred approach with petsc-dev is to use MatSetNearNullSpace(). (I'll make sure this is currently working with ML and reply to this message.)</div>
</blockquote></div><br></div></div></body></html>