<div dir="ltr">I would not worry about the null space (if you have elasticity or the equivalent use hypre for now) and the strength of connections, is not very useful in my experience (it is confounded my high order and no one has bothered to deploy a fancy strength of connections method in a library that I know of). If you have anisotropies or material discontinuities, honestly AMG does not do as well as advertised. That said, we could talk after you get up and running.<div><br></div><div>If your problems are very hard then as Matt said, old fashioned geometric MG using modern unstructured (FE) discretizations and mesh management, is something to consider. PETSc has support for this and we are actively using and developing support for this. Antony Jameson has been doing this for decades here is an example of a new project doing something like this: <a href="https://arxiv.org/abs/2307.04528">https://arxiv.org/abs/2307.04528</a>. Tobin Isaac, in PETSc, and many others have done things like this, but they tend to be customized for an application whereas AMG strives to be general.</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 27, 2023 at 1:10 AM Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Thu, Jul 27, 2023 at 12:48 AM Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">AMG is subtle here. With AMG for systems, you typically feed it elements of the near null space. In the case of (smoothed) aggregation, the coarse space will have a regular block structure with block sizes equal to the number of near-null vectors. You can use pc_fieldsplit options to select which fields you want in each split.<br>
<br>
However, AMG also needs a strength of connection and if your system is so weird you need to fieldsplit the smoothers (e.g., a saddle point problem or a hyperbolic system) then it's likely that you'll also need a custom strength of connection to obtain reasonable coarsening.<br></blockquote><div><br></div><div>For this reason, sometimes GMG is easier for systems since you just rediscretize.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</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">
Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> writes:<br>
<br>
>   See the very end of the section <a href="https://petsc.org/release/manual/ksp/#multigrid-preconditioners" rel="noreferrer" target="_blank">https://petsc.org/release/manual/ksp/#multigrid-preconditioners</a> on how to control the smoothers (and coarse grid solve) for multigrid in PETSc including for algebraic multigrid.<br>
><br>
>    So, for example, -mg_levels_pc_type fieldsplit would be the starting point. Depending on the block size of the matrices it may automatically do simple splits, you can control the details  of the fieldsplit preconditioner with -mg_levels_pc_fieldsplit_...  and the details for each split with -mg_levels_fieldsplit_.... <br>
><br>
>    See src/ksp/ksp/tutorials/ex42.c for example, usage <br>
><br>
>    Feel free to ask more specific questions once you get started.<br>
><br>
>> On Jul 26, 2023, at 9:47 PM, Michael Wick <<a href="mailto:michael.wick.1980@gmail.com" target="_blank">michael.wick.1980@gmail.com</a>> wrote:<br>
>> <br>
>> Hello PETSc team:<br>
>> <br>
>> I wonder if the current PETSc implementation supports using AMG monolithically for a multi-field problem and using fieldsplit in the smoother.<br>
>> <br>
>> Thank you very much,<br>
>> <br>
>> Mike<br>
</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>
</blockquote></div>