\documentclass[reqno]{amsart}
\usepackage{hyperref}
\usepackage{graphicx}

\AtBeginDocument{{\noindent\small
Eighth Mississippi State - UAB Conference on Differential Equations and
Computational Simulations.
{\em Electronic Journal of Differential Equations},
Conf. 19 (2010),  pp. 65--73.\newline
ISSN: 1072-6691. URL: http://ejde.math.txstate.edu or http://ejde.math.unt.edu
\newline ftp ejde.math.txstate.edu}
\thanks{\copyright 2010 Texas State University - San Marcos.}
\vspace{9mm}}

\begin{document} \setcounter{page}{65}
\title[\hfilneg EJDE-2010/Conf/19/\hfil A hybrid scheme]
{A hybrid semi-primitive shock capturing scheme for conservation laws}

\author[R. K. Dubey\hfil EJDE/Conf/19 \hfilneg]
{Ritesh Kumar Dubey} 

\address{Ritesh Kumar Dubey \newline
  Institut de   Math\'ematiques de Toulouse,
  Universit\'e Paul  Sabatier, 
  118 route de Narbonne,
  F-31062 Toulouse Cedex 9, Fance}
\email{riteshkd@gmail.com}

\thanks{Published September 25, 2010.}
\subjclass[2000]{35L65, 65M06, 65M12}
\keywords{Hyperbolic conservation laws; primitive scheme;
  upwind difference; \hfill\break\indent hybrid schemes}

\begin{abstract}
  A hybrid semi-primitive shock capturing scheme is
  presented for hyperbolic problems. Upwind based construction
  is done using explicit information on the wave propagation direction
  associated with the problem.
  This scheme captures the shock waves at right location but
  shows unphysical sonic expansion shock. This phenomena
  of unphysical expansion shock in the presence of expensive sonic point
  is not surprising and it is common for the wave based upwind schemes.
  A hybrid scheme approach using an iteration criteria based on sonic
  entropy fix is proposed to avoid such expansion shocks.
  Numerical results for  scalar test problems are presented which
  show that proposed scheme captures the shock accurately.
\end{abstract}

\maketitle
\numberwithin{equation}{section}

\section{Introduction}

In this work we consider the hyperbolic differential equations in the
following primitive (non-conservative) form,
\begin{equation}
  \frac{\partial u}{\partial t} +   \alpha(u) \frac{\partial (u)}{\partial x}
  =0, \quad (x,t)\in \mathbb{R}\times \mathbb{R}^{+},\label{eq1a}
\end{equation}
together with the appropriate boundary and initial conditions. In
\eqref{eq1a}, the unknown variable $u \in \mathbb{R}$ can be a
physically conserved variable and in such situation the
characteristic speed $\alpha(u)=\frac{\partial f}{\partial u}$
where, $f=f(u)$ be the physical flux and \eqref{eq1a} can be
written in conservative form as
\begin{equation}
  \frac{\partial u}{\partial t} +   \frac{\partial f(u)}{\partial x}
  =0.\label{eq1b}
\end{equation}
It is well known that even if the initial condition is smooth
enough, various kind of discontinuity e.g, shock wave, contact
discontinuity and expansion fan may arise in the solution of such
hyperbolic problems. Looking at literature to solve hyperbolic
problems numerically one can experience an imbalance in between
the number of available conservative schemes and primitive
(non-conservative) schemes. The main reason for this imbalance
seems to be the possible occurrence of shock waves in the solution
of \eqref{eq1b} and it is shown in \cite{hou} that conservative
form is mandatory for capturing the shock at right location while
the primitive form captures the shock at wrong position and
primitive schemes often converge to wrong week solution. In fact,
most of the numerical schemes developed for hyperbolic problems
are conservative. A state of art detail on various conservative
numerical schemes for solving \eqref{eq1b} can be found in
\cite{laney,leveque1,leveque2002,Toro1,wesseling}. On the other
hand primitive or semi-primitive schemes work well for the smooth
solution, discontinuities such as contact, shear waves and mild
shocks \cite{Toro1} but these methods are simply discarded.
Recently few attempts are  made to construct primitive schemes.
Primitive schemes based on upwinding are given in
\cite{Toro2,karni} and centered schemes are proposed in
\cite{siviglia}.


In this work our main aim is to construct a primitive scheme which
can capture the shock waves at right location. In order to do this
we look for a primitive scheme which changes into conservative
form around discontinuities so that it can capture shock
accurately as suggested in \cite{hou}. The scheme is designed
based on upwinding by using the explicit information on
characteristic speed $\alpha= f'(u)$ of primitive form
\eqref{eq1a}.   Thus constructed semi-primitive scheme captures
the shock wave correctly but in the presence of expensive sonic
point where wave speed changes its sign, produces entropy
violating solution. In order to overcome this, we use the idea of
hybrid schemes and use entropy satisfying  Lax-Friedrichs in the
presence of sonic point. To decide upon iterations a criteria is
given using an entropy fix approach.

\section{Primitive scheme formulation \label{sec2}}

We define semi-primitive (semi-conservative) schemes as a scheme which remains
primitive (non-conservative) for the region of smooth solution and
locally corrected into conservative form around discontinuities. For
the simplicity of presentation, consider the wave equation
\begin{equation}
  \frac{\partial u}{\partial t} +   a\frac{\partial u}{\partial x}
  =0,\quad  0\neq a\in\mathbb{R}.\label{eq3}
\end{equation}
We discretize the domain with fixed space and time step sizes
$\Delta x$, $\Delta t$ respectively. Integrating \eqref{eq3} over
the rectangle
$[x_{i-\frac{1}{2}},x_{i+\frac{1}{2}}]\times[t^{n},t^{n+1}]$ and
introducing the definitions of the spatial and temporal cell
averages
\begin{equation}
U_{i}^{n} = \frac{1}{\Delta
  x}\int_{x_{i-\frac{1}{2}}}^{x_{i+\frac{1}{2}}}u(x,t^{n})dx,\quad
U_{i \pm \frac{1}{2}}  =  \frac{1}{\Delta
  t}\int_{t^{n}}^{t^{n+1}}u(x_{i\pm\frac{1}{2}},t)dt,\label{eq4}
 \end{equation}
one can obtain a primitive difference scheme of the form
\begin{equation}
U_{i}^{n+1}=U_{i}^{n}- a\lambda\left(
U_{i+\frac{1}{2}}-U_{i-\frac{1}{2}}\right) \label{eq5}
\end{equation}
%
where  $\lambda = \frac{\Delta t}{\Delta x}$,  $U_{i\pm\frac{1}{2}}$
are intermediate states defined on the cell interfaces $x_{i \pm
  \frac{1}{2}}$.
Note that for constant wave speed $a$, the difference scheme
\eqref{eq5} can be written in conservative form,
\begin{equation}
U_{i}^{n+1}=U_{i}^{n}- \lambda\left(
H_{i+\frac{1}{2}}-H_{i-\frac{1}{2}}\right) \label{eq6}
\end{equation}
where $H_{i \pm \frac{1}{2}}  = aU^{n}_{i \pm\frac{1}{2}}$ is the
numerical flux function. It is well-known that the first order
upwind approximation for \eqref{eq3} can be obtained by using the
following intermediate states $U_{i\pm\frac{1}{2}}$ in \eqref{eq5}
\begin{equation}
 U_{i+\frac{1}{2}}=  \begin{cases}
 U_{i},  & a\geq0,\\
 U_{i+1},  & a\leq0.
 \end{cases} \label{eq7}
\end{equation}
Consider the primitive form \eqref{eq1b}  of hyperbolic problem
\eqref{eq1a}
\begin{equation}
  \frac{\partial u}{\partial t} +   \alpha(u)\frac{\partial u}{\partial x}
  =0, \label{eq8}
\end{equation}
On comparison with \eqref{eq3} and utilizing the explicit
information of the characteristic speed $\alpha(u)$ we can
construct a primitive upwind scheme so that it respects physical
hyperbolicity property associated with \eqref{eq1a}. Analogous to
first order accurate primitive difference scheme for linear
equation \eqref{eq3}, we propose a first order primitive upwind
scheme for non-linear equation \eqref{eq8} which can be written as
\begin{equation}
U_{i}^{n+1}=U_{i}^{n}-\lambda \bar{s_{i}}\big\{
{U}_{i+\frac{1}{2}}-{U}_{i-\frac{1}{2}}\big\} \label{eq9}
\end{equation}
%
where ${U}_{i\pm\frac{1}{2}}$ are intermediate states on the cell
interface at $x_{i\pm\frac{1}{2}}$ and defined similar to
\eqref{eq7} as follows,
\[
 U_{i+\frac{1}{2}}=  \begin{cases}
  U_{i},  & a_{i+\frac{1}{2}}\geq0,\\
  U_{i+1},  & a_{i+\frac{1}{2}}\leq0,
  \end{cases},\quad
 a_{i+\frac{1}{2}}=
\begin{cases}
 \frac{F_{i+1}-F_{i}}{U_{i+1} -U_{i}},  & U_{i+1} \neq U_{i},\\
\alpha(U_{i}),  & U_{i+1} = U_{i}.
 \end{cases}
 \]
 where  ${F}_{i} = f({U}_{i})$.


Numerical wave speed  $\bar{s}_{i}$ in \eqref{eq9} is the local
linearized approximation for $\alpha(u)$ in the $i_{th}$ cell. We
define the numerical wave speed using intermediate states in such
a way that the resulting scheme changes into conservative form in
the vicinity of shock as follows,
\begin{equation}
\bar{s}_{i}=  \begin{cases}
\frac{{F}_{i+\frac{1}{2}} - {F}_{i-\frac{1}{2}}}{{U}_{i+\frac{1}{2}} -
  {U}_{i-\frac{1}{2}}},& \text{if }{U}_{i+\frac{1}{2}} \neq
     {U}_{i-\frac{1}{2}},\\
f'_{i}=f'({U}_{i-\frac{1}{2}}), & \text{if }
 {U}_{i+\frac{1}{2}} =
{U}_{i-\frac{1}{2}},
\end{cases} \label{eq10}
\end{equation}

Note that, in the vicinity of shock discontinuity, proposed scheme
gives conservative approximation. For this, let shock
discontinuity be locally in the $i_{th}$ cell then
${U}_{i+\frac{1}{2}} \neq {U}_{i-\frac{1}{2}}$ and \eqref{eq9},
\eqref{eq10} yield a conservative approximation
\begin{equation}
U^{n+1}_{i} = U^{n}_{i} - \lambda(F_{i+\frac{1}{2}} - F_{i-\frac{1}{2}}).
\end{equation}
This shows that proposed semi-primitive scheme is
locally corrected by a conservative scheme, hence can capture shocks
accurately \cite{hou}. Presented numerical results also validate this
feature.

\section{Hybrid Scheme}

We have observed that the proposed semi-primitive scheme captures the
shock discontinuity correctly but in presence of expansive sonic point where
wave speed changes its $sign$, produces entropy violating solution
which shows the less dissipative nature of semi-primitive scheme
near expensive sonic point (see Fig. \ref{Fig3} Left). This phenomena is
not new for the wave propagation based upwind schemes and it is well
known in the literature that one need to use an entropy fix
in the solution region where
wave speed changes its sign \cite{hyman,kermani} . In order to apply proposed method for the
problem with
expensive sonic point we use hybrid schemes approach. The idea is to
use entropy satisfying Lax-Friedrichs centered scheme in the region of
sonic point. We propose an iteration approach based of the entropy
fix formula for residual distribution scheme given in \cite{sermeus}
as follows,
\begin{equation}
  U^{n+1}_{i}= \begin{cases}
        U_{i} -\lambda \bar{\alpha}_{i}\big(
        {U}_{i+\frac{1}{2}}-{U}_{i-\frac{1}{2}}\big),  &
        |\bar{s}_{i}| \geq\delta_{i}, \\
        \frac{(U_{i+1} +U_{i-1})}{2} -\frac{\lambda}{2}(f(U_{i+1}) -
        f(U_{i-1})),  & |\bar{s}_{i}| <\delta_{i}.
    \end{cases} \label{eq11}
\end{equation}
where
\begin{equation}
\delta_{i} = \gamma\max(0, (\tilde{a}_{i+\frac{1}{2}}
-\tilde{a}_{i-\frac{1}{2}})),\quad
0\leq \gamma\leq 1,\quad
\tilde{a}_{i} = f'(U_{i}).\label{eq12}
\end{equation}

\noindent{\bf Remarks}
(1) One can also use other entropy fix formulas
 for numerical computation \cite{hyman,kermani}.

(2) For non-linear problem \eqref{eq1b}, the proposed scheme is
  different from the classical conservative upwind scheme though for
  the linear problem \eqref{eq3} it can be written as classical upwind
  scheme. In fact, in smooth solution region the proposed scheme
  \eqref{eq9} may give primitive approximation to \eqref{eq1b}.

\section{Numerical Results \label{numerical}}

\noindent{\bf Remarks} (1) In all our numerical results, we denote
the results obtained using proposed semi-primitive scheme (without
entropy iteration) by {\it SP} scheme and with entropy iteration
that is hybrid scheme by {\it HSP} scheme. For all numerical
simulation of {\it HSP}, a fixed value $\gamma=\frac{1}{2}$ is
taken in \eqref{eq12}.

(2)The proposed {\it SP} scheme works very well for most of the
  case but fails to capture centered expansion fan. Hence for safer side
  {\it HSP} scheme should always be used. For some tests results are given
  only for {\it SP/HSP} as similar results are obtained with proposed {\it HSP/SP}
  scheme.

(3) One can easily show that proposed scheme is stable for linear
  problem \eqref{eq3} under the CFL condition $|a\lambda| \leq 1$ this
  is why we use CFL like stability condition $|\lambda
  \tilde{\alpha}|\leq 1$ for non-linear problems.

\subsection{Convex Flux function: Inviscid Burgers Equation}

We consider the inviscid Burgers equation
  \begin{equation}
 \frac{\partial u}{\partial t} + \frac{\partial }{\partial
   x}\Bigl(\frac{u^2}{2}\Bigr) =0, \quad  t>0, \label{n3}
\end{equation}
with periodic boundary conditions. It is well known that the solutions
of inviscid Burgers equation may contain shocks \cite{laney}. We
present three different test cases to show the accuracy and shock
capturing at correct location using the proposed scheme.

\subsubsection{Case 1: Pre-/Post-Shock:}

In this example, we take smooth sinusoidal initial condition,
\begin{equation}
u(x, 0)= \sin(x),\quad x\in[0,\,2\pi]. \label{n4}
\end{equation}
In this test case the final solution beginning from smooth initial conditions
contains a shock discontinuity after a breaking time $t=1.0$.

In Fig. \ref{Fig1}, approximate solutions obtained by proposed
semi-primitive scheme  {\it SP } are presented at pre-shock time
$t=0.25,\;0.75$ when the solution remains smooth and at post shock
time $t=1.5$ when the shock is completely developed. Graph shows that
{\it SP}  gives good approximation for the smooth solution and
captures the shock at right location.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig1} %SinCis0p6Nis40.eps
\end{center}
\caption{Computed solution by semi-primitive (SP) scheme for various
    pre and post shock time with  $CFL=0.6$ }
 \label{Fig1}
\end{figure}


\subsubsection{Case 2: Moving Shock:}
Here we consider the Burgers equation \eqref{n3}  with the
 initial condition
\begin{equation}
  u(x,0) =   \begin{cases}
    2,  & \text{for } x \leq 0, \\
    -1, & \text{for } x > 0.
  \end{cases}
\end{equation}
%
This test case has no sonic point in its solution. The initial
shock discontinuity at $x=0$ propagates without losing its initial
shape with time. In Figure \ref{Fig2} we compare the solution obtained
with {\it SP} at different time level which shows that the scheme is
able to capture the shock at right location within $2$ grid
point. Similar results are obtained with {\it HSP}.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig2} % shock.eps
\end{center}
\caption{ Shock capturing feature of proposed
   SP scheme for $C=0.5,\;\Delta x =0.1$ at various time level }
 \label{Fig2}
\end{figure}


\subsubsection{Case 3: Sonic expansion fan in presence of sonic point:}

Consider the Burgers equation \eqref{n3} with the initial
condition
\begin{equation}
  u(x,0) =   \begin{cases}
    -1, &\text{for } x < 0, \\
    2,  &\text{for } x \geq 0.
  \end{cases}
\end{equation}
The exact solution is an expansion fan emanating from the sonic point
at $x=0.$ In Figure \ref{Fig3}, numerical solutions are compared with
exact reference solution at time $t=0.4$ on a uniform grid with $200$ points.
The solution computed by proposed {\it SP} scheme shows an expansion shock
while the entropy fix based {\it HSP} scheme removes the expansion
shock very satisfactorily.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig3a} % expansionshock.eps
\includegraphics[width=0.7\textwidth]{fig3b} % expansionfan.eps
\end{center}
\caption{Sonic expansion: semi-primitive scheme
    (A) and hybrid semi-primitive scheme (B) for data $C=0.8,  \Delta x
    =0.02$ at time $t=0.4$}
 \label{Fig3}
\end{figure}

\subsection{Convex-Concave flux: Buckley Leverett Equation}

A more demanding test example for the scalar one-dimensional
problem is the Buckley-Leverett equation. This equation models the
two phase flows that arise oil-recovery problems and physically
represents a mixture of oil and water through the porous medium.
In conservative form \eqref{eq1b} the flux function for this
problem is given by a convex-concave (S-shaped) function
\begin{equation}
f(u) = \frac{u^2}{u^2 + \nu(1-u)^2}. \label{buckley}
\end{equation}
Here $\nu$ is viscosity ratio and $u$ represents the saturation of water and
lies between $0$ and $1$.

\subsubsection{One moving shock \cite{wesseling}}

Consider the flux \eqref{buckley} with $\nu =\frac{1}{2}$ and
initial condition
\begin{equation}
u(x,0)= \begin{cases}
  1, & x<0,\\
  0,  & x>0.
\end{cases}
\end{equation}
The solution involves one single moving shock followed by a rarefaction wave.
Numerical  results using proposed hybrid semi-primitive scheme ({\it HSP})
are presented  in Fig. \ref{Fig4}. {\it HSP} sharply captures the moving
shock at right location and rarefaction wave accurately.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig4} % HSC1shock.eps
\end{center}
\caption{Solution profile for data $C=0.4$,  $\Delta x =0.02$ at
time $t=0.5,\,1.0,\, 1.5$}
\label{Fig4}
\end{figure}

\subsubsection{Two moving shock \cite{flaherty}}

Consider the flux \eqref{buckley} with $\nu =\frac{1}{4}$ and
subject to initial condition
\begin{equation}
u(x,\,0)= \begin{cases}
  1, & -0.5\leq x\leq 0,\\
  0,  & elsewhere.
\end{cases}
\end{equation}
The solution involves two moving shocks, each followed by an
rarefaction wave. Numerical result is given in Fig. \ref{Fig5} which
shows that the {\it HSP} sharply captures both the fast and slow shocks. The
rarefaction waves are also accurately approximated by {\it HSP}.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig5} % HSC2shock.eps
\end{center}
\caption{Solution profile using $C=0.4$,
  $\Delta x =0.01$ at time $t=0.5$}
\label{Fig5}
\end{figure}

\subsection{Flux Sine problem: Moving and Stationary Shock}

We consider third scalar Riemann problem with
non-convex sinusoidal flux function which is introduced by Leveque
in \cite{leveque2002}. It is given by
\begin{equation}
\frac{\partial u}{\partial t} +\frac{\partial (\sin(u))}{\partial
x} =0 \label{fluxsine}
\end{equation}
with the initial condition
\begin{equation}
u(x,0)= \begin{cases}
  \frac{\pi}{4}, & x<0,\\
  \frac{15\pi}{4},  & x>0.
\end{cases}
\end{equation}
The solution consists one stationary shock at the origin, one
moving shock followed by an expansion wave and one moving
expansion wave. In Fig \ref{Fig6} solution obtained by {\it HSP}
is shown for time $t=1.0$. Figure \ref{Fig6} shows that {\it HSP}
capture the stationary shock as well moving shocks nicely with a
nice resolution for the two expansion waves.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=0.7\textwidth]{fig6} % leveque.eps
\end{center}
 \caption{Solution profile using $C=0.6$,
     $\Delta x =0.02$ at time $t=1.0$}
\label{Fig6}
\end{figure}

\subsection*{Conclusion and future work}

In this work, we define the semi-primitive scheme by considering
the primitive form of conservation law.  Primitive scheme is
constructed in such a way that it becomes conservative in the vicinity
of discontinuity. Proposed scheme captures the shock with high
accuracy but yields rarefaction shocks in the presence of sonic
point. A hybrid scheme approach is proposed based on entropy fix
iteration. Presented numerical examples show that hybrid scheme captures shock
at right location and resolves the expansion fan. Extension for
the hyperbolic system and high order accurate hybrid semi-primitive
scheme is under investigation.

\begin{thebibliography}{00}

\bibitem{flaherty} Xin, J.; Flaherty, J. E.;
 Viscous stabilization of discontinuous
 Galerkin solutions of hyperbolic conservation laws, App. Num. Math. 56 (2006), 444-458.

\bibitem{hou} Hou, T.Y.; LeFloch, P.G.;
 Why non-conservative schemes converge to wrong solutions:
error analysis, Mathematics of Computation, 62(1994), 497-530.

\bibitem{hyman} Harten, A.; Hyman, J. M.;
 Self-Adjusting Grid Methods   for One-Dimensional Hyperbolic
Conservation Laws, J. of  Comput. Physics, 50(1983), 235-269.

\bibitem{karni} Karni, S.;
 Multicomponent flow calculations using a
  consistent primitive algorithm. J. Comp. Phys. 112( 1994), 31-43.

\bibitem{kermani} Kermani, M. J.; Plett, E. G.;
Modified Entropy  Correction Formula for the Roe Scheme, AIAA 2001- 0083.

\bibitem{laney} Laney, C. B.;
 Computational Gas-dynamics (Ist edn). Cambridge
  University press: Cambridge, 1998.

\bibitem{leveque1} Leveque, R. J.;
 Numerical methods for conservation
  Laws, Lectures in Mathematics, ETH Zurich, Birkhauser, 1999.

\bibitem{leveque2002} Leveque, R. J.;
  Finite volume methods for hyperbolic
  problems, Cambridge University Press, Cambridge, 2002.

\bibitem{sermeus}  Sermeus, K.; Deconinck, H.;
An entropy fix for  multi dimensional
upwind residual distribution schemes, Computers and
Fluids, 34(2005), 617-640.

\bibitem{siviglia} Toro, E. F.; Silviglia, A.;
 PRICE: primitive centered schemes for hyperbolic systems,
  Int. J. Num. Meth. Fluids, 42(2003), 1263-1291.

\bibitem{Toro1} Toro, E. F.;
  Riemann solvers and numerical methods for
  fluid dynamics, A practical introduction 2nd edition, Springer,
  1999.
\bibitem{Toro2} Toro, E. F.;
 Primitive, conservative and adaptive schemes
  for hyperbolic conservation laws. In Numerical Methods for Wave
  Propagation. Toro E. F., Clarke J. F. (eds). Kluwer Academic Publishers:
  Dordrecht, 1998; 323-385.

\bibitem{wesseling} Wesseling, P.;
 Principles of computational fluid dynamics,   Springer 2001.


\end{thebibliography}

\end{document}
