<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Ramoni,<div class=""><br class=""></div><div class="">All EM induction methods solved numerically like finite differences are difficult already because of the null-space of the curl-curl equations and then adding air layers on top of your model also introduce another singularity. These have been dealt with in the past by adding in some sort of divergence condition. Solving the curl-curl equations with a direct solution is fine, but iterative solutions are difficult.</div><div class=""><br class=""></div><div class="">There is no easy out of the box solution to this, but you can look at using multi-grid as a PC but this requires special care, for example:</div><div class=""><br class=""></div><div class=""><a href="https://academic.oup.com/gji/article-pdf/207/3/1554/6623047/ggw352.pdf" class="">https://academic.oup.com/gji/article-pdf/207/3/1554/6623047/ggw352.pdf</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">A good way to stabilize curl curl solutions is by explicit inclusion of grad-div J:</div><div class=""><br class=""></div><div class=""><a href="https://academic.oup.com/gji/article/216/2/906/5154929" class="">https://academic.oup.com/gji/article/216/2/906/5154929</a></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Good luck</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Randy Mackie</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 9, 2023, at 10:54 AM, Ramoni Z. Sedano Azevedo <<a href="mailto:ramoni.zsedano@gmail.com" class="">ramoni.zsedano@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><font face="arial, sans-serif" class="">We are solving the Direct Problem of <span style="color:rgb(51,51,51);background-color:rgb(247,247,247)" class="">Controlled Source Electromagnetics (CSEM) </span>using finite difference discretization.</font><br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qua., 8 de nov. de 2023 às 13:22, Jed Brown <<a href="mailto:jed@jedbrown.org" class="">jed@jedbrown.org</a>> escreveu:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">What sort of problem are you solving? Algebraic multigrid like gamg or hypre are good choices for elliptic problems. Sparse triangular solves have horrific efficiency even on one GPU so you generally want to do your best to stay away from them.<br class="">
<br class="">
"Ramoni Z. Sedano Azevedo" <<a href="mailto:ramoni.zsedano@gmail.com" target="_blank" class="">ramoni.zsedano@gmail.com</a>> writes:<br class="">
<br class="">
> Hey!<br class="">
><br class="">
> I am using PETSC in Fortran code and we apply the MPI process to<br class="">
> parallelize the code.<br class="">
><br class="">
> At the moment, the options that have been used are<br class="">
> -ksp_monitor_true_residual<br class="">
> -ksp_type bcgs<br class="">
> -pc_type bjacobi<br class="">
> -sub_pc_type ilu<br class="">
> -sub_pc_factor_levels 3<br class="">
> -sub_pc_factor_fill 6<br class="">
><br class="">
> Now, we want to use multiple GPUs and I would like to know if there is a<br class="">
> better solver and preconditioner pair to apply in this case.<br class="">
><br class="">
> Yours sincerely,<br class="">
> Ramoni Z. S . Azevedo<br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>