summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-08-19 13:03:39 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>2001-08-19 13:03:39 +0000
commitf5626bebb61a537c481ae2bbf994db9d3cfed547 (patch)
tree7329c0c30571e9db06cf4c32ee6b0fcaa6e37494 /doc
parent1cfc38d8c540f57cafb20b0b6316637c29dfbab9 (diff)
Added a couple of paragraphs about how scheduled routines are run (analysis, storage)
Fixed timer description for new functions git-svn-id: http://svn.cactuscode.org/flesh/trunk@2308 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'doc')
-rw-r--r--doc/UsersGuide/ThornWriters.tex19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/UsersGuide/ThornWriters.tex b/doc/UsersGuide/ThornWriters.tex
index 0648797a..a1581cc5 100644
--- a/doc/UsersGuide/ThornWriters.tex
+++ b/doc/UsersGuide/ThornWriters.tex
@@ -1144,6 +1144,17 @@ data; such a routine should only be called once however many
sub-grids the driver may have broken the problem into.
\end{Lentry}
+\section{How Cactus Calls Scheduled Functions}
+
+For each scheduled function called, the flesh performs a variety of jobs at entry and exit.
+
+On entry to a scheduled routine, if the routine is being called at the ANALYSIS timebin first a check is made to see if the routine should actually be called on this timestep. For this, all grid variables in the trigger groups for the routine are checked with all registered output methods to determine if it is time to output any triggers. The routine will only be called if at least one is due to be output. Routines from all other timebins are always called.
+
+Next storage is assigned for any required variables, remembering the original state of storage.
+
+The routine is then called, and on exit, any required grid variables are
+first synchronised. Following synchronization, any required output methods are called for the triggers. Finally, the storage of grid variables is returned to the original state.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2585,6 +2596,14 @@ Since the timing data is dynamic, before it can be assessed, the structure
must be allocated with a call to {\t CCTK\_TimerCreateData}. A similar function
is provided to destroy the stucture
+\item[{\t CCTK\_NumTimers}]
+
+Return the number of created timers
+
+\item[{\t CCTK\_TimerName}]
+
+Provide the name of the timer for a given timer index
+
\end{Lentry}
\subsection{The {\tt cTimerData} Structure}