<2020-08-09>-<2020-08-14>

BAMPS

  • Activated doxygen documentation.
  • Started customizing doxygen.
  • Finished advection equation implementation.
  • Prepared advection equation as MWE.
  • Studied wave_DG project inside bamps.

<2020-08-03>-<2020-08-07>

Penalty method

  • Wrote down notes about penalty method.
    • Focused on advection equation.
    • Gave alternative derivation/motivation for penalty terms.
    • Made comparison with DG + central flux approach.

BAMPS:

  • Maintained Gitlab issues.
  • Fixed bug with 2d & 3d grid + subcells + periodic bdry conditions.

<2020-07-19>-<2020-07-31>

Penalty method

  • I studied the penalty method.

BAMPS:

  • I worked on the BAMPS implementation of the wave and advection equation. WIP.
  • I made an effort and organized a gitlab repo to prepare for a transition from SVN to GitLab for BAMPS.
  • I started writing down some notes about the penalty method. WIP.
  • Participated in BAMPS collaboration meeting and propagated current status of EV project.

EV method:

  • Request Jean-Luc Guermond: No answer received yet.

Next:

  • Polish advection project in BAMPS and turn it into MWE.
  • Finish notes.
  • Debug BAMPS for error with periodic boundaries.

<2020-07-28>

  • Prepared slides about EV method and current status of the project for BAMPS collab meeting

<2020-07-17>

EV method

  • I implemented the filtering technique as described in [1] (also used in bamps, see [2]). It seems like this does not cure the general problem of violation of positivity of energy and density.

  • I decided to take a break from the problem of getting the EV to work with shock tube tests.

  • I prepared an email to Jean-Luc Guermond to ask about details of the EV method and how their implementation deals with the shock tube problems.

  • I studied penalty terms in [3]. They are needed for implementation in BAMPS.

  • I picked up my advection equation project in BAMPS and started to implement penalty terms for it.

Next:

  • Finish the implementation of the advection equation in BAMPS.
  • Gradually implement methods needed for the EV method in BAMPS.
  • Expand Sarah’s BAMPS documentation.

<2020-07-10>

Last week’s meeting was cancelled.

SR Euler equation:

  • Implemented smooth test problem from [4] - works.

  • The 1D shock tube test from [4] already fails in the first (few) time steps (sub steps in RK). Looks like I am stuck at the same problem which I have with the ordinary Euler equations.

  • Studied derivation of boundary conditions and how one counts does. Keyword: Kreiss’ condition.

  • I went back to the literature and started questioning my DG implementation from the beginning. A few questions came about, see diary entry <2020-07-09>. Most important question: Do I handle non-linearities correctly?

  • Started formulating questions for Jean-Luc Guermond which we would like to contact soon if I can’t get it to work.

Next:

  • Have a look into filtering for DG methods to see if this is the needed keystone to get the EV method to work with the Euler equations.

<2020-06-26>

EV method

  • Implemented EV calculation in sub steps of RK scheme.
    • Tests for the scalar conservation laws (advection, Burgers’) show improvement in terms of residual oscillations. No quantitative characterization made.
    • Tests for Euler equations also show improvements. However, the blast wave tests are still not working. This is also clear, because changing the computation of the entropy residual does not influence the Gibbs oscillations that arise from discontinuous in the initial data. If the initial data then also have a zero velocity profile, then non of the artificial viscosity regularizations from the literature can resolve this problem.
  • It remains unclear how [5], [6] could pass the blast wave tests. Some information is lacking which eventually could clarify things.
  • Out of curiosity I added tests from [7] - program also fails there. Perhaps there is still a bug in my program?

SR Euler equations

  • Started to implement SR Euler equations with DG+EV. Studied equations and their derivation. The following points need to be clarified before a first computation:
    • Upper bound of maximum propagation velocity?
    • Which artificial viscosity regularization? (start with simplest one like [8]).

Next:

  • Continue implementing SR Euler equations and test it.
  • Check [7] tests again.

<2020-06-22>

EV method

  • Compared [5] with [6] and my implementation. Observations:
    • My implementation requires a smaller CFL number to guarantee a stable evolution. Potential reason: Different definition of CFL number, because of different grid types (equidistant vs. non-equidistant grids).
    • My results show (stronger) residual oscillations if same set of parameters is used for the test problems (advection & Burgers’ equation).
    • In [5] it is mentioned that they compute the EV also at sub steps in the RK scheme. My implementation only evaluates the EV after a full RK step. (I remember that I read in different paper (perhaps [9] [10] that either no qualitative difference in the results can be noticed).

Next:

  • Implement EV calculation in substeps of RK scheme. For this to work I have to implement my own RK scheme.
  • Repeat test problems (advection & Burgers’ equation, Euler equations) to check if this yields an improvement.
  • Move on to SR Euler equations.

<2020-06-12>

EV method

  • I implemented the algorithm discussed in [11]. However, this algorithm only preserves the cell average values of the conservative variables of the Euler equations. Because some values still obtain negative values, the program still fails when evolving the blast wave tests.
  • Because I previously fixed a severe bug in the computation of the time derivative of the entropy, I repeated some tests with different ODE solvers (RK4 and SSPRK4) to see whether a strong stability preserving RK scheme is still needed. Result: no big qualitative differences observed so far.
  • Because of lack of ideas on how to continue at the moment, I read some literature about RKDG methods (Cockburn, Shu 1989), although this was not much of use. The topic is better discussed in [1].
  • I found the PhD thesis [5] which is the basis for the work [6].

Next:

  • Read Zingan’s PhD thesis and compare against my implementation.
  • Do literature research about simple positivity preserving limiters that do not destroy the locality property of DG methods (like WENO schemes do).

<2020-06-05>

EV method

  • Discussion with Yorgos about blast wave problems (this are the problems where my program fails). His experiences are that he cannot evolve those tests with an ordinary FD stencil and the EV method alone. Also Radice told him that the only reason why they can pass those tests in [12] is that they use a positivity preserving filter that is inbuilt into the THC program.

  • Because of some numerical investigations I did and the discussion I had with Yorgos, I started to read up on a positivity preserving filter for the Euler equations, [11].


<2020-05-29>

EV method

  • Implemented SSPRK scheme with custom CFL condition (based on [1]).
  • Fixed error in boundary conditions of Euler equations.
  • Made table to collect implementation details from [6], [13], [7], see comparison.html.
  • Fixed severe bug in computation of entropy viscosity: I accidently used the absolute time values instead of time step width for the computation of the (backwards) time derivative of the entropy. This fix gave major improvements, 6/10 tests can be passed now.
  • Investigated remaining test cases: So far it seems like all regularizations from the literature ([13], [6], [7]) seem to be incapable of advancing the data beyond a first RK step.
  • I asked Yorgos about his experiences with shock tube tests (not replied yet).

<2020-05-22>

EV method

  • Investigated potential sources for bugs that cause to evolve reference test problems [14] (results for three of these problems are presented in [6]):
    • I fixed an incorrect scaling factor that was introduced when I cleaned up the code - only affected scalar equations.
    • I implemented the wave equation as a set of coupled first order equations. This should serve as a test to see whether I have understood how to treat a system of equations with a DG method (recommended by Bernd). Program works, I implemented periodic, inhomogeneous (Dirichlet) and reflective boundary conditions.
    • I revisited DG(+EV) literature and found a common pattern: Almost all papers use strong-stability preserving RK (SSPRK) schemes for the time evolution. First test with a SSPRK schemes gives improved results, but this needs further investigation.
  • In [7] they discuss a potential short-coming of a Navier-Stokes regularization of the Euler equations (regularization = choice of viscosity fluxes). This paper compares the Navier-Stokes with the Guermond-Popov regularization which should compensate these shortcomings. Perhaps this is also a problem for my program.
  • Project meeting: Sebastiano and Bernd wondered why a SPPRK scheme is needed.

Next:

  • Check if SSPRK scheme really improves results.
  • Make comparison of EV implementations that I have studied so far ([6], [13], [7]).

<2020-05-15>

Euler equations

  • Worked on stability problem with Euler equations:
    • Tested code with smooth initial data, this revealed a bug (I cannot remember the actual bug).
    • Checked implementation of boundary conditions, this revealed another bug. (I cannot remember the actual bug).
    • Tested program with non-smooth initial data, program works only for 1/3 tests from [6].
    • Further testing showed that numerical errors in the conservative variables spoil the accuracy of primitive variables, reason unclear.

Next:

  • Further investigate time evolution problem, maybe try different ODE solver.

<2020-05-08>

  • I finished cleaning up my DG code.
  • I started to to implemented the Euler equations together with EV. Program does not work yet: time integration of equations fails, because of NaN values that result from unphysical values (non-negative pressure and/or energy density) obtained during evolution. The problem appeared when testing with the Sod shock tube problem (cf. [6]) or with smooth initial data (taken from [15], [16]). Potential error: incorrect implementation of boundary conditions.
  • I investigated spurious oscillations in the results of the Burgers’ equation. They were related to the parity of the polynomial order. Fixing an incorrect scaling factor made things worse. Problem is not related to boundary conditions, because the test problems are periodic.

Next:

  • Debug stability problem in time evolution and fix incorrect implementation of boundary conditions for the Euler equations.

<2020-05-01>

  • Project meeting: Yorgos has made much progress and presented results for the special relativistic Euler’s equation (he is now working on the ELH method, because the EV method did not show significant improvements if used with FD methods). I presented the same results I showed in the group meeting. Sebastiano and Bernd argued that the methods seem to be worth to be investigated further (no surprise). We agreed that the next step for me is to also solve the (SR) Euler equations and to compare those results with Yorgos’ results. Yorgos will work on improving the ELH method (he is in contact with Radice). The ultimate test should be to compute a TOV star and then compare the results among each other and vs. [12].
  • I prepared a written summary of the current status of the project, see summary.html.
  • I started to clean up my DG code.

Next:

  • Read up on the Euler equations and start implementing them into my program.

<2020-04-24>

  • I implemented the EV method for the DG approximation. First tests show that it does its work and allows to evolve discontinuous solutions with reduced Gibbs-phenomena.

  • I forwarded my results to Yorgos and I also conducted the results in the group meeting. I have then contacted Bernd, Yorgos and Sebastiano and suggested that we should meet next week and discuss the current status of Yorgos’ and my projects and on how to continue.

Next:

  • Project meeting with Yorgos, Sebastiano and Bernd. I want to prepare a few slides to collect some information about the literature research I did about artificial viscosity (also add mean modal decay model). The slides should also contain some results and a plan on how to continue.
  • Clean up the Julia code.

<2020-04-17>

  • I have implemented the convection-diffusion equation. This is needed to implement the EV method for a DG code.

  • I discussed with Bernd how to proceed further with the EV study: At the moment, I should continue experimenting with Julia, because I am familiar with the language and it is rather simple to fast to prototype things. However, the long term goal is to implement the EV method into BAMPS.

  • Yorgos and I should agree on certain milestones for which we should make comparisons of our projects (or better results). The ultimate test of our methods should be evolution of a TOV star.

Next:

Get EV + DG to work in Julia. Conduct results to Yorgos, Bernd and Sebastiano. Agree with Yorgos about the next benchmark/milestone problem for which we should test the methods we are studying.


<2020-04-03> {##sec:yorgos-update}

  • I have written a program that solves the advection equation with a DG method. The program can use LG and LGL grid. The current implementation suffers from a stability issue that renders a time evolution useless.

  • I read [17] (suggested by Bernd). This paper discusses an alternative construction of an artificial viscosity. They posse a very interesting questions that may be worth to study (also suggested by Bernd): Do all artificial viscosity approaches that try to regularize non-smooth solutions destroy the convergence rate of spectral methods?

  • Asked Yorgos about his project: The current status is that EV does not bring any improvements in his code if used in conjunction with a WENO method and it performs worse if used with an ordinary FD stencil compared to the WENO method without EV. He then tested the ELH approach [12] and he sent me plots that give very nice results for the advection and Burgers’ equations.

Next:

Fix the stability issues with the DG method, implement the Burgers’ equation and start working on the EV implementation.


<2020-03-27>

  • Started to write a DG code. This program should serve as a basis for further studies with EV method [6].
  • The goal of this project should be to get the EV method to work for a DG (and pseudospectral) code and to also implement it in BAMPS.

<2020-03-13>

  • I implemented the EV method for the Burgers’ equation. The method is working and improves the approximation of the shock solution of the Burgers’ equation considerably.

  • I could not reproduce the results of [9] exactly, my results show remaining oscillations (v1.0). This may be a minor fix if one knows where the problem sits, but the concept was proven and I am looking forward to present these results in the next group meeting.

  • Yorgos tried to incorporate the EVM method in a FD code. The current status of his calculations is that the provides an improvement compared to an ordinary centered FD code. However, the WENO methods that are available in BAM already outperform the FD + EVM method by a large margin. Adding EVM to a WENO FD code did not show any major improves, besides an (insignificant?) increase in the convergence order.


<2020-03-06>

  • I made a julia program to solve the advection and Burgers’ equation. This was a rather simple exercise, once I got the FFT derivative going. The program can be found at https://git.uni-jena.de/fatteneder/evm.

  • I started to implement the entropy viscosity method as described in [9] for the advection equation with a pseudospectral method.


<2020-02-28>

  • In this week’s journal club, Yorgos spoke about [6], [9], [12]. I think neither Yorgos, Bernd nor Sebastiano are yet really convinced about this method and further investigation is definitely needed.

  • This week I studied the book by LeVeque, which provided me much insight about nonlinear conservation laws and the viscosity method. As a first project, I will now try to reproduce the simplest results of the first of the papers that Yorgos discussed.


<2020-02-14>

  • Project start in this week’s group meeting. First task is to study the papers [6], [9], [12]. Yorgos will give a talk about these papers in two weeks.

Bibliography

[1]
J. S. Hesthaven and T. Warburton, Nodal discontinuous galerkin methods: Algorithms, analysis, and applications. Springer Science & Business Media, 2007.
[2]
D. Hilditch, A. Weyhausen, and B. Brügmann, “Pseudospectral method for gravitational wave collapse,” Physical Review D, vol. 93, no. 6, p. 063006, 2016.
[3]
N. W. Taylor, L. E. Kidder, and S. A. Teukolsky, “Spectral methods for the wave equation in second-order form,” Physical Review D, vol. 82, no. 2, p. 024037, 2010.
[4]
M. Bugner, T. Dietrich, S. Bernuzzi, A. Weyhausen, and B. Brügmann, “Solving 3D relativistic hydrodynamical problems with WENO discontinuous galerkin methods,” arXiv preprint arXiv:1508.07147, 2015.
[5]
V. N. Zingan, Discontinuous galerkin finite element method for the nonlinear hyperbolic problems with entropy-based artificial viscosity stabilization. Texas A&M University, 2012.
[6]
V. Zingan, J.-L. Guermond, J. Morel, and B. Popov, “Implementation of the entropy viscosity method with the discontinuous galerkin method,” Computer Methods in Applied Mechanics and Engineering, vol. 253, pp. 479–490, 2013.
[7]
M. Nazarov and A. Larcher, “Numerical investigation of a viscous regularization of the euler equations by entropy viscosity,” Computer Methods in Applied Mechanics and Engineering, vol. 317, pp. 128–152, 2017.
[8]
J. Yu and J. S. Hesthaven, “A comparative study of shock capturing models for the discontinuous galerkin method,” Elsevier, 2017.
[9]
J.-L. Guermond and R. Pasquetti, Entropy-based nonlinear viscosity for fourier approximations of conservation laws, vol. 346. Elsevier, 2008, pp. 801–806.
[10]
J.-L. Guermond, R. Pasquetti, and B. Popov, “Entropy viscosity method for nonlinear conservation laws,” Journal of Computational Physics, vol. 230, no. 11, pp. 4248–4267, 2011.
[11]
X. Zhang and C.-W. Shu, “On positivity-preserving high order discontinuous galerkin schemes for compressible euler equations on rectangular meshes,” Journal of Computational Physics, vol. 229, no. 23, pp. 8918–8934, 2010.
[12]
F. Guercilena, D. Radice, and L. Rezzolla, “Entropy-limited hydrodynamics: A novel approach to relativistic hydrodynamics,” Computational Astrophysics and Cosmology, vol. 4, no. 1, p. 3, 2017.
[13]
J. Yu, C. Yan, and Z. Jiang, “Effects of artificial viscosity and upwinding on spectral properties of the discontinuous galerkin method,” Computers & Fluids, vol. 175, pp. 276–292, 2018.
[14]
R. Liska and B. Wendroff, “Comparison of several difference schemes on 1D and 2D test problems for the euler equations,” SIAM Journal on Scientific Computing, vol. 25, no. 3, pp. 995–1017, 2003.
[15]
J. Qiu and C.-W. Shu, “Hermite WENO schemes and their application as limiters for runge–kutta discontinuous galerkin method II: Two dimensional case,” Computers & Fluids, vol. 34, no. 6, pp. 642–663, 2005.
[16]
Y. Guo and R. Liu, “Characteristic-based finite volume scheme for 1D euler equations,” Applied Mathematics and Mechanics, vol. 30, no. 3, pp. 303–312, 2009.
[17]
A. Klöckner, T. Warburton, and J. S. Hesthaven, “Viscous shock capturing in a time-explicit discontinuous galerkin method,” Mathematical Modelling of Natural Phenomena, vol. 6, no. 3, pp. 57–83, 2011.