aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorallen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4>1999-09-11 14:35:48 +0000
committerallen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4>1999-09-11 14:35:48 +0000
commit5741f898c9fdbf48b6f1f82e5fffc9759fdc4dff (patch)
tree2917bf7b12a1d8258d506c9808303722b1cba6d1 /doc
parentf7af85a6a974f05d8d313723fb76be1fd9882574 (diff)
Documentation for Boundary. Should be all there
except for Radiation boundary conditions the physical description of which still needs to be added. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Boundary/trunk@22 6a38eb6e-646e-4a02-a296-d141613ad6c4
Diffstat (limited to 'doc')
-rw-r--r--doc/documention.tex150
1 files changed, 150 insertions, 0 deletions
diff --git a/doc/documention.tex b/doc/documention.tex
new file mode 100644
index 0000000..6f03b59
--- /dev/null
+++ b/doc/documention.tex
@@ -0,0 +1,150 @@
+\documentclass{article}
+\begin{document}
+
+\title{Boundary}
+\author{Miguel Alcubierre, Gabrielle Allen, Gerd Lanfermann}
+\date{1999}
+\maketitle
+
+\abstract{Standard boundary conditions with can be provided to
+grid functions, or groups of grid functions. Currently only available
+for 3D grid functions}
+
+\section{Purpose}
+
+Allows you to apply standard boundary conditions to grid functions
+or groups of grid functions, taking into account a parallel
+decomposition of the grid. The routines are callable from
+C or Fortran. Currently these are only available for
+3D. The boundary conditions available are
+\begin{itemize}
+\item Constant
+\item Flat (copying)
+\item Radiation
+\end{itemize}
+
+
+\section{Comments}
+
+All the boundary conditions here take a stencil size as an
+argument. The stencil size is used to determine how many points
+at the boundary should be updated with a boundary condition.
+For example, a stencil size of two in each direction means
+that the boundary points, and also the points one in from the boundary
+must be calculated.
+
+\subsection{Constant Boundary Condition}
+
+A constant boundary condition means that the value of the given
+field or fields at the boundary is set to a given number, for
+example zero. The routine is called {\tt ApplyConstantBC}, which
+from C is given by:
+
+\begin{verbatim}
+int ierr = ApplyConstantBC(cGH *cctkGH, CCTK_REAL var0, int *stencil_size, char *name)
+\end{verbatim}
+
+and from Fortran
+
+\begin{verbatim}
+call ApplyConstantBC(ierr, cctkGH, var0, stencil_size, name)
+integer ierr
+CCTK_POINTER cctkGH
+CCTK_REAL var0
+integer stencil_size(3)
+character*(*) name
+\end{verbatim}
+
+Where
+\begin{itemize}
+\item [{\tt ierr}] will be negative if the boundary condition has
+ not been successfully applied
+\item [{\tt cctkGH}] is the grid hierachy pointer
+\item [{\tt var0}] is the value to be applied at each point on the boundary
+\item [{\tt stencil\_size}] is an array holding the stencil size to be
+ used in each direction
+\item [{\tt name}] is the name of the grid function, or group of grid
+ functions to which the boundary condition should be applied
+\end{itemize}
+
+\subsection{Flat Boundary Condition}
+
+A flat (or copying) boundary condition means that the value of the given
+field or fields at the boundary is copied from the value on grid point in,
+in any direction. For example, for a stencil width of one, the
+boundary value of phi {\tt phi(nx,j,k)}, on the positive x-boundary will
+be copied from {\tt phi(nx-1,j,k)}.
+ The routine is called {\tt ApplyFlatBC}, which
+from C is given by:
+
+\begin{verbatim}
+int ierr = ApplyFlatBC(cGH *cctkGH, int *stencil_size, char *name)
+\end{verbatim}
+
+and from Fortran
+
+\begin{verbatim}
+call ApplyConstantBC(ierr, cctkGH, stencil_size, name)
+integer ierr
+CCTK_POINTER cctkGH
+integer stencil_size(3)
+character*(*) name
+\end{verbatim}
+
+Where
+\begin{itemize}
+\item [{\tt ierr}] will be negative if the boundary condition has
+ not been successfully applied
+\item [{\tt cctkGH}] is the grid hierachy pointer
+\item [{\tt stencil\_size}] is an array holding the stencil size to be
+ used in each direction
+\item [{\tt name}] is the name of the grid function, or group of grid
+ functions to which the boundary condition should be applied
+\end{itemize}
+
+
+\subsection{Radiation Boundary Condition}
+
+This is a two level scheme. Currently radiative boundary conditions
+can only be applied with a stencil width of one in each direction.
+ The routine is called {\tt ApplyRadiativeBC}, which
+from C is given by:
+
+\begin{verbatim}
+int ierr = ApplyRadiativeBC(cGH *cctkGH, CCTK_REAL var0, int *stencil_size, char *name, char *name_past)
+\end{verbatim}
+
+and from Fortran
+
+\begin{verbatim}
+call ApplyConstantBC(ierr, cctkGH, var0, stencil_size, name, name_past)
+integer ierr
+CCTK_POINTER cctkGH
+CCTK_REAL var0
+integer stencil_size(3)
+character*(*) name
+character*(*) name_past
+\end{verbatim}
+
+Where
+\begin{itemize}
+\item [{\tt ierr}] will be negative if the boundary condition has
+ not been successfully applied
+\item [{\tt cctkGH}] is the grid hierachy pointer
+\item [{\tt var0}]
+\item [{\tt stencil\_size}] is an array holding the stencil size to be
+ used in each direction
+\item [{\tt name}] is the name of the grid function, or group of grid
+ functions to which the boundary condition will be applied
+\item [{\tt name\_past}] is the name of the grid function, or group of grid
+ functions containing the values on the past time level
+\end{itemize}
+
+
+
+% Automatically created from the ccl files by using gmake thorndoc
+\include{interface}
+\include{param}
+\include{schedule}
+
+\end{document}