# Re: [deal.II] Geometric Conservation Law

Dear Alex,


This has been on my list of things to implement and verify with deal.II over a range of examples for quite a while, so I'm glad you bringing the topic up. It is definitely true that our way to define Jacobians does not take those identities into account, but I believe we should add support for them. The nice thing is that only some local computations are necessary, so having the option to use it in the polynomial mapping classes would be great. If you would be interested in this feature and trying to implement things, I'd be happy to guide you to the right places in the code.

Best,
Martin

On 17.06.20 06:02, Alexander Cicchino wrote:

Thank you for responding Wolfgang Bangerth.


The GCL condition comes from the discretized scheme satisfying free-stream preservation. I will demonstrate this for 2D below, (can be interpreted for spectral, DG, finite difference, finite volume etc): Consider the conservation law: \frac{\partial W}{\partial t} + \frac{\partial F}{\partial x} +\frac{\partial G}{\partial y} =0
Transforming this to the reference computational space (x,y)->(\xi, \eta):

J*\frac{\partial W}{\partial t} + J*\frac{ \partial \xi}{\partial x} * \frac{\partial F}{\partial \xi} + J * \frac{ \partial \eta}{\partial x}* \frac{\partial F}{\partial \eta} + J * \frac{ \partial \xi}{\partial y} * \frac{\partial G}{\partial \xi} + J*\frac{ \partial \eta}{\partial y}*\frac{\partial G}{\partial \eta}
Putting this in conservative form results in:

J\frac{\partial W}{\partial t} + \frac{\partial}{\partial \xi} ( J*F*\frac{\partial \xi}{\partial x} +J*G*\frac{\partial \xi}{\partial y} ) + \frac{\partial}{\partial \eta} ( J*F*\frac{\partial \eta}{\partial x} +J*G*\frac{\partial \eta}{\partial y} ) - F*( GCL in x) - G*(GCL in y) =0


where GCL in x = \frac{\partial }{\partial \xi} ( det(J)* \frac{\partial \xi
 }{\partial x}) + \frac{\partial }{\partial \eta}( det(J)* \frac{\partial
\eta}{\partial x} )
similarly for y.


So for the conservative numerical scheme to satisfy free stream preservation, the GCL conditions must go to zero. For linear grids, there are no issues with the classical definition for the inverse of the Jacobian, but what Kopriva had shown (before him Thomas and Lombard), was that the metric Jacobian has to be calculated in either a "conservative curl form" or an "invariant curl form" since it reduces the GCL condition to the divergence of a curl, which is always discretely satisfied. In the paper by Kopriva, he shows this, an example in 3D:
 Analytically

J*\frac{\partial \xi}{\partial x} = \frac{\partial z}{\partial \zeta} * \frac{\partial y}{\partial \eta} - \frac{\partial z}{\partial \eta} * \frac{\partial y}{\partial \zeta}


but the primer doesn't satisfy free-stream preservation while the latter ("conservative curl form") does.

I will put together a unit test for a curvilinear grid.

Thank you,
Alex

On Tuesday, June 16, 2020 at 10:24:59 PM UTC-4, Wolfgang Bangerth wrote:

Alexander,

> I am wondering if anybody has also found that the inverse of the
Jacobian from
> FE Values, with MappingQGeneric does not satisfy the Geometric
Conservation
> Law (GCL), in the sense of:
>
> Kopriva, David A. "Metric identities and the discontinuous
spectral element
> method on curvilinear meshes." /Journal of Scientific Computing/
26.3 (2006): 301.
>
> on curvilinear elements/manifolds in 3D.
> That is:
> \frac{\partial }{\partial \hat{x}_1} *det(J)* \frac{\partial
\hat{x}_1
> }{\partial x_1} + \frac{\partial }{\partial \hat{x}_2} *det(J)*
\frac{\partial
> \hat{x}_2}{\partial x} + \frac{\partial }{\partial \hat{x}_3} *
> det(J)*\frac{\partial \hat{x}_3 }{\partial x_1} != 0 (GCL says
it should =0,
> similarly for x_2 and x_3)
>
> If so or if not, also, has anybody found a remedy to have the
inverse of the
> Jacobian from FE Values with MappingQGeneric to satisfy the GCL.

I'm not sure any of us have ever thought about it. (I haven't --
but I really
shouldn't speak for anyone else.) Can you explain what this equality
represents? Why should it hold?

I'm also unsure whether we've ever checked whether it holds
(exactly or
approximately). Can you create a small test program that
illustrates the
behavior you are seeing?

Best
W.


-- ------------------------------------------------------------------------

Wolfgang Bangerth          email: bang...@colostate.edu <javascript:>
www:
http://www.math.colostate.edu/~bangerth/
<http://www.math.colostate.edu/~bangerth/>

--
The deal.II project is located at http://www.dealii.org/

For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---


--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see

To unsubscribe from this group and stop receiving emails from it, send an email