[petsc-users] Structured multi-block topology

Matthew Knepley knepley at gmail.com
Fri Apr 25 17:03:32 CDT 2014

On Fri, Apr 25, 2014 at 2:47 PM, Mark Lohry <mlohry at gmail.com> wrote:

> Most common use case would be from 1 to 15 blocks or so, although I
> have occasionally seen need for 100+. This also brings to mind a
> question I had about more general connectivity in single-block domains
> like a C-mesh, where you have halo dependencies to itself that are not
> simply "periodic."

Jed and I have discussed this. DMComposite is really not great for even
moderate numbers of blocks because it serializes. Also, the real performance
advantage of structured blocks is saturated by a small number of structured
cells (32 or so), and thus large structured pieces do not make a lot of
(this is the same intuition behind the performance of spectral elements).
recommendation is to have a coarse unstructured mesh with regular refinement
inside each coarse cell. This is something we could really support well. Its
not all there yet, but we have all the pieces.

> As far as the difficult task of setting up the communication, is that
> even possible to do manually without treating everything as fully
> unstructured? What other packages are out there for multi block
> structured domains?

There is Overture.


> On Fri, Apr 25, 2014 at 2:40 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >   Mark,
> >
> >    Are you thinking of the case of two or three (or so blocks) or are
> you thinking of many blocks?
> >
> >    DMComposite helps with multiple DM’s but unfortunately does not do
> the difficult task of setting up the communication of data between the
> different block boundaries.
> >
> >     There are some other packages out there for multi block domains that
> might be better for your case thus I ask about your particular situation
> and what you need.
> >
> >    Barry
> >
> > On Apr 25, 2014, at 1:31 PM, Mark Lohry <mlohry at gmail.com> wrote:
> >
> >> To resurrect this thread:
> >>
> https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2012-August/014930.html
> >>
> >> Matt Knepley suggested the correct way to handle a structred
> >> multi-block mesh was to use DMComposite. I'm not seeing anything in
> >> the documentation about how to properly use DMComposite, however.
> >>
> >> What are the necessary steps to go from a single-block code using DMDA
> >> to a multi-block code that handles all the appropriate data passing at
> >> block boundaries?
> >

What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140425/a6741c33/attachment.html>

More information about the petsc-users mailing list