next up previous contents
Next: Sppars - print parameter Up: Command reference Previous: Sol2dat - convert and   Contents

Subsections

Splabs - print labels of special points.

Splabs prints a list of labels of special points of a selected type of a run. It is most useful for stable selection of restart labels of restarted runs.

Usage

 splabs [-h$ \mathrm \vert$-l] (run$ \mathrm \vert$pfile$ \mathrm \vert$-) type [begin [end]]  

Switches

 -h   :   Display a usage message and exit with nonzero return value.  
 -l   :   Interpret begin and end as labels, not as indices.  

Arguments

 run   :   Read branch data of run with qualified run name run.  
 pfile   :   Read branch data from p.*-file pfile.  
 -   :   Read branch data from standard input.  
 type   :   Print labels of special points of type type.  
 begin   :   Index of first label to print.  
 end   :   Index of last label to print.  

Detailed description

Stable selection of restart labels really is an issue with AUTO and splabs is here to help. The author made the experience of changing labels the first time when repeating on an INTEL CPU a lengthy computation that involved many runs and was initially performed on a SUN SPARC workstation. The small differences in the floating point units were enough for a quite frustrating surprise. The usual ``solution'' is to set NPR=NMX, but this is not always desirable.

A more elegant and very robust solution is to select labels of a specific type and this is exactly what splabs does. In many cases this will even work if the equations or some parameters are changed slightly. A simple use of splabs selects all solution labels of type type of a run with qualified run name run. A subset of labels can be selected by giving values for begin and end, which will select all labels at positions $ {\it begin\/}\leq i\leq{\it end\/}$ from the list of all labels. If end is omitted, then all labels at positions greater than or equal to begin will be selected. It is possible, but rarely helpful to select empty sets.

A more advanced application is to select all solution labels of a certain type between two labels of solutions of some different type. A natural candidate for the latter are limit points (LP) and end points (EP). For example, to select all UZR points between the first and second limit point use (in bash syntax)


 -IRS $( splabs -l rrun UZ $(splabs rrun LP 1 2) )  


Note the use of the -l switch in the outer call to splabs. This is needed for correct interpretation of the values returned by the inner call to splabs, which returns labels, not indices.

It is possible to do more complicated things using the abilities of arithmetic expansion provided by the bash. However, this might be unstable, that is, may lead to different or unexpected results when changing parameters or AUTO constants etc. The usage shown in the example above is probably the best way for robust and portable selection of restart labels.

Return values

Splabs returns 0 on success and 1 if an error occurred or the -h switch was given.


next up previous contents
Next: Sppars - print parameter Up: Command reference Previous: Sol2dat - convert and   Contents
Frank Schilder 2007-04-12