Commit f14f62e7 authored by Spencer Sherwin's avatar Spencer Sherwin

Updated format to new agreed distribution of pre and post processing followed by solvers

parent 7d297d6e
\section{Advection-Diffusion-Reaction Solver}
\chapter{Advection-Diffusion-Reaction Solver}
%3.4/UserGuide/Tutorial/ADRSolver
%3.4/UserGuide/Examples/ADRSolver/1DAdvection
%3.4/UserGuide/Examples/ADRSolver/3DAdvectionMassTransport
%3.4/UserGuide/Examples/ADRSolver/Helmholtz2D
\subsection{Synopsis}
\section{Synopsis}
The ADRSolver is designed to solve partial differential equations of the form:
\begin{equation}
......@@ -52,19 +52,19 @@ $\dfrac{\partial u}{\partial t} + u\nabla u = 0$ &
\label{t:ADR1}
\end{table}
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
ADRSolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\section{Session file configuration}
The type of equation which is to be solved is specified through the EquationType
SOLVERINFO option in the session file. This can be set as in table \ref{t:ADR1}.
At present, the Steady non-symmetric solvers cannot be used in parallel. \\
\subsubsection{Solver Info}
\subsection{Solver Info}
The solver info are listed below:
\begin{itemize}
......@@ -119,9 +119,9 @@ The solver info are listed below:
\end{itemize}
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
The following parameters can be specified in the \inltt{PARAMETERS} subsection of
The following parameters can be specified in the \inltt{PARAMETERS} section of
the session file:
\begin{itemize}
\item \inltt{epsilon}: sets the diffusion coefficient $\epsilon$.\\
......@@ -136,9 +136,9 @@ diffusion tensor $D$. \\
\textit{Default value}: 0.
\end{itemize}
\subsubsection{Functions}
\subsection{Functions}
The following functions can be specified inside the \inltt{CONDITIONS} subsection
The following functions can be specified inside the \inltt{CONDITIONS} section
of the session file:
\begin{itemize}
......@@ -147,23 +147,23 @@ of the session file:
\item \inltt{Forcing}: specifies the forcing function f.
\end{itemize}
\subsection{Examples}
\section{Examples}
Example files for the ADRSolver are provided in
\inltt{solvers/ADRSolver/Examples}
\subsubsection{1D Advection equation}
\subsection{1D Advection equation}
In this example, it will be demonstrated how the Advection equation can be
solved on a one-dimensional domain.
\subsubsubsection{Advection equation}
\subsubsection{Advection equation}
We consider the hyperbolic partial differential equation:
\begin{equation}
\dfrac{\partial u}{\partial t} + \dfrac{\partial f}{\partial x} = 0,
\end{equation}
where $f = a u$ is the advection flux.
\subsubsubsection{Input file}
\subsubsection{Input file}
The input for this example is given in the example file \inlsh{Advection1D.xml}
The geometry section defines a 1D domain consisting of $10$ segments. On each
......@@ -235,7 +235,7 @@ Finally, we specify the initial value of the solution on the domain
</FUNCTION>
\end{lstlisting}
\subsubsubsection{Running the code}
\subsubsection{Running the code}
\begin{lstlisting}[style=BashInputStyle]
ADRSolver Advection1D.xml
\end{lstlisting}
......@@ -247,11 +247,11 @@ FieldConvert Advection1D.xml Advection1D.fld Advection1D.vtu
\end{lstlisting}
\subsubsection{2D Helmholtz Problem}
\subsection{2D Helmholtz Problem}
In this example, it will be demonstrated how the Helmholtz equation can be solved on a two-dimensional domain.
\subsubsubsection{Helmholtz equation}
\subsubsection{Helmholtz equation}
We consider the elliptic partial differential equation:
......@@ -261,7 +261,7 @@ We consider the elliptic partial differential equation:
where $\nabla^2$ is the Laplacian and $\lambda$ is a real positive constant.
\subsubsubsection{Input file}
\subsubsection{Input file}
The input for this example is given in the example file
\inlsh{Helmholtz2D\_modal.xml}
......@@ -351,7 +351,7 @@ the correct solution is obtained by evaluating the $L_2$ and $L_{inf}$ errors.
\end{lstlisting}
\subsubsubsection{Running the code}
\subsubsection{Running the code}
\begin{lstlisting}[style=BashInputStyle]
ADRSolver Test_Helmholtz2D_modal.xml
\end{lstlisting}
......@@ -359,7 +359,7 @@ ADRSolver Test_Helmholtz2D_modal.xml
This execution should print out a summary of input file, the $L_2$ and
$L_{inf}$ errors and the time spent on the calculation.
\subsubsubsection{Post-processing}
\subsubsection{Post-processing}
Simulation results are written in the file Helmholtz2D\_modal.fld. We can choose
to visualise the output in Gmsh
\begin{lstlisting}[style=BashInputStyle]
......@@ -377,7 +377,7 @@ Fig.~\ref{f:adrsolver:helmholtz2D}
\end{figure}
\subsubsection{Advection dominated mass transport in a pipe}
\subsection{Advection dominated mass transport in a pipe}
The following example demonstrates the application of the ADRsolver for
modelling advection dominated mass transport in a straight pipe.
......@@ -386,7 +386,7 @@ in arteries. This is because the diffusion coefficient of small blood borne
molecules, for example oxygen or adenosine triphosphate, is very small
$O(10^{-10})$.
\subsubsubsection{Background}
\subsubsection{Background}
The governing equation for modelling mass transport is the unsteady advection
diffusion equation:
\begin{align*}
......@@ -423,7 +423,7 @@ the calculated mass transfer at the wall with the Graetz-Nusselt solution. The
Peclet number of the transport regime under consideration is $750000$, which is
physiologically relevant.
\subsubsubsection{Input file}
\subsubsection{Input file}
The geometry under consideration is a pipe of radius, $R = 0.5$ and length $l =
0.5$
......@@ -536,7 +536,7 @@ same as the inlet. This is defined by,
</FUNCTION>
\end{lstlisting}
\subsubsubsection{Results}
\subsubsection{Results}
To compare with the analytical expression we numerically calculate the
concentration gradient at the surface of the pipe. This is then plotted against
the analytical solution by extracting the solution along a line in the
......
\section{Acoustic Perturbation Equations Solver}
\chapter{Acoustic Perturbation Equations Solver}
\subsection{Synopsis}
\section{Synopsis}
The aim of APESolver is to predict aerodynamic sound generation. Through
the application of a splitting technique, the flow-induced acoustic field is
totally decoupled from the underlying incompressible hydrodynamic field. The
......@@ -28,14 +28,14 @@ be exclusively of acoustic nature.
where $(\overline{u}_i,\overline{p}, \overline{\rho}, \overline{c}^2 = \gamma \overline{p} / \overline{\rho} )$ represents the base flow and $(u'_i,p')$ the perturbations.
$\overline{c}^2 q_c$ is the acoustic source term.
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
APESolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\section{Session file configuration}
\subsubsection{Solver Info}
\subsection{Solver Info}
\begin{itemize}
\item \inltt{Eqtype} Specifies the equation to solve. This should be set to
\inltt{APE}.
......@@ -43,12 +43,12 @@ APESolver session.xml
Currently, only \inltt{APEUpwind} supported.
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
\begin{itemize}
\item \inltt{Gamma}: Ratio of specific heats
\end{itemize}
\subsubsection{Functions}
\subsection{Functions}
\begin{itemize}
\item \inltt{BaseFlow} Baseflow $(\overline{u}_i, \overline{p}, \overline{\rho})$ defined by the variables \inltt{u0,v0,w0,p0,rho0}
\item \inltt{Source} Source term $\overline{c}^2 q_c$
......@@ -56,8 +56,8 @@ Currently, only \inltt{APEUpwind} supported.
\end{itemize}
\subsection{Examples}
\subsubsection{Aeroacoustic Wave Propagation}
\section{Examples}
\subsection{Aeroacoustic Wave Propagation}
In this section we explain how to set up a simple simulation of aeroacoustics in
Nektar++. We will study the propagation of an acoustic wave in the simple case
where the base flow is $\overline{u}_i = 0, \, \overline{p}=p_{\infty}=10^6, \, \overline{\rho} = \rho_0 = 1.204$. The geometry consists
......@@ -71,7 +71,7 @@ of $64$ quadrilateral elements, as shown in Fig.~\ref{f:apesolver:geometry}.
\label{f:apesolver:geometry}
\end{figure}
\subsubsubsection{Input file}
\subsubsection{Input file}
We require a discontinuous Galerkin projection and use an explicit
fourth-order Runge-Kutta time integration scheme. We therefore set the following
solver information:
......@@ -120,12 +120,12 @@ eventual source terms using the following functions:
</FUNCTION>
\end{lstlisting}
\subsubsubsection{Running the code}
\subsubsection{Running the code}
\begin{lstlisting}[style=BashInputStyle]
APESolver Test_pulse.xml
\end{lstlisting}
\subsubsubsection{Results}
\subsubsection{Results}
Fig.~\ref{f:apesolver:results} shows the pressure profile at different
time steps, showing the acoustic propagation.
......
\section{Cardiac Electrophysiology Solver}
\chapter{Cardiac Electrophysiology Solver}
\subsection{Synopsis}
\section{Synopsis}
The CardiacEPSolver is used to model the electrophysiology of cardiac
tissue, specifically using the monodomain or bidomain model. These models are
......@@ -9,7 +9,7 @@ cells. The system is a reaction-diffusion system, with the reaction term
modeling the flow of current in and out of the cells using a separate set of
ODEs.
\subsubsection{Bidomain Model}
\subsection{Bidomain Model}
The Bidomain model is given by the following PDEs,
\begin{align*}
g_{ix}\frac{\partial^2 V_i}{\partial x^2} + g_{iy}\frac{\partial^2 V_i}{\partial y^2} &= \chi \left[ C_m \frac{\partial(V_i-V_e)}{\partial t} + G_m(V_i-V_e) \right] \\
......@@ -23,7 +23,7 @@ of the transmembrane potential and extracellular potential,
&= -g_{ix} \frac{\partial^2 V_m}{\partial x^2} - g_{iy} \frac{\partial^2 V_m}{\partial y^2}
\end{align*}
\subsubsection{Monodomain Model}
\subsection{Monodomain Model}
In the case where the intracellular and extracellular conductivities are
proportional, that is $g_{ix} = kg_{ex}$ for some $k$,
then the above two PDEs can be reduced to a single PDE:
......@@ -31,7 +31,7 @@ then the above two PDEs can be reduced to a single PDE:
\chi\left[ C_m \frac{\partial V_m}{\partial t} + J_{ion} \right] &= \nabla \cdot (\sigma \nabla V_m)
\end{align*}
\subsubsection{Cell Models}
\subsection{Cell Models}
The action potential of a cardiac cell can be modelled at either a biophysical
level of detail, including a number of transmembrane currents, or as a
phenomenological model, to reproduce the features of the action potential, with
......@@ -62,14 +62,14 @@ The monodomain equation:
\chi \left[ C_m \frac{\partial V_m}{\partial t} + J_{ion} \right] &= \nabla \cdot (\sigma \nabla V_m)
\end{align*}
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
CardiacEPSolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\subsubsection{Solver Info}
\section{Session file configuration}
\subsection{Solver Info}
\begin{itemize}
\item \inltt{Eqtype} Specifies the PDE system to solve. The following values
are supported:
......@@ -113,7 +113,7 @@ CardiacEPSolver session.xml
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
The following parameters can be specified in the \inltt{PARAMETERS} section of
the session file. Example values are taken from \cite{NiKeBeBeBe11}.
\begin{itemize}
......@@ -133,8 +133,8 @@ the session file. Example values are taken from \cite{NiKeBeBeBe11}.
\end{align*}
\end{itemize}
\subsubsection{Functions}
The following functions can be specified inside the \inltt{CONDITIONS} subsection
\subsection{Functions}
The following functions can be specified inside the \inltt{CONDITIONS} section
of the session file. If both are specified, the effect is multiplicative.
Example values are taken from \cite{NiKeBeBeBe11}.
\begin{itemize}
......@@ -157,7 +157,7 @@ $\mathbf{\sigma}$ of the tissue.
\end{itemize}
\subsubsection{Filters}
\subsection{Filters}
\begin{itemize}
\item \inltt{CellHistoryPoints} writes all cell model states over time at
fixed points. Can be used along with the \inltt{HistoryPoints} filter to
......@@ -241,7 +241,7 @@ $\mathbf{\sigma}$ of the tissue.
\end{itemize}
\subsubsection{Stimuli}
\subsection{Stimuli}
Electrophysiological propagaion is initiated through the stimulus current
$I_{\mathrm{ion}}$. The \inltt{STIMULI} section describes one or more regions of
stimulus and the time-dependent protocol with which they are applied.
......@@ -252,7 +252,7 @@ stimulus and the time-dependent protocol with which they are applied.
\end{lstlisting}
A number of stimulus types are available
\subsubsubsection{Stimulus types}
\subsubsection{Stimulus types}
\begin{itemize}
\item \inltt{StimulusRect} stimulates a cuboid-shaped region of the domain,
specified by two coordinates $(x_1,y_1,z_1)$ and $(x_2,y_2,z_2)$.
......@@ -287,7 +287,7 @@ A number of stimulus types are available
\end{itemize}
\subsubsubsection{Protocols}
\subsubsection{Protocols}
A protocol specifies the time-dependent function indicating the strength of the
stimulus and one such \inltt{PROTOCOL} section should be included within each
\inltt{STIMULUS}. This can be expressed as one of:
......
\section{Compressible Flow Solver}
\chapter{Compressible Flow Solver}
\subsection{Synopsis}
\section{Synopsis}
The CompressibleFlowSolver allows us to solve
the unsteady compressible Euler and Navier-Stokes
equations for 1D/2D/3D problems using a discontinuous
representation of the variables. In the following we describe
both the compressible Euler and the Navier-Stokes equations.
\subsubsection{Euler equations}
\subsection{Euler equations}
The Euler equations can be expressed as a hyperbolic
conservation law in the form
\begin{equation}\label{eq:euler}
......@@ -63,7 +63,7 @@ E = \frac{p}{\gamma - 1} + \frac{1}{2} \rho(u^2 + v^2 + w^2),
\label{energy}
\end{equation}
where $\gamma$ is the ratio of specific heats.
\subsubsection{Compressible Navier-Stokes equations}
\subsection{Compressible Navier-Stokes equations}
The Navier-Stokes equations include the effects of fluid viscosity and heat
conduction and are consequently composed by an inviscid and a viscous
flux. They depend not only on the conserved variables but also, indirectly,
......@@ -136,7 +136,7 @@ hypothesis $\lambda = -2/3$.}
where $\mu$ is the dynamic viscosity calculated using
the Sutherland's law and $k$ is the thermal conductivity.
\subsubsection{Numerical discretisation}
\subsection{Numerical discretisation}
In Nektar++ the spatial discretisation of the Euler and of the Navier-Stokes
equations is projected in the polynomial space via a discontinuous projection.
Specifically we make use either of the discontinuous Galerkin (DG) method
......@@ -176,16 +176,16 @@ interface fluxes just mentioned.
For a more detailed description of the above the interested reader can refer
to \cite{DeGMen14} and \cite{MenDeG14}.
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
CompressibleFlowSolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\section{Session file configuration}
In the following we describe the session file configuration. Specifically we consider the
subsections under the tag \inltt{<CONDITIONS>} in the session (.xml) file.
\subsubsection*{Parameters}
sections under the tag \inltt{<CONDITIONS>} in the session (.xml) file.
\subsection*{Parameters}
Under this section it is possible to set the parameters of the simulation.
\begin{lstlisting}[style=XmlStyle]
<PARAMETERS>
......@@ -229,7 +229,7 @@ conditions are employed (i.e. $T_{w}$). Default value = 300.15$K$;
\item \inltt{thermalConductivity} thermal conductivity (i.e. $\kappa_{\infty}$). Default value = 0.0257 $W / (K m)$;
\end{itemize}
\subsubsection*{Solver info}
\subsection*{Solver info}
Under this section it is possible to set the solver information.
\begin{lstlisting}[style=XmlStyle]
<SOLVERINFO>
......@@ -308,7 +308,7 @@ isentropic vortex or the Ringleb flow.
\end{itemize}
\end{itemize}
\subsubsection*{Boundary conditions}
\subsection*{Boundary conditions}
In this section we can specify the boundary conditions for our problem.
First we need to define the variables under the section \inltt{VARIABLES}.
For a 1D problem we have:
......@@ -414,7 +414,7 @@ In the following some examples for a 2D problem:
\end{lstlisting}
\end{itemize}
\subsubsection*{Initial conditions and exact solution}
\subsection*{Initial conditions and exact solution}
Under the two following sections it is possible to define the initial conditions and the exact solution (if existent).
\begin{lstlisting}[style=XmlStyle]
<FUNCTION NAME="InitialConditions">
......@@ -434,14 +434,14 @@ Under the two following sections it is possible to define the initial conditions
</FUNCTION>
\end{lstlisting}
\subsection{Examples}
\subsubsection{Shock capturing}
\section{Examples}
\subsection{Shock capturing}
Compressible flow is characterised by abrupt changes in density within the flow domain often referred to as shocks. These discontinuities lead to numerical instabilities (Gibbs phenomena). This problem is prevented by locally adding a diffusion term to the equations to damp the numerical fluctuations. These fluctuations in an element are identified using a sensor algorithm which quantifies the smoothness of the solution within an element. The value of the sensor in an element is defined as
\begin{equation}\label{eq:sensor}
S_e=\frac{||\rho^p_e-\rho^{p-1}_e||_{L_2}}{||\rho_e^p||_{L_2}}
\end{equation}
An artificial diffusion term is introduced locally to the Euler equations to deal with flow discontinuity and the consequential numerical oscillations. Two models are implemented, a non-smooth and a smooth artificial viscosity model.
\subsubsubsection{Non-smooth artificial viscosity model}
\subsubsection{Non-smooth artificial viscosity model}
For the non-smooth artificial viscosity model the added artificial viscosity is constant in each element and discontinuous between the elements. The Euler system is augmented by an added laplacian term on right hand side of equation \ref{eq:euler}. The diffusivity of the system is controlled by a variable viscosity coefficient $\epsilon$. The value of $\epsilon$ is dependent on $\epsilon_0$, which is the maximum viscosity that is dependent on the polynomial order ($p$), the mesh size ($h$) and the maximum wave speed and the local sensor value. Based on pre-defined sensor threshold values, the variable viscosity is set accordingly
\begin{equation}
\epsilon
......@@ -460,7 +460,7 @@ For the non-smooth artificial viscosity model the added artificial viscosity is
\label{fig:}
\end{center}
\end{figure}
\subsubsubsection{Smooth artificial viscosity model}
\subsubsection{Smooth artificial viscosity model}
For the smooth artificial viscosity model an extra PDE for the artificial viscosity is appended to the Euler system
\begin{equation}\label{eq:eulerplusvis}\begin{split}
\frac{\partial \epsilon}{\partial t} &= \nabla\cdot \left(\nabla \epsilon\right) + \frac{1}{\tau}\left(\frac{h}{p}\lambda_{max}S_\kappa - \epsilon\right)\ \ \ \ \ \ \textrm{on}\ \ \ \ \ \ \ \Omega\\
......@@ -499,7 +499,7 @@ The following parameters can be set in the xml session file:
</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.
\subsubsection{Variable polynomial order}
\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.\\
\\
......
\section{Linear elasticity solver}
\chapter{Linear elasticity solver}
\label{s:elasticity}
\subsection{Synopsis}
\section{Synopsis}
The LinearElasticSolver is a solver for solving the linear elasticity equations
in two and three dimensions. Whilst this may be suitable for simple solid
mechanics problems, its main purpose is for use for mesh deformation and
......@@ -24,7 +24,7 @@ Currently the following equation systems are supported:
\end{tabular}
\end{center}
\subsubsection{The linear elasticity equations}
\subsection{The linear elasticity equations}
The linear elasticity equations model how a solid body deforms under the
application of a `small' deformation or strain. The formulation starts with the
......@@ -78,13 +78,13 @@ The Poisson ratio, valid in the range $\nu < \tfrac{1}{2}$, is a measure of the
compressibility of the body, and the Young's modulus $E > 0$ is a measure of its
stiffness.
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
LinearElasticSolver [arguments] session.xml [another.xml] ...
\end{lstlisting}
\subsection{Session file configuration}
\subsubsection{Solver Info}
\section{Session file configuration}
\subsection{Solver Info}
\begin{itemize}
\item \inltt{EqType} Specifies the PDE system to solve, based on the choices
in the table above.
......@@ -110,7 +110,7 @@ LinearElasticSolver [arguments] session.xml [another.xml] ...
\end{itemize}
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
The following parameters can be specified in the \inltt{PARAMETERS} section of
the session file:
......@@ -126,9 +126,9 @@ the session file:
\textit{Default value}: 0.
\end{itemize}
\subsection{Examples}
\section{Examples}
\subsubsection{L-shaped domain}
\subsection{L-shaped domain}
The first example is the classic L-shaped domain, in which an exact solution is
known, which makes it an ideal test case~\cite{Ko07}. The domain is the polygon
......@@ -186,7 +186,7 @@ a deformed XML file using the \inltt{deform} module in \inltt{FieldConvert}:
FieldConvert -m deform L-domain.xml L-domain.fld L-domain-deformed.xml
\end{lstlisting}
\subsubsection{Boundary layer deformation}
\subsection{Boundary layer deformation}
In this example we use the iterative elastic system to apply a large deformation
to a triangular boundary layer mesh of a square mesh $\Omega = [0,1]^2$. At the
......
\section{Pulse Wave Solver}
\chapter{Pulse Wave Solver}
\subsection{Synopsis}
\section{Synopsis}
1D modelling of the vasculature (arterial network) represents and insightful and efficient tool for tackling problems encountered in arterial biomechanics as well as other engineering problems. In particular, 3D modelling of the vasculature is relatively expensive. 1D modelling provides an alternative in which the modelling assumptions provide a good balance between physiological accuracy and computational efficiency.To describe the flow and pressure in this network we consider the conservation of mass and momentum applied to an impermeable, deformable tube filled with an incompressible fluid, the nonlinear system of partial differential equations presented in non-conservative form is given by
......@@ -25,14 +25,14 @@ where $p_{0}$ is the external pressure, $A_{0}$ is the initial cross-sectional a
the usage of the blood flow solver on the basis of a single-artery problem and
also on an arterial network consisting of $55$ arteries.
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
PulseWaveSolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\section{Session file configuration}
\subsubsection{Pulse Wave Sovler mesh connectivity}
\subsection{Pulse Wave Sovler mesh connectivity}
Typically 1D arterial networks are made up of a connection of different base units: segments, bifurcations and merging junctions. The input format in the PulseWaveSolver means these connections are handle naturally from the mesh topology; hence care must be taken when designing the 1D domain. The figure below outlines the structure of a bifurcation, which is a common reoccurring structure in the vasculature.
\begin{figure}
......@@ -116,7 +116,7 @@ Each of the segments can be then represented under the section \inltt{DOMAIN} by
We will use the different domains later to define variable material properties and cross-sectional areas.
\subsubsection{Session Info}
\subsection{Session Info}
The PulseWaveSolver is sqpecified through the \inltt{EquationType}
option in the session file. This can be set as follows:
\begin{itemize}
......@@ -132,7 +132,7 @@ using the following option:
\end{itemize}
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
The following parameters can be specified in the \inltt{PARAMETERS} section of
the session file.
\begin{itemize}
......@@ -149,7 +149,7 @@ to screen;
\item \inltt{h0} wall thickness Default value = 1.0;
\end{itemize}
\subsubsection{Boundary conditions}
\subsection{Boundary conditions}
In this section we can specify the boundary conditions for our problem.
First we need to define the variables under the section \inltt{VARIABLES}.
\begin{lstlisting}[style=XmlStyle]
......@@ -191,7 +191,7 @@ Two element windkessel (CR) \inltt{CR-terminal}, and three element windkessel (
\end{lstlisting}
Where \inltt{RT} is the total peripheral resistance used in the the \inltt{R-terminal}, \inltt{CR-terminal} and \inltt{RCR-terminal} models
\subsubsection{Functions}
\subsection{Functions}
The following functions can be specified inside the \inltt{CONDITIONS} section
of the session file:
\begin{itemize}
......@@ -213,9 +213,9 @@ As an example to specify the material properties for each domain in the previous
\end{lstlisting}
The values of \inltt{beta} are used in the pressure-area relationship (equation \ref{eqn:PA}).
\subsection{Examples}
\section{Examples}
\subsubsection{Human Vascular Network}
\subsection{Human Vascular Network}
The Pulse Wave Solver is also capable of handling more complex networks, such as
a complete human arterial tree proposed by Westerhof et al. \cite{We69}.
In this example, we will use the refined data from \cite{ShFoPeFr03} and set up
......@@ -443,8 +443,8 @@ patient-specific planning of medical interventions.
\subsubsection{Stented Artery}
\subsubsection{Stented Artery}
\subsection{Stented Artery}
\subsection{Stented Artery}
In the following we will explain the usage of the \hyperref[PulseWaveSolver]{Pulse Wave solver} to model the flow and pressure variation through a stented artery - a cardiovascular procedure in which a small mesh tube is inserted into an artery to restore blood flow through a constricted region. Due to the implantation of the stent this region will have different material properties compared to the the surrounding unstented tissue; hence will influence the propagation of waves through this system. The stent scenario to be modelled is a straight arterial segment with a stent situated between $x=a_{1}$ and $x=a_{2}$ as shown below.
\begin{figure}
......@@ -605,7 +605,7 @@ and defined in the xml file by
</FUNCTION>
\end{lstlisting}
\subsubsubsection{Simulation}
\subsubsection{Simulation}
The simulation is started by running
\begin{lstlisting}[style=BashInputStyle]
PulseWaveSolver Test_1.xml
......@@ -613,7 +613,7 @@ PulseWaveSolver Test_1.xml
It will take about 60 seconds on a 2.4GHz Intel Core 2 Duo processor and
therefore is computationally realisable at every clinical site.
\subsubsubsection{Results}
\subsubsection{Results}
As a result we get a 3-dimensional interpretation of the aortic cross-sectional
area varying in axial direction both for the stented and non-stented vessel. In
case of the stent, the rigid metal mesh will restrict the deformation of the
......@@ -639,13 +639,13 @@ there are losses for total pressure at the medial (M) and distal (D) point.
\includegraphics[width=0.49\linewidth]{img/pressure_stented_vessel.jpg}
\end{figure}
\subsection{Further Information}
\section{Further Information}
The PulseWaveSolver has beqen developed with contributions by various students
and researchers at the Department of Aeronautics, Imperial College London.
Further information on the solver and its underlying mathematical framework
can be found in \cite{Ro12,Pi12}.
\subsection{Future Development}
\section{Future Development}
The PulseWaveSolver is a useful tool for computational modelling of
one-dimensional blood flow in the human body. However, there are several ideas
for future development which include:
......
\section{Shallow Water Solver}
\chapter{Shallow Water Solver}
\subsection{Synopsis}
\section{Synopsis}
The ShallowWaterSolver is a solver for depth-integrated wave
equations of shallow water type. Presently the following equations
are supported:
......@@ -17,7 +17,7 @@ variables (constant still water depth) \\
\end{tabular}
\end{center}
\subsubsection{The Shallow Water Equations}
\subsection{The Shallow Water Equations}
The shallow water equations (SWE) is a two-dimensional system of nonlinear partial
differential equations of hyperbolic type that are fundamental in hydraulic, coastal
and environmental engineering. In deriving the SWE the vertical velocity is
......@@ -54,14 +54,14 @@ friction, bed slope, Coriolis force and higher-order dispersive effects
(Boussinesq terms). In the distributed version of the ShallowWaterSolver
only the Coriolis force is included.
\subsection{Usage}
\section{Usage}
\begin{lstlisting}[style=BashInputStyle]
ShallowWaterSolver session.xml
\end{lstlisting}
\subsection{Session file configuration}
\section{Session file configuration}
\subsubsection{Solver Info}
\subsection{Solver Info}
\begin{itemize}
\item \inltt{Eqtype}: Specifies the equation to solve. This should be set
to \inltt{NonlinearSWE}.
......@@ -70,25 +70,25 @@ to \inltt{NonlinearSWE}.
\item \inltt{TimeIntegrationScheme}
\end{itemize}
\subsubsection{Parameters}
\subsection{Parameters}
\begin{itemize}
\item \inltt{Gravity}
\end{itemize}
\subsubsection{Functions}
\subsection{Functions}
\begin{itemize}
\item \inltt{Coriolis}: Specifies the Coriolis force (variable name: `f`)
\item \inltt{WaterDepth}: Specifies the water depth (variable name: `d`)
\end{itemize}
\subsection{Examples}
\subsubsection{Rossby modon case}
\section{Examples}
\subsection{Rossby modon case}
This example, provided in \inltt{RossbyModon\_Nonlinear\_DG.xml} is of a
discontinuous Galerkin simulation of the westward propagation of an equatorial
Rossby modon.
\subsubsubsection{Input Options}
\subsubsection{Input Options}
For what concern the ShallowWaterSolver the
\inltt{<SOLVERINFO>} section allows us to specify the solver, the type of
......@@ -145,7 +145,7 @@ section:
</BOUNDARYCONDITIONS>
\end{lstlisting}
\subsubsubsection{Running the code}
\subsubsection{Running the code}
After the input file has been copied to the build directory
of the \inltt{ShallowWaterSolver} the code can be executed by:
......@@ -153,7 +153,7 @@ of the \inltt{ShallowWaterSolver} the code can be executed by:
./ShallowWaterSolver Rossby_Nonlinear_DG.xml
\end{lstlisting}
\subsubsubsection{Post-proceesing}
\subsubsection{Post-proceesing}
After the final time step the solver will write an output file
\inltt{RossbyModon\_Nonlinear\_DG.fld}. We can convert it to tecplot
format by using the \inltt{FieldConvert} utility. Thus we execute the
......
%\chapter{Solvers}
%\label{s:solvers}
\chapter{Application Solvers}
\input{adr}
\input{ape}
\input{cardiac-ep}
......
......@@ -420,13 +420,16 @@ Scientific Computing and Imaging Institute, University of Utah, USA}
\import{xml/}{xml}
\part{Preprocessing, Postprocessing \& Applications}
\label{p:applications}
\part{Preprocessing \& Postprocessing}