<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Thanks a lot for the reply.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​From my understanding and specifically for my problem I would have to use the AMGSetDofFunc as follows:​<br></div></div><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​nsyseq = 3;​</div></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><span style="font-size:12.8px">for (i=0; i<nsyseq; i++)</span></div><div style="font-size:12.8px"><font face="arial, helvetica, sans-serif"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​    ​</div>for (k=0; k<<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​N</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​</div>; k++)<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​ // N: number of nodes​</div></font></div><div style="font-size:12.8px"><font face="arial, helvetica, sans-serif">    {</font></div><div style="font-size:12.8px"><font face="arial, helvetica, sans-serif">    <div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​    ​</div>eqnIndex[i*<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​N</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">​</div>+k] = i;</font></div><div style="font-size:12.8px"><font face="arial, helvetica, sans-serif">    }</font></div><div style="font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif;font-size:12.8px">HYPRE_BoomerAMGSetDofFunc(</span><wbr style="font-family:arial,helvetica,sans-serif;font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif;font-size:12.8px">preconditioner, eqnIndex);</span><span style="font-family:arial,helvetica,sans-serif;font-size:small">​</span></div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">For a system of 3 PDEs (e.g. linear elasticity in 3D​) the default behaviour of the nodal coarsening in BoomerAMG, considers an array that is filled with</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">eqnIndex = ​0 1 2 0 1 2 0 1 2....0 1 2</div></div><div><br></div><div> > HYPRE_BoomerAMGSetDofFunc</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
   I could not find an indication of that this is suppose to be setting; it is mentioned in the users manual but I don't know what it means. It looks like it takes an integer array but I don't even know how long that array is.<br>
<br>
   If you figure out what it means and can add support for it we'll take it as a pull request.</blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​​OK Barry, I will try to specify the block size of the matrix.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">But I'm not sure if the block size would be 3 or N (number of nodes).</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">This is my ordering of the displacements: [ux1, ux2, ..., uxN, uy1, uy2,...uyN, uz1, uz2, ..., uzN]</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> HYPRE_BoomerAMGSetNumFunctions<br><br>   Set the block size of the matrix; this information is then transferred automatically to hypre.  Note that you can set a block size even for AIJ matrices.<br></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">​Best regards,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Bernardo​</div></div></div></div></div>