[dune-pdelab] artifact in DiscreteGridfunctionGradient in parallel run

Michael Wenske m_wens01 at wwu.de
Thu Aug 1 12:03:08 CEST 2019


Hello everyone.

I ran into artifacts in my gradient field when doing parallel
computations, and to investigate I reduced
the problem down to an analytical testcase (2D heat equation with
gaußian heat kernel). My code converges nicely to the
analytic solution. When I visualize the error field in Paraview There is
no artifacts visible, but when visualizing the gradient of my field I
find artifacts which look suspiciously
like some bug in overlap or parallel implementation. (Vertical line
error in the middle of the domain
when I run on two cores).

I write the gradient to file like this:

/                using DGFG
=Dune::PDELab::DiscreteGridFunctionGradient<GFS,RHSType>;//
//                using VTKFG =
Dune::PDELab::VTKGridFunctionAdapter<DGFG>;//
//               
vtkSequenceWriter_p->addVertexData(std::make_shared<VTKFG>(std::make_shared<DGFG>(*gfs_p,
*z_p), "gradient"));//
/

After a quick look into the evaluate() method of said function it is not
obvious to me what the error might be, as it is simply a
local evaluation of the gradients in each lfs. Is it necessary to do
some overlap-communication before running this method?/
/I work with a yaspgrid with overlap=1 on version 2.6.

Thanks in advance,

Michael Wenske
//

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-pdelab/attachments/20190801/72c27aae/attachment.htm>


More information about the dune-pdelab mailing list