<div dir="ltr"><div dir="ltr">On Mon, Jul 17, 2023 at 12:48 PM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</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"><br>
   The largest potential advantage of DMDA is likely the possibility of easily using geometric multigrid if it is appropriate for the problem (or subproblem of the problem) you are solving. The second advantage is, this depends on your PDE and discretization, the simplicity of your code, and what part of PETSc it depends on, if it doesn't depend on DMPLEX (and doesn't need to) then that is a good thing. Disadvantage of DMDA  is lack of flexibility in discretization, handling of non-standard boundary conditions, geometry.<br></blockquote><div><br></div><div>I will be more specific about the discretizations. DMDA supports collocated discretizations. If you have this, I would definitely recommend it, since the array programming style is easy. However, if you have mixed FEM, or higher order, or staggered discretizations, or complex BC, you need something else.</div><div><br></div><div>There should be no difference in the solver since all the DMs just build Vec and Mat objects and hand them off. There is a potential difference for matrix-free operation. Right now, Plex is slow there, so we are putting in an interface to libCEED for that.</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">
> On Jul 17, 2023, at 12:42 PM, Miguel Angel Salazar de Troya <<a href="mailto:miguel.salazar@corintis.com" target="_blank">miguel.salazar@corintis.com</a>> wrote:<br>
> <br>
> Hello,<br>
> <br>
> I am trying to understand if I should make the effort to make my code use structured meshes instead of unstructured ones. My domain is cartesian so that is the first check for structured meshes. However, the problem size I am looking at is ~20 million degrees of freedom. My understanding is that for this problem size, most of the time is spent on the solver. In this case, do structured meshes still have an advantage? Can they run Krylov methods faster than when using structured meshes? What about other solvers and preconditioners?<br>
> <br>
> Thanks,<br>
> Miguel<br>
<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>