diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/documentation.tex | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex index 676418c..1e23fc3 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -193,12 +193,53 @@ restricted full norm 6-5 operator has been implemented. This was calculated using a Mathematica script kindly provided by Jos\'{e} M. Mart\'{\i}n-Garc\'{\i}a. +For the restricted full norm 6-5 SBP operators a compatible dissipation +operator has been implemented as well based on \cite{msn04}. \section{Using This Thorn} - +The basic functionality of calculating finite difference approximations are +performed by a set of aliased functions. In this way things are kept flexible +in the sense that different thorns each can provide their own way of +calculating derivatives but if they use the same calling interface the +user can switch between different derivative schemes by simply activating +the appropriate finite differencing thorn. + +There are currently two different calling interfaces corresponding to different +levels of flexibility. In the first case the fact that derivatives are +approximated by finite differencing is completely hidden for the user. Using +this interface the same physics thorn could in principle be used with a +finite difference driver, a finite elements driver or a spectral driver. There +is however a price to pay for this flexibility due to the fact that the +operations are performed on whole grid functions at a time so that storage +for the derivatives has to be provided. This can significantly increase the +amount of memery required for the evolution. The alternative interface +returns instead the finite difference coefficients and allows the user to +calculate derivatives on a pointwise basis. This can significantly save +memory but limits the physics thorn to use finite differences. \subsection{Obtaining This Thorn} - +The thorn is currently still in development and so is not generally available. +Access can be requested by contacting the thorn maintainer. \subsection{Basic Usage} - +In order to use the derivative routines the appropriate declarations have +to be added to your thorns interface.ccl file. To use the interface that +works on whole grid functions you have to add: +\begin{verbatim} +SUBROUTINE Diff_gv ( CCTK_POINTER_TO_CONST IN cctkGH, \ + CCTK_INT IN dir, \ + CCTK_REAL IN ARRAY var, \ + CCTK_REAL OUT ARRAY dvar ) +USES FUNCTION Diff_gv +\end{verbatim} +To use the interface that returns the finite difference coefficients you have +to add: +\begin{verbatim} +SUBROUTINE Diff_coeff ( CCTK_POINTER_TO_CONST IN cctkGH, \ + CCTK_INT IN dir, \ + CCTK_INT IN nsize, \ + CCTK_INT OUT ARRAY imin, \ + CCTK_INT OUT ARRAY imax, \ + CCTK_REAL OUT ARRAY q, \ + CCTK_INT IN table_handle ) +\end{verbatim} \subsection{Special Behaviour} \subsection{Interaction With Other Thorns} @@ -217,8 +258,11 @@ Mart\'{\i}n-Garc\'{\i}a. \begin{thebibliography}{9} -\bibitem{strand93} Bo Strand, 1994, Journal of Computational Physics, 110, 47-67 +\bibitem{strand93} Bo Strand, 1994, Journal of Computational Physics, 110, +47--67. \bibitem{lrt05} Luis Lehner, Oscar Reula and Manuel Tiglio, in preparation. +\bibitem{msn04} Ken Mattsson, Magnus Sv\"{a}rd and Jan Nordstr\"{o}m, 2004, +Journal of Scientific Computing, 21, 57--79. \end{thebibliography} |