diff options
Diffstat (limited to 'doc/documentation.tex')
-rw-r--r-- | doc/documentation.tex | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex new file mode 100644 index 0000000..8165f8c --- /dev/null +++ b/doc/documentation.tex @@ -0,0 +1,91 @@ +\documentclass{article} +\begin{document} + +\title{CoordGauge} +\author{Tom Goodale} +\date{April 2002} +\maketitle + +\abstract{Base thorn to provide the infrastructure for dynamic gauge selection} + +\section{Purpose} + +The CoordGauge implementation schedules five groups + +CoordGauge + +LapseSelect IN CoordGauge BEFORE PickCoordGauge +LapseApply IN CoordGauge AFTER PickCoordGauge + +ShiftSelect IN CoordGauge BEFORE PickCoordGauge +ShiftApply IN CoordGauge AFTER PickCoordGauge + +and one function + +PickCoordGauge IN CoordGauge + +and has two public grid scalars + +selected\_lapse +selected\_shift + +and two string parameters + +lapse\_list +shift\_list + +It also provides four aliased functions + +\begin{verbatim} + +int CoordGauge_RegisterLapse("lapse-name") +int CoordGauge_RegisterShift("shift-name") + +CoordGauge_Lapse("lapse-name") +CoordGauge_Shift("shift-name") + +\end{verbatim} + +(If someone can think of better names, please say so 8-) + +Then each thorn which wants to apply a coordinate gauge condition +registers itself, receiving a unique integer as an id, and schedules a +selection routine and an application routine in the appropriate schedule +groups. + +The selection routine decides if this gauge condition should be applied at +this time, and calls the CoordGauge_Lapse/Shift aliased function. (It +should check that it is actually in the appropriate parameter as a +minimum.) + +The PickCoordGauge traverses the list of lapses/shifts and selects the +first one in the list which has called the CoordGauge\_Lapse/Shift aliased +function and sets the appropriate grid scalar to the id of this one. + +The application routine checks to see if the grid scalar is set to its id, +and if so, applies the gauge condition. + +Evolution thorns could schedule CoordGauge at the appropriate point or +points in their schedule. + +An advantage of this scheme over the current one is that it provides the +selection routines with a full set of variables from which to decide +whether they should apply a guage or not. So it becomes very easy to +choose to switch off maximal if the lapse has collapsed within a certain +volume, etc. + +This is simpler than the previous scheme as there is no arbitrary 'bid' +floating around. It also allows us to keep the logic of the final +selection in one place, thus allowing people to override this logic if +they need to. + +\section{Comments} + + + +% Automatically created from the ccl files by using gmake thorndoc +\include{interface} +\include{param} +\include{schedule} + +\end{document} |