[petsc-users] Field dependent stencil in DAs

Kevin Green Kevin.Green at uoit.ca
Thu Jul 14 12:31:34 CDT 2011


________________________________________
From: petsc-users-bounces at mcs.anl.gov [petsc-users-bounces at mcs.anl.gov] On Behalf Of Jed Brown [jedbrown at mcs.anl.gov]
Sent: Monday, July 11, 2011 7:38 PM
To: PETSc users list
Subject: Re: [petsc-users] Field dependent stencil in DAs

On Mon, Jul 11, 2011 at 18:28, Kevin Green <Kevin.Green at uoit.ca<mailto:Kevin.Green at uoit.ca>> wrote:
Essentially, I'm (currently) looking to numerically solve a system of 5 time dependent equations, but only 1 of the fields is involved with spatial derivatives.  Now, I've found a couple of ways to do this, either by introducing a Field struct cf. ${PETSC_DIR}/src/snes/examples/tutorials/ex19.c, or by changing one of the various ts examples to use DAVecGetArrayDOF(...).  Would there be any performance difference between introducing a Field struct compared to DAVecGetArrayDOF(...)?  Intuitively, I would think not...but I suppose I should ask since I'm here anyway.

I like using field structs because then I get to use names instead of numbers for my fields and because there is one less level of pointer indirection.


Now the real reason I came:  Is there some sort of mask that can be applied to the DAs that would turn off the communication of ghost points for some degrees of freedom?  I assume that the communication structures are set up so that only a single message needs to be passed between communicating processes on update, but this still results in passing 5X the data that I have to.  Any comment on this would be much appreciated.

DMDASetBlockFills()


Thank you Jed, this is exactly what I was looking for.  In the most recent version, it appears to be named as just DASetBlockFills().


More information about the petsc-users mailing list