Index: /anuga_work/publications/linuxconf_2006/paper_ole_nielsen.tex
===================================================================
--- /anuga_work/publications/linuxconf_2006/paper_ole_nielsen.tex	(revision 4127)
+++ /anuga_work/publications/linuxconf_2006/paper_ole_nielsen.tex	(revision 4128)
@@ -68,5 +68,5 @@
 communities.  Geoscience Australia and the Australian National
 University have developed a hydrodynamic inundation modelling tool
-called \AnuGA{} to help simulate the impact of these hazards. 
+called \AnuGA{} to help simulate the impact of these hazards.
 The core of \AnuGA{} is a \Python{} implementation of a finite-volume method
 for solving the conservative form of the Shallow Water Wave equation.
@@ -238,5 +238,5 @@
 The flux $\HH_{ij}$ is evaluated using a numerical flux function
 $\HH(\cdot, \cdot ; \ \cdot)$ which is consistent with the shallow
-water flux in the sense that for all vectors $\UU$ and $\nn$
+water flux in the sense that for all conservation vectors $\UU$ and normal vectors $\nn$
 $$
 H(\UU,\UU;\ \nn) = \EE(\UU) n_1 + \GG(\UU) n_2 .
@@ -245,11 +245,11 @@
 Then
 $$
-\HH_{ij}  = \HH(\overline{\UU}_i(m_{ij})),
-\overline{\UU}_i(m_{ij})), \mathbf{n}_{ij})
+\HH_{ij}  = \HH(\UU_i(m_{ij}),
+\UU_j(m_{ij}); \mathbf{n}_{ij})
 $$
 where $m_{ij}$ is the midpoint of the \textit{ij}th edge and
-$\mathbf{n}_{ij}$ is the outward pointing normal on the
-\textit{ij}th edge. The function $\overline{\UU}_i(x)$ for $x \in
-T_i$ is obtained from the average values, $\UU_i$, of the $i$th and
+$\mathbf{n}_{ij}$ is the outward pointing normal, with respect to the $i$th cell, on the
+\textit{ij}th edge. The function $\UU_i(x)$ for $x \in
+T_i$ is obtained from the vector $\UU_k$ of conserved average values for the $i$th and
 neighbouring  cells.
 
@@ -285,7 +285,7 @@
 \label{sec:software}
 
-\AnuGA{} is mostly written in the object-oriented programming 
-language \Python{} with computationally intensive parts implemented 
-as highly optimised shared objects written in C. 
+\AnuGA{} is mostly written in the object-oriented programming
+language \Python{} with computationally intensive parts implemented
+as highly optimised shared objects written in C.
 
 \Python{} is known for its clarity, elegance, efficiency and
@@ -297,24 +297,24 @@
 changing requirements throughout its lifetime.
 
-The fundamental object in \AnuGA{} is the \code{Domain} which 
-inherits functionality from a hierarchy of increasingly specialised 
-classes starting with a basic structural Mesh to classes implementing 
-the finite-volume scheme described in section \ref{sec:fvm}. Other classes 
-are \code{Quantity} which represents values of one variable across the mesh 
-along with their associated operations, \code{Geospatial_data} which 
-represents georeferenced elevation data and a collection of \code{Boundary} 
-classes which allows for a 'pluggable' way of driving the model. 
-The conserved quantities updated automatically by the numerical scheme 
-are stage (water level) $w$, $x$-momentum $uh$ and $y$-momentum 
-$vh$. The quanitites elevation $z$ and friction $\eta$ are 
-quantities that are not updated automaticall but can be changed explicitly
-during run-time if the user wishes to do so.  
-
-To set up a scenario the user specifies the study area along with any internal 
-regions where increased mesh resolution is required. External edges may 
-be labelled using symbolic tags which are subsequently used to bind 
-boundary condition objects to tagged segments of the mesh boundary.  
-The mesh is then generated using \AnuGA{}'s built-in mesh generator and 
-converted into the \code{Domain} object which provides all methods used to 
+The fundamental object in \AnuGA{} is the \code{Domain} which
+inherits functionality from a hierarchy of increasingly specialised
+classes starting with a basic structural Mesh to classes implementing
+the finite-volume scheme described in section \ref{sec:fvm}. Other classes
+are \code{Quantity} which represents values of one variable across the mesh
+along with their associated operations, \code{Geospatial_data} which
+represents georeferenced elevation data and a collection of \code{Boundary}
+classes which allows for a 'pluggable' way of driving the model.
+The conserved quantities updated automatically by the numerical scheme
+are stage (water level) $w$, $x$-momentum $uh$ and $y$-momentum
+$vh$. The quanitites elevation $z$ and friction $\eta$ are
+quantities that are not updated automatically but can be changed explicitly
+during run-time if the user wishes to do so.
+
+To set up a scenario the user specifies the study area along with any internal
+regions where increased mesh resolution is required. External edges may
+be labelled using symbolic tags which are subsequently used to bind
+boundary condition objects to tagged segments of the mesh boundary.
+The mesh is then generated using \AnuGA{}'s built-in mesh generator and
+converted into the \code{Domain} object which provides all methods used to
 setup and run the flow simulation. Figure \ref{fig:anuga mesh} shows an example of a mesh generated by \AnuGA{}.
 \begin{figure}
@@ -322,5 +322,5 @@
 \includegraphics[width=4in,keepaspectratio=true]{tsunami-fig-1}
 \caption{Triangular mesh used in our finite volume method. Conserved
-quantities $h$, $uh$ and $vh$ are associated with each triangular cell.} 
+quantities $h$, $uh$ and $vh$ are associated with each triangular cell.}
 \label{fig:anuga mesh}
 \end{center}
@@ -338,15 +338,15 @@
 one of the following forms:
 
-\begin{itemize} 
-\item A constant value as in domain.set_quantity('stage', 1) which
+\begin{itemize}
+\item A constant value as in \code{domain.set_quantity('stage', 1)} which
 will set the initial water level to 1 m everywhere.
-\item Another quantity or a linear combination of quantities.  If q1
-and q2 are two arbitrary quantities defined within the same domain,
-the expression set_quantity('stage', q1*(3*q2 + 5)) will set the stage
+\item Another quantity or a linear combination of quantities.  If \code{q1}
+and \code{q2} are two arbitrary quantities defined within the same domain,
+the expression \code{domain.set_quantity('stage', q1*(3*q2 + 5))} will set the stage
 quantity accordingly.  One common application of this would be to
 assign the stage as a constant depth above the bed elevation.
-\item An arbitrary function (or a callable object), f(x, y), where x
-and y are assumed to be vectors. The quantity will be assigned values by 
-evaluating f at each location within the mesh.
+\item An arbitrary function (or a callable object), \code{f(x, y)}, where \code{x}
+and \code{y} are assumed to be vectors. The quantity will be assigned values by
+evaluating \code{f} at each location within the mesh.
 \item An arbitrary set of points and associated values (wrapped into a
 Geospatial_data object). The points need not coincide with triangle
@@ -361,13 +361,13 @@
 \item A Numerical Python array (or a list of numbers) ordered
 according to the internal data structure.
-\end{itemize} 
-The parameter location determines whether the values should be
-assigned to triangle edge midpoints or vertices and region allows the
+\end{itemize}
+The parameter \code{location} determines whether the values should be
+assigned to triangle edge, midpoints or vertices and \code{region} allows the
 operation to be restricted to a region specified by a symbolic tag or
-a set of indices. 
+a set of indices.
 
 Boundary conditions are bound to symbolic tags through the method
 \code{domain.set_boundary} which takes as input a lookup table (implemented
-as a Python dictionary) of the form \code{\{tag:~boundary_object\}}.  
+as a Python dictionary) of the form \code{\{tag:~boundary_object\}}.
 The boundary objects are all assumed to be callable functions of vectors x
 and y.  Several predefined standard boundary objects are available and
@@ -377,6 +377,6 @@
 boundaries.
 
-Forcing terms can be written according to a fixed protocol and added 
-to the model using the idiom \code{domain.forcing_terms.append(F)} where F is 
+Forcing terms can be written according to a fixed protocol and added
+to the model using the idiom \code{domain.forcing_terms.append(F)} where \code{F} is
 assumed to be a user-defined callable object.
 
@@ -387,9 +387,9 @@
 large speeds and small triangles, time steps can become very small.
 In order to access the state of the simulation at regular time
-intervals, \AnuGA{} uses the method evolve: 
-\begin{verbatim} 
-For t in domain.evolve(yieldstep, duration): 
+intervals, \AnuGA{} uses the method evolve:
+\begin{verbatim}
+For t in domain.evolve(yieldstep, duration):
     <model interrogation and modification>
-\end{verbatim}     
+\end{verbatim}
 The parameter \code{duration} specifies the time period over which
 evolve operates, and control is passed to the body of the for-loop at
@@ -402,6 +402,6 @@
 Python generator hence the reference to 'yield' in the parameter name.
 
-Figure \ref{fig:beach runup} shows a simulation of water flowing onto a 
-hypothetical beach with obstacles.  
+Figure \ref{fig:beach runup} shows a simulation of water flowing onto a
+hypothetical beach with obstacles.
 A number of complex patterns are captured in this example including a shock where water reflected off the wall far (at the right hand side) meets the main flow. Other physical features are the standing waves and interference patterns.
 See the \AnuGA{} User Manual at \url{http://sourceforge.net/projects/anuga} for more details and examples.
@@ -475,5 +475,5 @@
 
 \section{Conclusions}
-\label{sec:6} 
+\label{sec:6}
 \AnuGA{} is a flexible and robust modelling system
 that simulates hydrodynamics by solving the shallow water wave
@@ -484,5 +484,5 @@
 \AnuGA{} can take as input bathymetric and topographic datasets and
 simulate the behaviour of riverine flooding, storm surge,
-tsunami or even dam breaks. 
+tsunami or even dam breaks.
 Initial validation using wave tank data supports \AnuGA{}'s
 ability to model complex scenarios. Further validation will be
@@ -493,5 +493,5 @@
 understand the potential impact from natural hazards in order to
 reduce their impact on Australian communities (see \cite{Nielsen2006}).
-The \AnuGA{} source code is available 
+The \AnuGA{} source code is available
 at \url{http://sourceforge.net/projects/anuga}.
 
