diff options
author | allen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2001-01-24 09:56:16 +0000 |
---|---|---|
committer | allen <allen@6a38eb6e-646e-4a02-a296-d141613ad6c4> | 2001-01-24 09:56:16 +0000 |
commit | 5766861f7d6bbe2e106b20f479c447855f5a8448 (patch) | |
tree | e39ee44df418dd3af5677dde537f6b06ec1d1c12 /doc/documentation.tex | |
parent | 4c1a3d4878fe9636e61e6710928de8c54645cd20 (diff) |
Adding directional boundary conditions for everything apart from Robin.
See thorn documentation for details
Next to come, boundary conditions for grid functions which aren't CCTK_REALs.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/Boundary/trunk@131 6a38eb6e-646e-4a02-a296-d141613ad6c4
Diffstat (limited to 'doc/documentation.tex')
-rw-r--r-- | doc/documentation.tex | 129 |
1 files changed, 108 insertions, 21 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex index d501260..c1c2176 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -177,7 +177,7 @@ integer \> group\_index\\ \end{tabbing} } -\subsection*{Arguments} +\subsubsection*{Arguments} \begin{Lentry} \item[{\tt ierr}] Return value, negative value indicates the boundary condition was not successfully applied @@ -201,6 +201,8 @@ boundary value of phi {\tt phi(nx,j,k)}, on the positive x-boundary will be copied from {\tt phi(nx-1,j,k)}. \subsubsection*{Calling from C:} + +{\bf All Coordinate Directions:} \begin{verbatim} int ierr = BndFlatVN(cGH *cctkGH, int *stencil_size, char *variable_name) int ierr = BndFlatGN(cGH *cctkGH, int *stencil_size, char *group_name) @@ -208,30 +210,62 @@ int ierr = BndFlatVI(cGH *cctkGH, int *stencil_size, int variable_index) int ierr = BndFlatGI(cGH *cctkGH, int *stencil_size, int group_index) \end{verbatim} +{\bf Individual Coordinate Directions:} +\begin{verbatim} +int ierr = BndFlatVN(cGH *cctkGH, int stencil, int dir, char *variable_name) +int ierr = BndFlatGN(cGH *cctkGH, int stencil, int dir, char *group_name) +int ierr = BndFlatVI(cGH *cctkGH, int stencil, int dir, int variable_index) +int ierr = BndFlatGI(cGH *cctkGH, int stencil, int dir, int group_index) +\end{verbatim} + \subsubsection*{Calling from Fortran:} +{\bf All Coordinate Directions:} +\begin{verbatim} +call BndFlatVN(ierr, cctkGH, stencil_array, variable_name) +call BndFlatGN(ierr, cctkGH, stencil_array, group_name) +call BndFlatVI(ierr, cctkGH, stencil_array, variable_index) +call BndFlatGI(ierr, cctkGH, stencil_array, group_index) +\end{verbatim} + +{\bf Individual Coordinate Directions:} \begin{verbatim} -call BndFlatVN(ierr, cctkGH, stencil_size, variable_name) -call BndFlatGN(ierr, cctkGH, stencil_size, group_name) -call BndFlatVI(ierr, cctkGH, stencil_size, variable_index) -call BndFlatGI(ierr, cctkGH, stencil_size, group_index) +call BndFlatVN(ierr, cctkGH, stencil, dir, variable_name) +call BndFlatGN(ierr, cctkGH, stencil, dir, group_name) +call BndFlatVI(ierr, cctkGH, stencil, dir, variable_index) +call BndFlatGI(ierr, cctkGH, stencil, dir, group_index) \end{verbatim} where +{\tt +\begin{tabbing} +character*(*) \= variable\_name\=\kill +integer \> ierr \\ +CCTK\_POINTER \> cctkGH\\ +integer \> dir\\ +integer \> stencil\\ +integer \> stencil\_array(dim)\\ +character*(*) \> variable\_name\\ +character*(*) \> group\_name\\ +integer \> variable\_index\\ +integer \> group\_index\\ +\end{tabbing} +} + +\subsubsection*{Arguments} \begin{Lentry} -\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. +\item[{\tt ierr}] Return value, negative value indicates the +boundary condition was not successfully applied +\item[{\tt cctkGH}] Grid hierarchy pointer +\item[{\tt dir}] Coordinate direction in which to apply boundary condition +\item[{\tt stencil\_size}] Array with dimension of the grid function, containing the stencil width to apply the boundary at +\item[{\tt variable\_name}] Name of the variable +\item[{\tt group\_name}] Name of the group +\item[{\tt variable\_index}] Variable index +\item[{\tt group\_index}] Group index \end{Lentry} + \subsection{Radiation Boundary Condition} This is a two level scheme. Grid functions are given for the current time @@ -293,22 +327,42 @@ the region where the characteristic speed is constant. Notice that this speed does not have to be 1. \subsubsection*{Calling from C:} + +{\bf All Coordinate Directions:} \begin{verbatim} int ierr = BndRadiativeVN(cGH *cctkGH, int *stencil_size, - CCTK_REAL speed, CCTK_REAL limit, + CCTK_REAL limit, CCTK_REAL speed, char *variable_name, char *variable_name_past) int ierr = BndRadiativeGN(cGH *cctkGH, int *stencil_size, - CCTK_REAL speed, CCTK_REAL limit, + CCTK_REAL limit, CCTK_REAL speed, char *group_name, char *group_name_past) int ierr = BndRadiativeVI(cGH *cctkGH, int *stencil_size, - CCTK_REAL speed, CCTK_REAL limit, + CCTK_REAL limit, CCTK_REAL speed, int variable_index, int variable_index_past) int ierr = BndRadiativeGI(cGH *cctkGH, int *stencil_size, - CCTK_REAL speed, CCTK_REAL limit, + CCTK_REAL limit, CCTK_REAL speed, + int group_index, int group_index_past) +\end{verbatim} + +{\bf Individual Coordinate Directions:} +\begin{verbatim} +int ierr = BndRadiativeVN(cGH *cctkGH, int stencil, int dir, + CCTK_REAL limit, CCTK_REAL speed, + char *variable_name, char *variable_name_past) +int ierr = BndRadiativeGN(cGH *cctkGH, int *stencil, int dir, + CCTK_REAL limit, CCTK_REAL speed, + char *group_name, char *group_name_past) +int ierr = BndRadiativeVI(cGH *cctkGH, int *stencil, int dir, + CCTK_REAL limit, CCTK_REAL speed, + int variable_index, int variable_index_past) +int ierr = BndRadiativeGI(cGH *cctkGH, int *stencil, int dir, + CCTK_REAL limit, CCTK_REAL speed, int group_index, int group_index_past) \end{verbatim} \subsubsection*{Calling from Fortran:} + +{\bf All Coordinate Directions:} \begin{verbatim} call BndRadiativeVN(ierr, cctkGH, stencil_size, speed, limit, variable_name, variable_name_past) @@ -319,6 +373,39 @@ call BndRadiativeVN(ierr, cctkGH, stencil_size, speed, limit, call BndRadiativeVN(ierr, cctkGH, stencil_size, speed, limit, group_index, group_index_past) \end{verbatim} + +{\bf Individual Coordinate Directions:} +\begin{verbatim} +call BndRadiativeVN(ierr, cctkGH, stencil, dir, speed, limit, + variable_name, variable_name_past) +call BndRadiativeVN(ierr, cctkGH, stencil, dir, speed, limit, + group_name, group_name_past) +call BndRadiativeVN(ierr, cctkGH, stencil, dir, speed, limit, + variable_index, variable_index_past) +call BndRadiativeVN(ierr, cctkGH, stencil, dir, speed, limit, + group_index, group_index_past) +\end{verbatim} +where +{\tt +\begin{tabbing} +character*(*) \= variable\_name\=\kill +integer \> ierr \\ +CCTK\_POINTER \> cctkGH\\ +integer \> dir\\ +integer \> stencil\\ +integer \> stencil\_array(dim)\\ +character*(*) \> variable\_name\\ +character*(*) \> group\_name\\ +integer \> variable\_index\\ +integer \> group\_index\\ +CCTK_REAL\>speed\\ +CCTK_REAL\>limit\\ +\end{tabbing} +} + + + + where \begin{Lentry} \item[{\tt integer ierr}] return value, operation failed when return @@ -329,7 +416,7 @@ value {\em negative} boundary to apply the boundary condition. \item[{\tt CCTK\_REAL speed}] wave speed used for boundary condition ($v$). -\item[{\tt CCTK\_REAL limit}] radation constant +\item[{\tt CCTK\_REAL limit}] asymptotic value of function at infinity \item[{\tt character*(*) variable\_name}] the name of the grid function to which the boundary condition will be applied |