# Solving the signed distance function with DG

I am interested in solving the signed distance equation with Discontinuous Galerkin methods. Solving for \varphi

\begin{aligned} \partial_{\tau} \varphi+S(\phi)(|\nabla \varphi|-1) &=0 \text { in } \mathcal{D} \times \mathbb{R}^{+} \\ \varphi(x, 0) &=\phi(x, t), x \in \mathcal{D} \end{aligned}

where

S(\phi)=\frac{\phi}{\sqrt{\phi^{2}+|\nabla \phi|^{2} \epsilon_{s}^{2}}}

and \phi is a level set function. I found this implementation: https://arxiv.org/pdf/1705.01442.pdf , but it uses finite difference instead of finite element. Is there any resource to help me translate that into DG finite elements? Maybe by using the dolfin_dg library (https://bitbucket.org/nate-sime/dolfin_dg/src/master/) ?

I’m not terribly familiar with these kinds of Eikonal nor Hamilton-Jacobi-Bellman equations. Perhaps check out the works of I. Smears. Do you have any examples of what you’ve tried so far and perhaps we can help?

In the most basic case, dolfin_dg assumes the original PDE to be expressible in a general conservative form

\nabla \cdot (\mathcal{F}^c(u) - \mathcal{F}^v(u, \nabla u)) = f,

and I’m not sure that that fits here.

Reading here, an implementation treats the spatial distance term as a reaction term with artificial diffusion for stability. Perhaps that’s sufficient?

Thanks. I am interested in solving it with DG so I can avoid projecting back and forth between DG and CG. Also, CG-based methods tend to depend on additional parameters that require tuning. Since I intend to use it in an optimization loop, those parameters also affect the optimization. I found this paper (https://epubs.siam.org/doi/abs/10.1137/S1064827598337282?mobileUi=0) where they solve the same equation in their example 4.6. I am going to give it a shot and see what happens.

1 Like