[petsc-users] Questions about DMComposite & DMRedundant
Brian Skjerven
brian.skjerven at gmail.com
Tue Apr 5 03:38:32 CDT 2016
Hi,
I'm working on implementing pseudo arc-length continuation using PETSc to do the Newton solves. Right now I'm just working with simple structured meshes, so I'm using 1- & 2-D DMDAs, and I'm trying to make use of DMComposite to handle both the PDE and the pseudo arc-length constraint. I found a similar thread from a while back (https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2011-October/010373.html <https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2011-October/010373.html>) but some of the suggestions appear to be outdated (e.g. DMCompositeAddArray has been removed). So, I guess my questions are:
- DMRedundant seems to be the preferred way to do this. Is there any documentation available? I've looked over the DMRedundantCreate man page (http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMRedundantCreate.html <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMRedundantCreate.html>) and the 2 examples, but am still unclear how this works.
- Adding arrays to the DMComposite. So my system involves a bordered, banded matrix; the whole matrix is n+1 x n+1 in size, with the inner n x n being the diagonal matrix resulting from finite differences, the n + 1 column coming from the parameter (e.g. lambda in a Bratu problem), and the n + 1 row coming from the pseudo arc-length constraint. Conceptually, I see it as just "sticking" an extra row and column onto my existing DMDA, but I'm not sure how to do that with a combination of DMRedundant and DMComposite. For example, how do I tell PETSc which dimension to use (i.e. adding a row vs adding a column).
- I'm providing routines to evaluate the function and the Jacobian. Do I need to do separate functions for each DM in my composite DM? That is, a function and Jacobian for the PDE portion and a separate set of functions for the arc-length constraint? Or do I just need to provide one and SNES is smart to figure things out for the composite DM? I guess I'm unclear how the coupling is handled.
Thanks for your help.
Brian Skjerven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160405/0634df51/attachment.html>
More information about the petsc-users
mailing list