[petsc-users] Neumann BC with non-symmetric matrix

Mohammad Mirzadeh mirzadeh at gmail.com
Tue Mar 1 20:39:44 CST 2016


On Tue, Mar 1, 2016 at 3:03 PM, Boyce Griffith <griffith at cims.nyu.edu>
wrote:

>
> On Mar 1, 2016, at 2:41 PM, Mohammad Mirzadeh <mirzadeh at gmail.com> wrote:
>
>
>
> On Tue, Mar 1, 2016 at 2:07 PM, Boyce Griffith <griffith at cims.nyu.edu>
> wrote:
>
>>
>> On Mar 1, 2016, at 12:06 PM, Mohammad Mirzadeh <mirzadeh at gmail.com>
>> wrote:
>>
>> Nice discussion.
>>
>>
>> On Tue, Mar 1, 2016 at 10:16 AM, Boyce Griffith <griffith at cims.nyu.edu>
>> wrote:
>>
>>>
>>> On Mar 1, 2016, at 9:59 AM, Mark Adams <mfadams at lbl.gov> wrote:
>>>
>>>
>>>
>>> On Mon, Feb 29, 2016 at 5:42 PM, Boyce Griffith <griffith at cims.nyu.edu>
>>> wrote:
>>>
>>>>
>>>> On Feb 29, 2016, at 5:36 PM, Mark Adams <mfadams at lbl.gov> wrote:
>>>>
>>>>
>>>>>> GAMG is use for AMR problems like this a lot in BISICLES.
>>>>>>
>>>>>
>>>>> Thanks for the reference. However, a quick look at their paper
>>>>> suggests they are using a finite volume discretization which should be
>>>>> symmetric and avoid all the shenanigans I'm going through!
>>>>>
>>>>
>>>> No, they are not symmetric.  FV is even worse than vertex centered
>>>> methods.  The BCs and the C-F interfaces add non-symmetry.
>>>>
>>>>
>>>> If you use a different discretization, it is possible to make the c-f
>>>> interface discretization symmetric --- but symmetry appears to come at a
>>>> cost of the reduction in the formal order of accuracy in the flux along the
>>>> c-f interface. I can probably dig up some code that would make it easy to
>>>> compare.
>>>>
>>>
>>> I don't know.  Chombo/Boxlib have a stencil for C-F and do F-C with
>>> refluxing, which I do not linearize.  PETSc sums fluxes at faces directly,
>>> perhaps this IS symmetric? Toby might know.
>>>
>>>
>>> If you are talking about solving Poisson on a composite grid, then
>>> refluxing and summing up fluxes are probably the same procedure.
>>>
>>
>> I am not familiar with the terminology used here. What does the refluxing
>> mean?
>>
>>
>>>
>>> Users of these kinds of discretizations usually want to use the
>>> conservative divergence at coarse-fine interfaces, and so the main question
>>> is how to set up the viscous/diffusive flux stencil at coarse-fine
>>> interfaces (or, equivalently, the stencil for evaluating ghost cell values
>>> at coarse-fine interfaces). It is possible to make the overall
>>> discretization symmetric if you use a particular stencil for the flux
>>> computation. I think this paper (
>>> http://www.ams.org/journals/mcom/1991-56-194/S0025-5718-1991-1066831-5/S0025-5718-1991-1066831-5.pdf)
>>> is one place to look. (This stuff is related to "mimetic finite difference"
>>> discretizations of Poisson.) This coarse-fine interface discretization
>>> winds up being symmetric (although possibly only w.r.t. a weighted inner
>>> product --- I can't remember the details), but the fluxes are only
>>> first-order accurate at coarse-fine interfaces.
>>>
>>>
>> Right. I think if the discretization is conservative, i.e. discretizing
>> div of grad, and is compact, i.e. only involves neighboring cells sharing a
>> common face, then it is possible to construct symmetric discretization. An
>> example, that I have used before in other contexts, is described here:
>> http://physbam.stanford.edu/~fedkiw/papers/stanford2004-02.pdf
>>
>> An interesting observation is although the fluxes are only first order
>> accurate, the final solution to the linear system exhibits super
>> convergence, i.e. second-order accurate, even in L_inf. Similar behavior is
>> observed with non-conservative, node-based finite difference
>> discretizations.
>>
>>
>> I don't know about that --- check out Table 1 in the paper you cite,
>> which seems to indicate first-order convergence in all norms.
>>
>
> Sorry my bad. That was the original work which was later extended in
> doi:10.1016/j.compfluid.2005.01.006
> <http://dx.doi.org/10.1016/j.compfluid.2005.01.006> to second order (c.f.
> section 3.3) by using flux weighting in the traverse direction.
>
>
> I don't follow the argument about why it is a bad thing for the fine
> fluxes to have different values than the overlying coarse flux, but this
> probably works out to be the same as the Ewing discretization in certain
> cases (although possibly only in 2D with a refinement ratio of 2).
>
>
In general, you can show that by weighting fluxes in the traverse direction
(a.k.a using the coarse-grid flux), you can eliminates the leading-order
truncation error (which turns out to be O(1)) in that direction. It seems,
to me, this is the reason you go from 1st to 2nd second-order accuracy.
Unfortunately this is not pointed out in the paper and while I cannot speak
for the authors, I think what motivated them to use the coarse flux was to
keep the normal velocity continuous across C-F interface after the
projection step.

It looks like that throughout the AMR literature people have encountered
the super-convergence over and over again and while most of the
"justifications" makes sense in an intuitive way, I don't think I have seen
any rigorously analysis to explain the phenomena. Of course it may just be
that I have not searched thoroughly :)

A (discrete) Green's functions argument explains why one gets higher-order
>> convergence despite localized reductions in accuracy along the coarse-fine
>> interface --- it has to do with the fact that errors from individual grid
>> locations do not have that large of an effect on the solution, and these
>> c-f interface errors are concentrated along on a lower dimensional surface
>> in the domain.
>>
>
> This intuitively makes sense and in fact when you plot the error, you do
> see spikes at the C-F interfaces. Do you know of a resource that does a
> rigorous analysis of the C-F treatment on the solution error?
>
>
> I don't know if I have seen anything that works out all the details for
> locally refined grids, but LeVeque's extremely readable book, *Finite
> Difference Methods for Ordinary and Partial Differential Equations*,
> works this out for the uniform grid case. If I were doing this on an AMR
> grid, I would split the domain into a coarse half and a fine half (just one
> c-f interface) and work out the discrete Green's functions.
>

Thanks for the reference. I have always wanted an excuse to read this book!
:)


>
> -- Boyce
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160301/0ca31d9d/attachment.html>


More information about the petsc-users mailing list