From 9d2f55120f794d823382d71b6c1690af07c8ff49 Mon Sep 17 00:00:00 2001 From: allen Date: Sun, 2 Jul 2000 18:10:07 +0000 Subject: Fixed formatting, added Lentry git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Boundary/trunk@109 6a38eb6e-646e-4a02-a296-d141613ad6c4 --- doc/documention.tex | 170 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 101 insertions(+), 69 deletions(-) (limited to 'doc') diff --git a/doc/documention.tex b/doc/documention.tex index 1694858..356b298 100644 --- a/doc/documention.tex +++ b/doc/documention.tex @@ -1,4 +1,39 @@ \documentclass{article} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% MANPAGE like description setting for options, use as +% \begin{Lentry} \item[text] text \end{Lentry} + +\usepackage{ifthen,calc} + +\newcommand{\entrylabel}[1]{\mbox{\textsf{#1}}\hfil} +\newenvironment{entry} + {\begin{list}{} + {\renewcommand{\makelabel}{\entrylabel} + \setlength{\labelwidth}{90pt} + \setlength{\leftmargin}{\labelwidth+\labelsep} + } + } + {\end{list}} + +\newlength{\Mylen} +\newcommand{\Lentrylabel}[1]{% + \settowidth{\Mylen}{\textsf{#1}}% + \ifthenelse{\lengthtest{\Mylen > \labelwidth}}% + {\parbox[b]{\labelwidth} % term > labelwidth + {\makebox[0pt][l]{\textsf{#1}}\\}} % + {\textsf{#1}} % + + \hfil\relax} +\newenvironment{Lentry} + {\renewcommand{\entrylabel}{\Lentrylabel} + \begin{entry}} + {\end{entry}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + \begin{document} \title{Boundary} @@ -36,8 +71,7 @@ will be set by the boundary condition. These boundary points are part of the total number of grid points that you have specified in the beginning of the run. \item{} -Boundary routines can be applied to grid function only. Application to -structures as grid arrays is underway. +Boundary routines can only be applied to grid functions. \item{} All routines can called by %%% Subsitute with \begin{Lentry} @@ -60,37 +94,37 @@ A scalar boundary condition means that the value of the given field or fields at the boundary is set to a given scalar value, for example zero. -Calling from C: +\subsubsection*{Calling from C:} \begin{verbatim} -int ierr = BndScalarVN(cGH *cctkGH, int *stencil_size, CCTK_REAL var0, char *variable_name) -int ierr = BndScalarGN(cGH *cctkGH, int *stencil_size, CCTK_REAL var0, char *group_name) -int ierr = BndScalarVI(cGH *cctkGH, int *stencil_size, CCTK_REAL var0, int group_index) -int ierr = BndScalarGI(cGH *cctkGH, int *stencil_size, CCTK_REAL var0, int variable_index) +int ierr = BndScalarVN(cGH *cctkGH, int *stencil_size, + CCTK_REAL var0, char *variable_name) +int ierr = BndScalarGN(cGH *cctkGH, int *stencil_size, + CCTK_REAL var0, char *group_name) +int ierr = BndScalarVI(cGH *cctkGH, int *stencil_size, + CCTK_REAL var0, int group_index) +int ierr = BndScalarGI(cGH *cctkGH, int *stencil_size, + CCTK_REAL var0, int variable_index) \end{verbatim} -Calling from Fortran: +\subsubsection*{Calling from Fortran:} \begin{verbatim} call BndScalarVN(ierr, cctkGH, stencil_size, var0, variable_name) call BndScalarGN(ierr, cctkGH, stencil_size, var0, group_name) call BndScalarVI(ierr, cctkGH, stencil_size, var0, variable_index) call BndScalarGI(ierr, cctkGH, stencil_size, var0, group_index) \end{verbatim} - where -%%% Put \begin{Lentry} here! -\begin{itemize} -\item[{\tt integer ierr}] return value, operation failed when return -value {\em negative} -\item[{\tt CCTK\_POINTER cctkGH}] grid hierarchy pointer -\item[{\tt CCTK\_REAL var0}] scalar value to apply -\item[{\tt integer stencil\_size(dim)}] array of size {\tt dim} -(dimension of the gridfunction). To how many points from the outer -boundary to apply the boundary condition. -\item[{\tt character*(*) variable\_name}] Name of the variable. -\item[{\tt character*(*) group\_name}] Name of the group. -\item[{\tt integer variable\_index}] Variable index. -\item[{\tt integer group\_index}] Group index. -\end{itemize} +\begin{Lentry} +\item[{\tt integer ierr}] Return value, negative value indicates the +boundary condition was not successfully applied +\item[{\tt CCTK\_POINTER cctkGH}] Grid hierarchy pointer +\item[{\tt CCTK\_REAL var0}] Scalar value to apply +\item[{\tt integer stencil\_size(dim)}] Array with dimension of the grid function, containing the stencil width to apply the boundary at +\item[{\tt character*(*) variable\_name}] Name of the variable +\item[{\tt character*(*) group\_name}] Name of the group +\item[{\tt integer variable\_index}] Variable index +\item[{\tt integer group\_index}] Group index +\end{Lentry} \subsection{Flat Boundary Condition} @@ -101,7 +135,7 @@ 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)}. -Calling from C: +\subsubsection*{Calling from C:} \begin{verbatim} int ierr = BndFlatVN(cGH *cctkGH, int *stencil_size, char *variable_name) int ierr = BndFlatGN(cGH *cctkGH, int *stencil_size, char *group_name) @@ -109,6 +143,7 @@ int ierr = BndFlatVI(cGH *cctkGH, int *stencil_size, int variable_index) int ierr = BndFlatGI(cGH *cctkGH, int *stencil_size, int group_index) \end{verbatim} +\subsubsection*{Calling from Fortran:} \begin{verbatim} call BndFlatVN(ierr, cctkGH, stencil_size, variable_name) @@ -116,10 +151,8 @@ call BndFlatGN(ierr, cctkGH, stencil_size, group_name) call BndFlatVI(ierr, cctkGH, stencil_size, variable_index) call BndFlatGI(ierr, cctkGH, stencil_size, group_index) \end{verbatim} - where -%%% Put \begin{Lentry} here! -\begin{itemize} +\begin{Lentry} \item[{\tt integer ierr}] return value, operation failed when return value {\em negative} \item[{\tt CCTK\_POINTER cctkGH}] grid hierarchy pointer @@ -131,7 +164,7 @@ boundary to apply the boundary condition. \item[{\tt character*(*) group\_name}] Name of the group. \item[{\tt integer variable\_index}] Variable index. \item[{\tt integer group\_index}] Group index. -\end{itemize} +\end{Lentry} \subsection{Radiation Boundary Condition} @@ -145,36 +178,35 @@ members of the group have to match up. Currently radiative boundary conditions can only be applied with a stencil width of one in each direction. -Calling from C: +\subsubsection*{Calling from C:} \begin{verbatim} int ierr = BndRadiativeVN(cGH *cctkGH, int *stencil_size, - CCTK_REAL var0, CCTK_REAL v0, - char *variable_name, char *variable_name_past) - + CCTK_REAL var0, CCTK_REAL v0, + char *variable_name, char *variable_name_past) int ierr = BndRadiativeGN(cGH *cctkGH, int *stencil_size, - CCTK_REAL var0, CCTK_REAL v0, - char *group_name, char *group_name_past) - + CCTK_REAL var0, CCTK_REAL v0, + char *group_name, char *group_name_past) int ierr = BndRadiativeVI(cGH *cctkGH, int *stencil_size, - CCTK_REAL var0, CCTK_REAL v0, - int variable_index, int variable_index_past) - + CCTK_REAL var0, CCTK_REAL v0, + int variable_index, int variable_index_past) int ierr = BndRadiativeGI(cGH *cctkGH, int *stencil_size, - CCTK_REAL var0, CCTK_REAL v0, - int group_index, int group_index_past) + CCTK_REAL var0, CCTK_REAL v0, + int group_index, int group_index_past) \end{verbatim} -Calling from Fortran: +\subsubsection*{Calling from Fortran:} \begin{verbatim} -call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, variable_name, variable_name_past) -call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, group_name, group_name_past) -call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, variable_index, variable_index_past) -call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, group_index, group_index_past) +call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, + variable_name, variable_name_past) +call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, + group_name, group_name_past) +call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, + variable_index, variable_index_past) +call BndRadiativeVN(ierr, cctkGH, stencil_size, var0, v0, + group_index, group_index_past) \end{verbatim} - where -%%% Put \begin{Lentry} here! -\begin{itemize} +\begin{Lentry} \item[{\tt integer ierr}] return value, operation failed when return value {\em negative} \item[{\tt CCTK\_POINTER cctkGH}] grid hierarchy pointer @@ -186,7 +218,8 @@ boundary to apply the boundary condition. \item[{\tt character*(*) variable\_name}] the name of the grid function to which the boundary condition will be applied -\item[{\tt character*(*) variable\_name\_past}] is the name of the grid function +\item[{\tt character*(*) variable\_name\_past}] + The name of the grid function containing the values on the past time level, needed to calculate the boundary condition. @@ -207,41 +240,40 @@ boundary to apply the boundary condition. \item[{\tt integer group\_index\_past}] the index of the group containing the values on the past time level, needed to calculate the boundary condition. -\end{itemize} +\end{Lentry} \subsection{Copy Boundary Condition} This is a two level scheme. Copy the boundary values from a different -grid functions. This can be a past time level, eg. The two grid -functions (or groups) needs to have the same geometry +grid function, for example the previous timelevel. The two grid functions +(or groups of grid functions) must have the same geometry. -Calling from C: +\subsubsection*{Calling from C:} \begin{verbatim} int ierr = BndCopyVN(cGH *cctkGH, int *stencil_size, - char *variable_name_to, char *variable_name_from) - + char *variable_name_to, char *variable_name_from) int ierr = BndCopyGN(cGH *cctkGH, int *stencil_size, - char *group_name_to, char *group_name_from) - + char *group_name_to, char *group_name_from) int ierr = BndCopyVI(cGH *cctkGH, int *stencil_size, - int variable_index_to, int variable_index_from) - + int variable_index_to, int variable_index_from) int ierr = BndCopyGI(cGH *cctkGH, int *stencil_size, - int group_index_to, int group_index_from) + int group_index_to, int group_index_from) \end{verbatim} -Calling from Fortran: +\subsubsection*{Calling from Fortran:} \begin{verbatim} -call BndCopyVN(ierr, cctkGH, stencil_size, variable_name_to, variable_name_from) -call BndCopyVN(ierr, cctkGH, stencil_size, group_name_to, group_name_from) -call BndCopyVN(ierr, cctkGH, stencil_size, variable_index_to, variable_index_from) -call BndCopyVN(ierr, cctkGH, stencil_size, group_index_to, group_index_from) +call BndCopyVN(ierr, cctkGH, stencil_size, variable_name_to, + variable_name_from) +call BndCopyVN(ierr, cctkGH, stencil_size, group_name_to, + group_name_from) +call BndCopyVN(ierr, cctkGH, stencil_size, variable_index_to, + variable_index_from) +call BndCopyVN(ierr, cctkGH, stencil_size, group_index_to, + group_index_from) \end{verbatim} - where -%%% Put \begin{Lentry} here! -\begin{itemize} +\begin{Lentry} \item[{\tt integer ierr}] return value, operation failed when return value {\em negative} \item[{\tt CCTK\_POINTER cctkGH}] grid hierarchy pointer @@ -268,7 +300,7 @@ boundary to apply the boundary condition. to which the boundary condition will be applied by copying to. \item[{\tt integer group\_index\_from}] the index of the group containing the the values to copy from. -\end{itemize} +\end{Lentry} -- cgit v1.2.3