[petsc-dev] DMPlex and scattering

Jed Brown jed at jedbrown.org
Tue May 6 00:04:21 CDT 2014


Matthew Knepley <knepley at gmail.com> writes:

> On Mon, May 5, 2014 at 12:09 AM, Jed Brown <jed at jedbrown.org> wrote:
>
>> Adrian Croucher <a.croucher at auckland.ac.nz> writes:
>>
>> > hi
>> >
>> > I'm writing a finite volume test code, mostly based on the TS ex11
>> > tutorial example, but in Fortran. It works ok in serial but not in
>> parallel.
>> >
>> > I don't really understand how the global/local scattering is done in TS
>> > ex11. There don't seem to be any DMGlobalToLocalBegin() /
>> > DMGlobalToLocalEnd() calls in the main RHS function routine
>> > (RHSFunctionLocal_Upwind()), as there are in most of the other
>> > (non-DMPlex) examples.
>>
>> DMTSSetRHSFunctionLocal registers a "local" function.  The
>> global-to-local scatters are done in TSComputeRHSFunction_DMLocal().
>>
>> Matt, WTF is up with the "#if 0" crap strewn throughout this function?
>>
>
> That is to remind me where we will need things when we have both FV and FE
> here. FE will have communication even in the RHS.

DMDASNESSetFunctionLocal, DMDATSSetIFunctionLocal, and
DMDATSSetRHSFunctionLocal have an InsertMode parameter.  I'd rather that
the new interface of yours followed that pattern so that its interface
wouldn't have to change.  I don't see the point of #if around some code
that cannot be anything but dynamic.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140505/6c144b50/attachment.sig>


More information about the petsc-dev mailing list