Filterbd removes rows from branch data, for which either a column becomes a constant multiple of , or, the points have solution labels outside a specified range.
filterbd [-h] (runpfile-) (-tr col) (-l begin [end]) |
-h | : | Display a usage message and exit with nonzero return value. |
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. |
-tr col | : | Filter TR curve with respect to values in column col, | ||||
PAR is column 1. | ||||||
-l begin [end] | : | Print all points between labels in the range [begin,end]. |
Filterbd has two principal operation modes: filtering curves of Neimark-Sacker bifurcations and cutting branch data. The computation of a locus of Neimark-Sacker bifurcations (torus bifurcations) sometimes jumps onto a period-doubling or a fold curve. This can be detected by including PAR(12) into ICP, because , where is the rotation number of the emerging invariant circle. If PAR(12) becomes a constant multiple of , then we approach a 1/1 or 1/2 resonance where the Neimark-Sacker curve generically ends, but not necessarily the continuation. Filterbd replaces those rows of a bifurcation diagram with a single empty line for which this condition is satisfied, eliminating the segments of a Neimark-Sacker continuation that are not part of the actual Neimark-Sacker curve. Use a call like
filterbd run -tr col | bd2dat - ... |
for correct conversion of Neimark-Sacker curve data.
In its second form filterbd can be used for cutting branch data. Filterbd will print all points that have or follow a solution point with label begin up to and including a point with solution label end. If end is omitted, then all points until the end of the branch data, starting with the point with label begin will be printed. This function can be used to print only a section of branch data:
filterbd run -l begin [end] | printbd - |
or to preprocess branch data for fam2dat. For example, to extract all labeled solutions up to, and including the first period-doubling point use (in bash syntax):
filterbd run -l 1 $(splabs run PD 1 1) | fam2dat - run ... |
All utilities that come with rauto, including filterbd, are able to handle output generated by filterbd. Hence, it is possible to filter multiple times in one pipeline.
Filterbd returns 0 on success and 1 if an error occurred or the -h switch was given.