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: 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? 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? 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? 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"? 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
signature.asc
Description: OpenPGP digital signature
