Instructions to compile the ATP
-------------------------------
I- To change the dimensions
1. Edit the file listsize.ext, and set the size of each
table as required.
2. Run the command file vardimn.bat. Vardimn.bat runs
vardim.exe and the files dimdef.f and newmods.f are created.
> vardimn listsize.ext
Edit the file tacsar.ins and change the dimension to the
same value of SPTACS in newmods.f. This step is not
mandatory, but it will avoid a lot of annoying but innocuous
messages.
3. Edit makefile, and change the directory where the DISLIN
graphic library was installed.
If DISLIN graphic library is not present, a dummy library
dislin.a can be used, as explained in makefile.
DISLIN is available via ftp anonymous from the following
sites:
- ftp://ftp.gwdg.de/pub/grafik/dislin
- ftp://linhmi.mpae.gwdg.de/pub/dislin
4. Run make with makefile as argument.
> make
II. To obtain a COMPILED TACS version of tpbig.
At first, set environment variable COMPTACS as "MAKE", and
run.
> COMPTACS=MAKE
> del comtac.o
> runtp datafile
Then, the following three files are created.
decktac1.inc
decktac2.inc
codetacs.inc
This files must be copied to comta1.ins, comta2.ins and
comta3.ins respectively, as required by comtac.f.
It is better to include "SINGLE STEP IF MAKE" in data files.
By this command, tpbig stops immediately after creating the
above three files. Without this command, tpbig doesn't stop
until the simulation reaches tmax.
The batch file comtac1.bat does this work, with your data
file as argument
> comtac1 data
The above three files are included by comtac.f module. The
new tpbig is created by compiling comtac.f and linking with
other modules.
2. Run make with makefile as argument.
> make
A lot of warning messages can be avoided by changing
dimensions in tacsar.ins and comtacs.f to the same value as
SPTACS dimension in newmods.f.
3. Then, set environment variable COMPTACS as "USE", and run
the new tpbig.
> COMPTACS=USE
> tpbig DISK datafile. s -r
> COMPTACS=
The batch file comtac2.bat does this work with your data
file as argument.
> comtac2 data
The original tpbig in the distribution was compiled with
the following three files whose sizes are 0.
comtac1.ins
comtac2.ins
comtac3.ins
Some tips for the correct operating of compiled TACS
- Some varible names should not be used; I, IA, T, ...
- The integer number should not be used as a denominator;
1/2 should be 1.D0/2.D0 , .....
- Logical expression should be changed by hand;
For example,
SIGAP = .NOT. SIGA
This code should be changed like as follows;
AASIGAP = .NOT.SIGA
BB IF ( SIGA .GT. 0.0 ) then
BB SIGAP = 0.0
BB ELSE
BB SIGAP = 1.0
BB ENDIF
Other example,
SIGNLC = SIGN( ERRORC ) * ( ABS( ERRORC ) .GT. DELTAI )
This code should be changed like as follows;
AASIGNLC = SIGN( ERRORC ) * ( ABS( ERRORC ) .GT. DELTAI )
BB IF ( DABS( ERRORC ) .GT. DELTAI ) THEN
BB SIGNLC = SIGNZ( ERRORC ) * 1.0D0
BB ELSE
BB SIGNLC = 0.D0
BB ENDIF
As for the AA/BB features of Compiled TACS, please refer to the
following URL:
http://www.jaug.gr.jp/~atp/develop-e.htm#tacs
III. To add a foreign function to MODELS.
1. Edit the file fgnmod.f and add your function.
Follow the instructions in the fgnmod.f
2. Run make with makefile as argument.
> make
IV. MINGW compiler documentation
GCC-2.95.2 for Mingw -- Installation instructions
=================================================
1. Choose what packages to download:
a. gcc-2.95-mingw32.zip .......... [MANDATORY] C/C++/F77/ObjC compilers
b. gcc-2.95-html-docs.zip ........ [OPTIONAL] Docs in HTML format
c. gcc-2.95-msvcrt-runtime.zip ... [OPTIONAL] MSVCRT instead of CRTDLL.
1. Get the mandatory package first.
(1) If you're on a fast link, just get the following files:
- gcc-2.95-mingw32.zip
(2) For slower links, get the split files from "split" directory.
- gcc-2.95-mingw32.zip.*
once you have all the gcc-2.95.* files, you can combine them
using the combine.bat file provided in the "split" directory,
which will create a gcc-2.95-mingw32.zip file.
I recommend you get the HTML documentation package as well.
2. Pre-installation:
a. Decide where to install it. I usually install in "C:\GCC-2.95", but
you can install *anywhere* you want, including on a ZIP/JAZ drive.
All you have to do is to set PATH and optionally GCC_EXEC_PREFIX
accordingly (see later). From here on, I'll use "C:\GCC-2.95" as
the installation root directory. Please replace with whatever you've
chosen. You can use the sample "MINGW32.BAT" I've provided in the
distribution to setup the variables. DO NOT install in a directory
with spaces in it (eg., C:\Program Files\Mingw).
b. Make sure you DO NOT install on top of an existing installation.
Either install elsewhere, or delete the old directory structure first.
3. INSTALL:
You must use an "unzip" program that understands both long file names
and also maintains directory structure. Pkunzip and WinZIP work just
fine, and I'm sure a host of others do as well. You might have to
supply "-d" option when unzipping to maintain directory structure.
First create the installation directory.
C:\> mkdir C:\GCC-2.95
C:\> cd C:\GCC-2.95
C:\> unzip -d C:\tmp\gcc-2.95-mingw32.zip
Note that if you retrieved the "split" files, then you will have to
recombine them before you try to unzip. You can use the DOS COPY trick
to recombine, or use the COMBINE.BAT in this directory.
4. Setting up environment variables and such:
Starting from EGCS-1.1.2 release, GCC does not require *any* environment
variable to run properly. You can still set GCC_EXEC_PREFIX if you
wish (useful for example to switch between multiple GCC distributions),
but it's completely optional. EGCS now looks for the system includes,
libraries, programs, etc relative to its installation directory.
You'll still need to add the GCC-2.95 bin directory,
C:\GCC-2.95\bin, to your PATH for GCC to be able to find various
other tools such the linker, assembler, etc.
The following is all you need for this release:
C:\> PATH=C:\GCC-2.95\BIN;%PATH%
Again, see the supplied MINGW32.BAT file. Those of you who use a Unix
like SHELL such as bash, use "mingw32.sh" instead.
Make sure you do not have any other variables set from previous version
or else GCC will search incorrect places for libraries and headers. The
ones that you DO NOT need anymore are: LIBRARY_PATH, C_INCLUDE_PATH,
CPLUS_INCLUDE_PATH, and OBJC_INCLUDE_PATH. If you *DO* have the variable
GCC_EXEC_PREFIX in your environment, just make sure it's set correctly.
5. INSTALL GCC-2.95 OPTIONAL packages following exactly the same steps.
Good luck.
Links:
GNU Compilers : http://gcc.gnu.org/
Cygwin site : http://sourceware.cygnus.com/cygwin/
My stuff : http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
Mumit Khan --
[email protected]
http://www.xraylith.wisc.edu/~khan/
评论0