SLEIGN2: THE AUTOINPUT.TXT FILE
01 March 2001: P.B. BAILEY, W.N. EVERITT AND A. ZETTL
The experienced user of SLEIGN2 who would like to avoid the
"question & answer" format in favor of a more direct (and faster) system
can do so by simply creating a very brief text file containing the
parameters of his particular problem. The file must be called
auto.in
and must reside in the same directory as the executable SLEIGN2 file
(possibly xamples.x or bloggs.x) . Once such a file has been created,
the user simply types
xamples.x
as usual (or bloggs.x ), whereupon the prompt
WOULD YOU LIKE AN OVERVIEW OF HELP ? (Y/N) (h?)
appears -- as usual. But instead of replying to the question
with y, or n, or h, one simply types in the response
a
The "a" here stands for "automatic" operation of SLEIGN2;
at this point the computation of the requested eigenvalue(s)
proceeds without further action by the user.
The construction of the file "auto.in" consists of simply
defining a number of "KEYWORDS", each on a separate line, which
together constitute a complete set of input parameters defining
the eigenvalue problem to be solved. (The differential equation
coefficients have, presumably, been already defined in either
xamples.f, or bloggs.f, or.. .)
-------------------------------------------
The KEYWORDS, all of which end in a colon and must be
followed by at least one space, are:
a: -- The left end-point of the interval (a,b);
Value is any real number;
Default value is -infinity.
b: -- The right end-point of the interval (a,b);
Value is any real number;
Default value is +infinity.
classa: -- The end-point classification of a;
Value is one of { r, wr, lcno, lco, lp, d }.
classb: -- The end-point classification of b:
Value is one of { r, wr, lcno, lco, lp, d }.
bca: -- boundary condition for the end-point a;
Value is either d (for Dirichlet),
n (for Neuman),
or two real numbers A1, A2 .
bcb: -- boundary condition for the end-point b;
Value is either d (for Dirichlet),
n (for Neuman),
or two real numbers B1, B2 .
bcc: -- coupled boundary condition;
Value is either p (for periodic),
s (for semi-periodic),
or five real numbers
alpha, k11, k12, k21, k22 .
numeig: -- Index (or range of indices) of desired eigenvalue;
Value is an integer N1, or pair of integers N1,N2 .
param: -- Parameter(s) appropriate for the problem;
Value is one or two real numbers, param1, param2.
np: -- Problem number;
(Appropriate only if one of the differential equations
in xamples.f is being used.);
Value is an integer from 1 to 32.
output: -- Name of output file;
Value is a character string, the name of the output
file where the results of the computation are to
be written;
Default value is "auto.out" .
end: -- Last line of file "auto.in" ; no value set.
again: -- Terminates the input for one eigenvalue problem and
begins the input for another ; no value set.
Although the KEYWORDS used to define any one problem can be defined
in any order, there are a few rules to be observed: Namely,
Only those KEYWORDS whose values are necessary need be mentioned.
Any KEYWORD definition remains in effect until redefined;
To erase a previous definition of a KEYWORD, redefine it to
have the value "null".
-----------------------------------------------
Perhaps a simple example would help to make clear what such
a file would look like. One such could be:
output: bessel.rep
np: 2
param: 0.75
a: 0.0
b: 1.0
classa: lcno
classb: r
bca: 1.0,0.0
bcb: d
numeig: 2,5
end:
This file (which must be called "auto.in", of course), would
be suitable for running Bessel's equation in xamples.f.
Evidently the problem selected is #2 of xamples.f (Bessel's equation),
with the parameter nu = 0.75, on the interval (0.0,1.0) . The
end-point a is asserted to be LCNO; end-point b is R; the boundary
condition at a is defined by A1 = 1.0 & A2 = 0.0; boundary condition
at b is Dirichlet; and the eigenvalues lambda(2), lambda(3), lambda(4),
lambda(5) are to be computed.
If the user wishes to run several problems, one after another,
things can become a little complicated, but can be done. Here is
a more complicated example of a file auto.in :
output: Legendre
np: 1
a: -1.0
classa: lcno
bca: 1.0,0.0
b: 1.0
classb: lcno
bcb: 1.0,0.0
numeig: 0,5
again:
np: 6
output: Sears-Titchmarsh
a: 1.0
classa: r
classb: lco
bcb: 1.0,0.0
numeig: -1,2
bca: d
b: null
again:
numeig: 1,5
np: 12
a: 0.0
output: Mathieu.rep
classa: r
classb: r
b: pi
bcc: p
param: 5.0
again:
np: 16
output: Jacobi.rep
a: -1.0
b: 1.0
param: 0.5,-1.2
classa: lp
classb: lcno
bcb: 1.0,0.0
numeig: 0,2
again:
param: 1.2,-0.5
classa: wr
classb: lp
bca: d
bcb: null
end:
---------------------------------------------------
The user must be aware, however, that this "automatic" system
for running SLEIGN2 has no built in safety features.
Whereas the "question & answer" format can and does catch many kinds
of simple errors on the part of the user, there are no safety
devices of any kind in place when SLEIGN2 is run in automatic mode.
If the program runs, and if an output file has been written, then
the user has at least a record of the parameters of the problem which
were used for the run. However if the auto.in file is constructed with
any errors in it, almost anything can happen.
Department of Mathematical Sciences, Northern Illinois University,
DeKalb, IL 60115-2888, USA.