where $S_\kappa$ is a normalised sensor value and serves as a forcing term for the artificial viscosity. A smooth artificial viscosity distribution is obtained.\\

\\

To enable the smooth viscosity model, the following line has to be added to the \inltt{SOLVERINFO} section:

\begin{lstlisting}[style=XmlStyle]

<SOLVERINFO>

<I PROPERTY="ShockCaptureType" VALUE="Smooth" />

<SOLVERINFO>

\end{lstlisting}

Furthermore, the extra viscosity variable \inltt{eps} has to be added to the variable list:

\begin{lstlisting}[style=XmlStyle]

<VARIABLES>

<V ID="0"> rho </V>

<V ID="1"> rhou </V>

<V ID="2"> rhov </V>

<V ID="4"> E </V>

<V ID="5"> eps </V>

</VARIABLES>

\end{lstlisting}

A similar addition has to be made for the boundary conditions and initial conditions. The tests that have been run started with a uniform homogeneous boundary condition and initial condition.

The following parameters can be set in the xml session file:

\begin{lstlisting}[style=XmlStyle]

<PARAMETERS>

<P> Skappa = -1.3 </P>

<P> Kappa = 0.2 </P>

<P> mu0 = 1.0 </P>

<P> FH = 3 </P>

<P> FL = 0.01*FH </P>

<P> C1 = 0.03 </P>

<P> C2 = 5/3*C1 </P>

</PARAMETERS>

\end{lstlisting}

where for now \inltt{FH} and \inltt{FL} are used to tune which range of the sensor is used as a forcing term and \inltt{C1} and \inltt{C2} are fixed constants which can be played around with to make the model more diffusive or not. However these constants are generally fixed.

\subsection{Variable polynomial order}

A sensor based $p$-adaptive algorithm is implemented to optimise the computational cost and accuracy.

The DG scheme allows one to use different polynomial orders since the fluxes over the elements are determined using a Riemann solver and there is now further coupling between the elements. Furthermore, the initial $p$-adaptive algorithm uses the same sensor as the shock capturing algorithm to identify the smoothness of the local solution so it rather straightforward to implement both algorithms at the same time.\\