[petsc-users] examples of DMPlex*FVM methods

Jed Brown jed at jedbrown.org
Wed Apr 5 21:57:27 CDT 2017


Matthew Knepley <knepley at gmail.com> writes:

> On Wed, Apr 5, 2017 at 1:13 PM, Jed Brown <jed at jedbrown.org> wrote:
>
>> Matthew Knepley <knepley at gmail.com> writes:
>>
>> > On Wed, Apr 5, 2017 at 12:03 PM, Jed Brown <jed at jedbrown.org> wrote:
>> >
>> >> Matthew Knepley <knepley at gmail.com> writes:
>> >> > As a side note, I think using FV to solve an elliptic equation should
>> be
>> >> a
>> >> > felony. Continuous FEM is excellent for this, whereas FV needs
>> >> > a variety of twisted hacks and is always worse in terms of computation
>> >> and
>> >> > accuracy.
>> >>
>> >> Unless you need exact (no discretization error) local conservation,
>> >> e.g., for a projection in a staggered grid incompressible flow problem,
>> >> in which case you can use either FV or mixed FEM (algebraically
>> >> equivalent to FV in some cases).
>> >>
>> >
>> > Okay, the words are getting in the way of me understanding. I want to see
>> > if I can pull something I can use out of the above explanation.
>> >
>> > First, "locally conservative" bothers me. It does not seem to indicate
>> what
>> > it really does. I start with the Poisson equation
>> >
>> >   \Delta p = f
>> >
>> > So the setup is then that I discretize both the quantity and its
>> derivative
>> > (I will use mixed FEM style since I know it better)
>> >
>> >   div  v = f
>> >   grad p = v
>> >
>> > Now, you might expect that "local conservation" would give me the exact
>> > result for
>> >
>> >   \int_T p
>> >
>> > everywhere, meaning the integral of p over every cell T.
>>
>> Since when is pressure a conserved quantity?
>>
>> In your notation above, local conservation means
>>
>>   \int_T (div v - f) = 0
>>
>> I.e., if you have a tracer moving in a source-free velocity field v
>> solving the above equation, its concentration satisfies
>>
>>   c_t + div(c v) = 0
>>
>> and it will be conserved element-wise.
>>
>
> But again that seems like a terrible term. What that statement above means
> is that globally
> I will have no loss, but the individual amounts in each cell are not
> accurate to machine error,
> they are accurate to discretization error because the flux is only accurate
> to discretization error.

No. The velocity field is divergence-free up to solver tolerance.  Since
the piecewise constants are in the test space, there is a literal
equation that reads

  \int_T (div v - f) = 0.

That holds up to solver tolerance, not just up to discretization error.
That's what local conservation means.

If you use continuous FEM, you don't have a statement like the above.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170405/4001c92e/attachment.pgp>


More information about the petsc-users mailing list