[Dune] Using PDELab's alpha_skeleton with larger stencil?
Christoph Grüninger
foss at grueninger.de
Wed Sep 12 23:58:02 CEST 2018
Hi Bryan,
my short answer is, no, I did not find a general way to work around it.
What I actually did: I was able to squeeze almost all contributions into
face-neighbor evaluations. It was kind of non-intuitive, but worked
pretty well. I dropped the remaining term as it was only used for
symmetrizing my Stokes scheme.
Together with my colleague Thomas Fetzer we kept the solution from the
last Newton step and added the symmetrizing term. We did not add
additional entries to the matrix, but still we wrote way to much code to
achieve what we wanted. The resulting scheme worked, but the Jacobian
matrix was hacked and we could not be sure that it converges at all. For
engineers it was ok, for you as a mathematician, it is not right.
My advice: Don't do it, you have to rewrite large parts of PDELab, loose
performance (copying the matrix, additional iteration over the grid) You
have to change either the used scheme or the used software.
Bye
Christoph
Am 11.09.2018 um 17:38 schrieb Bryan Doyle:
> Hi Christoph,
> Thank you for the prompt response! As a follow-up question, were you
> able to find a work around when you encountered this limitation? Were
> there any specific strategies that you looked into?
>
> In my particular case, I only have a handful of integrals of the form I
> described above, so I was thinking that it may be possible to add in a
> block of code (possibly somewhere in the Newton solver?) that looped
> over the mesh edges after each iteration and added these terms to the
> residual vector, outside of the calls to alpha_skeleton. Would this be
> something that (a) could work in theory, and (b) could be implemented
> without developer-level knowledge of the DUNE code?
>
> Thank you for your time,
> Bryan
>
> On Mon, Sep 10, 2018 at 11:40 PM Christoph Grüninger <foss at grueninger.de
> <mailto:foss at grueninger.de>> wrote:
>
> Hi Bryan,
> as far as I know, this is not possible.
>
> > FE and FV schemes requiring at most face-neighbors
>
> https://www.dune-project.org/modules/dune-pdelab/
>
> The rationale is, that this limitation keeps the interface clean,
> the number of evaluations low and the sparsity pattern known.
>
> Bye
> Christoph, who struggled with this limitation already
>
> Am 11.09.2018 um 04:09 schrieb Bryan Doyle <btd2 at rice.edu
> <mailto:btd2 at rice.edu>>:
>
>> Hello,
>> I am using DUNE's PDELab, and noticed that in the alpha_skeleton
>> calls, only 2 coefficient vectors are available: x_s and x_n. This
>> implies that only the unknowns evaluated on the self and neighbor
>> cells are available for use in alpha_skeleton's calculations.
>> Suppose my weak form had an integral over an edge which depended
>> on the unknowns evaluated on cells other than the self and
>> neighbor elements; would it be possible to implement this using
>> PDELab?
>>
>> As a more concrete example, assume I have a uniform square grid,
>> with elements E_1 and E_2 which do not share an edge. Suppose I
>> wish to calculate
>> \int_e u_1*u_2,
>> where u_1 and u_2 are the unknowns evaluated in the centers of
>> elements E_1 and E_2, respectively, and e is some edge of E_1. Is
>> calculating this integral possible using PDELab's alpha_skeleton
>> function, or is there another way to do so?
>>
>> Any advice or input would be greatly appreciated!
>>
>> Thank you for your time,
>> Bryan
>> _______________________________________________
>> Dune mailing list
>> Dune at lists.dune-project.org <mailto:Dune at lists.dune-project.org>
>> https://lists.dune-project.org/mailman/listinfo/dune
>
--
Unfortunately, plots are notoriously hard to get right. Partly, the
default settings of programs like gnuplot or Excel are to blame for
this since these programs make it very convenient to create bad plots.
-- Till Tantau, "The TikZ and PGF Packages"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20180912/fb0acd94/attachment.sig>
More information about the Dune
mailing list