xvs: Pull Down Menus
This section contains a brief synopsis of the xvs pull down menus.
The menus can
be accessed by pressing and holding down the Right mouse button in the active xvs
window, generally when the window is in Freeze or Auto mode. (In
the other modes, Right clicks are interpreted differently).
Many of the xvs menus are used to invoke functions ("applicators")
on the datasets contained in one or more windows. In describing these
functions
the following notation will be convenient. Denote the contents of a
single window as
Y = [Y^{n}] = [ Y^{1}(X^{1},t^{1}), Y^{2}(X^{2},t^{2}), ... Y^{nt}(X^{nt},t^{nt}) ]
where nt is the number of timesteps (datasets) stored in the window, the t^{n}
are the discrete times associated with the
datasets, and X^{n} and Y^{n} are vectors of
length nx_{n} with components:
X^{n} = [ X^{n}_{1}, X^{n}_{2} ... X^{n}_{nxn} ]
Y^{n} = [ Y^{n}_{1}, Y^{n}_{2} ... Y^{n}_{nxn} ]
With this nomenclature, we can denote a function (applicator) of one window as:
F(Y) or F_{1}(Y_{1})
Similarly for functions of two, three, ... n windows we can write:
F_{2}(Y_{1},Y_{2}), F_{3}(Y_{1},Y_{2},Y_{3}), ... F_{n}(Y_{1},Y_{2},...,Y_{n})
The main pull-down menu is composed of the following sub-menus:
IMPORTANT NOTES:
- There are currently over 250 separate functions accessible from the Apply menus.
Many of these are very specific to certain computations (such as
spherically symmetric general relativisitic gravitational collapse!) or
exist for historical reasons, are not of general interest, and therefore
are not documented here.
- Unless apply all is enabled, execution of a single window
applicator will normally result in the creation a new window containing
the transformed data. However, if the control key (CTRL)
is down at the time the menu selection is made, the transformation
will be made in place, destroying the original
data as a side effect.
- In the following Left, Right, Middle, Any denote
clicks of the left, right, middle, and any mouse buttons respectively.
- In the case of multi-window applicators, you will be asked to select two
or more windows, at which point xvs will enter pick or select
mode. While in this mode the active window is bordered in blue;
the active window may be picked via Left or Right, and picking is
terminated (or aborted) via Middle.
The Stats sub-menu
Entries in this sub-menu are for de-bugging and diagnostic
purposes, and will not be needed in typical xvs use.
The Apply Control sub-menu
The two entries in this menu enable and disable the apply all
feature of xvs.
When this feature is enabled, any function
subsequently selected from the Apply xy menu will be
applied to all xvs windows, and the transformations
will be made in place, i.e. the transformed data will
replace the original data, and no windows will be opened.
Entries in this menu generally compute F(Y), using
the notation defined above.
The Apply xy hist sub-menu
This is a dynamically-created menu that maintains a history of
functions that have been recently invoked via the apply xy
menu, so that those functions may be more quickly accessed. The
history list is initially empty, so this sub-menu will not appear in the
main menu pop-up until a selection has actually been made from the
apply xy menu.
The Apply2 xy sub-menu
Entries in this menu generally compute F_{2}(Y_{1},Y_{2})
The Apply3 xy sub-menu
Entries in this menu generally compute F_{3}(Y_{1},Y_{2},Y_{3})
The only entry in this menu of general utility is
- [1]-[2] vs [2]-[3]: The new data window has x-values Y_{2}-Y_{3} and
y-values Y_{1}-Y_{2}. This function is useful for performing a certain
type of 3-level convergence test.
The Apply4 xy sub-menu
Entries in this menu generally compute F_{4}(Y_{1},Y_{2},Y_{3},Y_{4})
There are no entries in this menu of general utility.
Entries in this menu generally compute F_{6}(Y_{1},Y_{2},Y_{3},Y_{4},Y_{5},Y_{6})
There are no entries in this menu of general utility.
Entries in this menu generally compute F_{n}(Y_{1},Y_{2},...,Y_{n})
The Reduce sub-menu
Selections from this menu perform "x-reductions" of the data in the
active window.
Specifically, using the notation defined at the start of this
section, the action of
the generic reduction function, R, can be defined as
R(Y^{n}(X^{n}),t^{n})
Note that R returns a scalar value for each
n = 1, 2, ... nt. Thus, when a reduction is applied to a window
with data Y,
a new window is created whose data, Y_{R}, consists of
a single dataset, defined as follows:
Y_{R} = [ Y^{1}_{R}(X^{1}_{R},0) ]
Y^{1}_{R} = [ R(Y^{1}(X^{1}),t^{1}) , R(Y^{2}(X^{2}),t^{2}) ... R(Y^{nt}(X^{nt}),t^{nt}) ]
X^{1}_{R} = [ t^{1}, t^{2}, ..., t^{nt} ]
Given this notation, the following x-reductions are available---each reduction is followed by a description
of the scalar return value of the corresponding reduction function, R.
- l2 norm: l2 norm of Y^{n}.
- l1 norm: l1 norm of Y^{n}.
- l1 norm: l-infinity norm of Y^{n}.
The Compare sub-menu
Use the following selections from this menu to compare the data,
Y_{1} and Y_{2}, from two windows.
- full fuzz: Determine whether all times, x and y values are equal, using a fuzzy comparison.
- xy fuzz: Determine whether all x and y values are equal, using a fuzzy comparison.
- x fuzz: Determine whether all x values are equal, using a fuzzy comparison.
- y fuzz: Determine whether all x values are equal, using a fuzzy comparison.
- t fuzz: Determine whether all times are equal, using a fuzzy comparison.
- full exact: Determine whether all times, x and y values are equal to hardware precision.
- xy exact: Determine whether all x and y values are equal to hardware precision.
- x exact: Determine whether all x values are equal to hardware precision.
- y exact: Determine whether all x values are equal to hardware precision.
- t exact: Determine whether all times are equal to hardware precision.
The Kill window sub-menu
Use the following selections from this menu to kill (close) windows:
- Single (Q): Kills the active window. Note that Q is
a keyboard shortcut for this operation. This can also be done from
the client side via xvs kill NAME, where NAME is the
name of the window to be closed.
- All: Kills all windows. This can also be accomplished from
the client side using xvs killall or, equivalently, xvs ka.
- Selected: The server enters pick mode (the active window
will be bordered in blue), windows to be killed
are selected via Left or Right. When picking is terminated
via Middle, the selected windows are killed.