[petsc-dev] DMPlex and scattering
Jed Brown
jed at jedbrown.org
Mon May 5 00:09:54 CDT 2014
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?
We need Fortran interfaces for the TS functions. SNES has Fortran
interfaces.
> Presumably the setting up of ghost cells is done by the call to
> DMPlexConstructGhostCells(). Does the ghost scattering happen in the
> call to DMPlexInsertBoundaryValuesFVM()?
>
> Unfortunately it looks like neither of these routines has a Fortran
> interface as yet, so I can't really try them. In the meantime, I've
> tried to do it using DMGlobalToLocalBegin() / DMGlobalToLocalEnd()
> calls, like in the other examples, but this isn't working as yet. So I'm
> a bit stuck. Should this approach work with DMPLex, or not?
>
> Cheers, 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
-------------- 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/20140504/245cddd7/attachment.sig>
More information about the petsc-dev
mailing list