[petsc-users] Questions about DMForest scope and status

Matthew Knepley knepley at gmail.com
Wed May 11 08:36:14 CDT 2016

On Wed, May 11, 2016 at 2:45 AM, Åsmund Ervik <asmund.ervik at ntnu.no> wrote:

> Dear all (Tobin and Matt in particular),
> I have some questions about DMForest, sparked by a mention of this in an
> earlier email to the list by Matt.
> As I understand it, DMForest is a DM which aims to provide a
> hierarchically refined grid, i.e. structured adaptive mesh refinement
> (AMR). Correct me if I'm wrong here.
> Now, my questions:

Toby is more qualified to answer, but I will start:

> What is the level of maturity of DMForest? Could I start using it today,
> or would it be better to wait for upcoming features/fixes?

You can use DMForest purely as a Plex now, and I would characterize this
as ready to be tried out. If you want to use it mainly as a forest
adaptive mesh), then I would say its alpha.

> To what extent is DMForest intended to be a drop-in replacement for
> DMDA? For use in a CFD code already using DMDA, let's say finite
> difference, explicit time-integration, compressible Navier-Stokes should
> I expect switching to be a major undertaking? How encapsulated would the
> changes be?

Not at all. The major advantage of DMDA is the regular topology (gone) and
the nice array interface (not there either). DMForest is mainly focused on
cell-focused discretizations like DG, and also more traditional FEM. It is
coincidence that this is also how people use p4est on its own.

> Is DMForest intended to provide dynamic adaptivity? Let's say I'm
> considering a fluid jet which creates a Kelvin-Helmholtz instability,
> and I want to refine the mesh to resolve the vortices appearing. Is this
> feasible? If possible, I assume there is some limitation on how
> frequently one can re-adapt to maintain good performance?

Yes. I would say its intended to do very frequent adaptation.

> What are my options for load-balancing with DMForest? Suppose I have
> some process coupled with the flow (e.g. chemistry, thermodynamics) that
> takes a significant amount of computing time, but not in a uniform way
> across all grid cells, is there (or could there be) an interface for
> specifying "these cells will have to do expensive calculations, these
> cells will do less expensive calculations"?

Both Forest and Plex will accept weights for partitioning. Its not quite
clear what
the final interface should be, but we would help you to get your weights in.



> This latter point would IMO also be useful for DMDA/DMPlex, so maybe it
> could be made generic? The biggest problem I guess is the tradeoff
> between the interface being simple enough and powerful enough. Perhaps a
> "good enough" option would be some sort of autotuning based on logging
> the time taken to arrive at an MPI sync point for all the MPI processes,
> and offloading work from the slowest ones to their neighbours.
> Thanks,
> Åsmund

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/20160511/45de64e4/attachment.html>

More information about the petsc-users mailing list