V. Zingan et al. (2013), V. N. Zingan (2012) | Yu and Hesthaven (2017) | Nazarov and Larcher (2017) | |
---|---|---|---|
DG method | FEM | SEM | FEM |
implementation | deal.II library (for 2D) | n/a | FEniCS project |
viscous flux | Navier-Stokes | simple | Navier-Stokes & Guermond-Popov |
definition EV | cell wise constant | cell wise constant | point wise |
EV parameters | ce, cmax, P_T, P_rho | ce, cmax | ce, cmax, P, (lambda ?) |
numerical flux | Lax-Friedrich (or Jean-Luc Guermond) | Lax-Friedrich | n/a |
numerical flux diffusion term | Lax-Friedrich | central | n/a |
time derivative entropy | Crank-Nicolson, BDF2 | n/a | 1st or 2nd order (BDF, ?) |
smoother | n/a | C1 | n/a |
Divide problem domain \(\Omega\) into set of \(K\) disjoint elements. Define piecewise constant mesh function as \(h_K = L/K\) in 1D, where \(L\) domain length.
Define some reference domain and (linear) mappings between the reference and subdomains. Then define the finite element space approximation of a function \(v\) as an expansion in terms of linearly mapped basis functions from the reference element to the subdomain, e.g. \[ v(x) \approx v_h(x) = \sum_i v_{h,i} \Phi_i(x), \] where \(\Phi_i(x)\) are the linearly mapped basis functions and \(v_{h,i} := v_h(x_i)\).
Notation: The inner (outer) trace of \(v_h\) onto the subcell’s boundary is denoted by \(v_h^+\) (\(v_h^-\)).
The regularized initial boundary value problem describing the conservation law is given by \[ \partial_t u + \partial_x \cdot f(u) = - \partial_x \cdot q, \qquad (x,t) \in \Omega \times (0,T], \] \[ u(x,0) = u_0(x), \qquad x \in \Omega, \] where \(q := q(\mu, \partial_x \mu)\) is the viscous flux and \(\mu = \mu(x)\) is the nonlinear entropiy viscosity. The associated entropy condition is \[ \partial_t \eta(u) + \partial_x \psi(u) \leq 0, \] where \((\eta(u), \psi(u))\) is the entropy pair.
Time integration: Usage of RK4 scheme with adaptive stepping yields (most of the time) unstable results. This can be (partially) resolved by switching to a SSPRK3 scheme (with custom adaptive stepping). A bug in the backwards difference approximation of the entropy caused problems during evolutions with too big time steps. After fixing this, tests show that the RK4 and sSPRK3 perform (qualitatvely) equally well.
Evolution of different test problems with numerical fluxes similar to Yu (2017) showed that certain tests fail already in the first time step, because the initial discontinuity yields unphysical values (negative temperatures). This also happens when using either the Navier-Stokes or Guermond-Popov regularization, cf. Nazarov (2017). The reason for this is unclear, because Zingan (2013) present results that do no suffer from this issue.
Study of the blast wave problem revealed that already in the first time steps (compare previous item) unphysical values for the solution cause the program to crash. As a potential improvement, positivity preserving schemes implemented via a limiter could be imposed. However, the only limiter considered so far by me only preserves positivity of the cell average value, which is not enough.
How to initialize entropy viscosity?
How to deal with blast wave problems? Or problems with big jumps in the pressure?