Greetings,
I have been playing around with PetSc for the past couple of weeks, and have a
question to which I have not found an answer in either the examples or the
mailing list archives.
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.
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.
Thank you,
Kevin