Save one archive file:
metric_unix.zip (UNIX, Linux) or
metric_dos.zip (MS-DOS, Windows).
The files differ with respect to the end-of-line characters only.
Uncompress the archive:
unzip metric_unix.zip (UNIX, Linux) or
pkzip -extr -dir metric_dos.zip (MS-DOS, Windows...)
will do (The files have been compressed using the utility zip on
a PC running Linux). This should create a directory Metric containing
the
C++ mode solver library files, a makefile,
and a folder
Apps with some
examples for application programs,
C++ main()-files.
Obtain the Eigen subroutines:
Download and uncompress
the archive (version > 3.0.1) into a temporary directory. Adhering to the instructions of Method 1
in INSTALL, copy the entire folder Eigen (found one level below) incl. all sub-folders
into the Metric directory.
For a first program run, choose one of the example files from folder
Apps, copy it to the Metric directory, edit it for your own
needs, and save it by the name newapp.cpp. Only the file
metric.h must be included into the main program;
it summarizes the header files which are
necessary to access the library routines.
Edit the first lines of the supplied makefile according to the
requirements of your compiler. The included file should work appropriately
for the GNU C++ compiler.
Since the application programs will most likely produce some output files
which are not to be mixed with the Metric source files, they should be executed
in a separate 'production' directory. Therefore create a directory
P in the folder Metric.
The makefile has a primary target s, which is to be produced
by compiling s.cpp. Hence the commands
cp newapp.cpp s.cpp make cp s newapp or equivalents produce the executable newapp. Additionally,
the new application must be transferred to folder P, and a copy
of the source newapp.cpp may also be useful in P. This
is what the script files mo or mo.bat do. Type
mo newapp in folder Metric to compile your application program (maybe a
chmod +x mo or the like is required).
Start the application in folder P:
cd P newapp.
The stderr output channel receives the log information: analysis parameters,
structure definition, progress, propagation constant values, and
notes about file input/output. Therefore you might wish to collect this
information:
newapp 2>res.