|
Program beltrami version 0.1.4
Program beltrami version 0.1.4
Initial revision 2000-07-18; Last revision 2004-08-05
1 Download
2 File readme
3 Usage and options summary
4 Description
5 Project revision history
6 License
1 Download
Sources: src/beltrami-0.1.4.tgz [53 Kb ]
2 File readme
beltrami --- Numerical solution of Beltrami equation
SUPPORTED ENVIRONMENTS
GNU/Linux/GMP or GNU/Linux
http://www.gnu.org GNU/Linux
http://www.mingw.org MinGW --- Minimalist GNU For Windows
http://www.swox.com/gmp/ GNU Multiple Precision Library
COMPILATION
There are two variants of installation
1) No multiple precision (for poor men;). Enter
make -f makefile.nomp (or gmake-f makefile.nomp)
in the directory where sources reside.
2) With GNU Multiple Precision (GMP). Enter 'make' (or 'gmake') in the
directory where the sources reside. The compilation may fail if (a) GMP
library is not installed or (b) C++ wrapper <gmpxx.h> is not
installed.
In both cases (a) and (b) download GMP library from the address above;
./configure --enable-cxx; make; make install
BRIEF INSTRUCTION
See algorithm description and an example in example/example.tex
License conditions are described in file LICENSE.txt
3 Usage and options summary
user@computer$ ./beltrami --help
Usage: beltrami [OPTIONS] FILE
Mandatory arguments to long options are mandatory for short options too
Default values are given in square brackets
-o, --output=NAME output results to NAME instead of standard output
-i, --iterations=N do N iterations [10]
-a, --all-info=L set verbose level to L [0]
-d, --daripa use Daripa's approach for computing operator T
-k, --khmelev use identity T=PDz to compute T
-l, --lin-daripa use linear approximation to compute T using [Daripa]
-p, --precision=P number of bits per number [54]
-f, --fprecision=D Set output format %.f
-g, --gprecision=D Set output format %.g
-e, --eprecision=D Set output format %.e
The following options are mutually exclusive (def --Rtransform)
-T --Ttransform do integral transform T (once)
-P --Ptransform do integral transform P (once)
-S --Stransform do transform S^N, where S=mu*(T+1)
-R --Rtransform do integral transform P S^N + I, I for identity
-D --Dztransform computes derivative f_z (in polar coordinates)
-Z --Dzbartransform computes derivative f_zbar (in polar coordinates)
-M --Mutransform computes Beltrami differential f_zbar/f_z
-F --FFTtransform do FFT transform
-I --iFFTtransform do inverse FFT transform
-s --skipFFT skip FFT before and after T and P transforms
The following long options allow to normalize solutions.
--zero_i=i0 If one of these four options is used, all of them
--zero_j=j0 must be used. In that case h[i0][j0] will be set to 0
--one_i=i1 and h[i1][j1] will be set to 1.
--one_j=j1 You can shorten these options for --0i, --0j, --1i,--1j
-q, --quiet do not send any messages to stderr
-h, --help display this help and exit
-m, --man display complete description
-v, --version display version and exit
4 Description
user@computer$ ./beltrami --man
<Usage information from the previous section is omitted>
This program solves the Beltrami equation on finite plane, using
integration transforms T and P. It accepts on input the file
in the following format
M N
r[1]
...
r[M]
mu[0][0]
mu[1][0] mu[1][1] ... mu[1][N-1]
...
mu[M][0] mu[1][1] ... mu[M][N-1]
Integers M and N define the number of nodes in polar coordinates,
where M is the number of radiuses, and N is the number of nodes in
angular coordinates. All nodes of grid are equispaces in angular
direction. The number N *must* be the power of 2. In radial
coordinate, the radiuses must be defined (real numbers) r[1], ..., r[M].
By default r[0]=0.0.
The values of Beltrami differential should be given in the table,
following r[1..M]. In this table mu[i][j] corresponds to
mu(r[i]*exp(2*Pi*j/N)). For r[0] only one value mu[0][0] must be given.
The example of the table follows:
4 8
0.1
0.2
0.3
0.4
(3,1)
(-0,1) (-3,1) (-0,1) (-3,1) (-7,5) (-4,1) (-7,5) (-4,1)
(-6,3) ( 7,1) (-6,3) ( 7,1) ( 1,2) (-2,4) ( 1,2) (-2,4)
(-6,3) ( 7,1) (-6,3) ( 7,1) ( 1,2) (-2,4) ( 1,2) (-2,4)
(-7,5) (-4,1) (-7,5) (-4,1) (-0,1) (-3,1) (-0,1) (-3,1)
EXIT CODES
The program exits with code 0, only in case it has done
what it was meant to do. In all other cases the exit code.
is non-zero. For example --help option exits with code
ERROR_HELP. The errors related to interaction with operating
system has code >=16. In future versions more exit codes
can be added, but the current exit code will remain as is.
THE TABLE OF EXIT CODES:
0 ERROR_OK
1 ERROR_VERSION
2 ERROR_HELP
3 ERROR_DESCRIPTION
4 ERROR_NO_ARGUMENT
5 ERROR_WRONG_ARGUMENT
16 ERROR_SERIOUS
16 ERROR_INTERNAL
17 ERROR_MALLOC
18 ERROR_STAT_FILE
19 ERROR_EMPTY_FILE
20 ERROR_OPEN_FILE_READ
21 ERROR_OPEN_FILE_WRITE
22 ERROR_OPEN_FILE_TMP
23 ERROR_WRITE_FILE
24 ERROR_INPUT_FORMAT
5 Project revision history
Files of the project were modified on the following dates:
2000-07-18
2004-01-24
2004-02-07
2004-02-08
2004-03-22
2004-03-23
2004-03-24
2004-03-26
2004-03-28
2004-03-29
2004-03-30
2004-03-31
2004-07-18
2004-08-05
6 License
beltrami
Available at http://www.math.toronto.edu/dkhmelev/PROGS/
Author:
Dmitry V. Khmelev
dkhmelev((at))math.toronto.edu
[change ((at)) to @ in order to get proper address - antispam]
University of Toronto,
Department of Mathematics,
100 St George Street,
M5S 3G3 ON,
Canada
LICENSING TERMS
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. You should obtain GNU GPL with
file COPYING in this distribution.
Scientific results produced using the software provided shall
acknowledge the use of this software. The proper reference is:
D. Khmelev,
http://www.math.toronto.edu/dkhmelev/PROGS/
Moreover shall the author of the software be informed about
the publication.
By using this program you agree to the licensing terms.
NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
PARTIES PROVIDE THE PROGRAM ÄS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED
OF THE POSSIBILITY OF SUCH DAMAGES.
1 Download
2 File readme
3 Usage and options summary
4 Description
5 Project revision history
6 License
|