[petsc-users] DMPlexDistributeField

Adrian Croucher a.croucher at auckland.ac.nz
Wed Jun 5 20:42:15 CDT 2019


hi

I have some questions about using the DMPlexDistributeField() function. 
I have finite volume mesh geometry data stored in two local vectors 
created using DMPlexComputeGeometryFVM(), and I need to redistribute 
these after calling DMPlexDistribute() to redistribute my mesh. (I need 
the geometry data before redistribution, so I can't just wait until 
after redistribution to create them.)

So I figured DMPlexDistributeField() looks like the thing to use for 
that, using the SF that comes out of DMPlexDistribute().

1) Does DMPlexDistributeField() work on local vectors or do they have to 
be global ones?

2) It takes a 'dm' parameter and the documentation says this is "The 
DMPlex object", but is that the original DM (before redistribution) or 
the redistributed one, or does it not matter? It looks like it only uses 
the DM to get the vector type.

3) It looks like you need to manually create the newSection and newVec 
output parameters before passing them in to this routine, is that correct?

- Adrian

-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: a.croucher at auckland.ac.nz
tel: +64 (0)9 923 4611



More information about the petsc-users mailing list