FEATFLOW

This CFD project is found on The FEAST site of life. If you can download FeatFlow1.1 program from that site or from featflow.zip.

If you use Digital FORTRAN 5.0 you can download batch files for building FeatFlow libraries, examples and benchmark tests from here. File is named dfwin.zip and zipped with WinZip. You must unzip this file into featflow folder.

If you use MS FORTRAN Power station 4.0 you can download batch files from here. This file is named pfwin.zip.

Some hints for Windows95/98/NT user who will like to build FeatFlow from DeviceStudio with Digital VF 5.0:

  1. PostScript documents you will find on FEAT download area are gziped but this is not seen by Windows95/98. So, when you download documents simply delete .gz and you will have .ps files which can be read with GSView
  2. I use Digital Visual Fortran 5.0 and all libraries were build as Static library with default compiler options.
  3. Use src_new when creating libfeat2d.lib
  4. When you are building an application follow instructions in FEATFLOW User Manual but create subdirectories #avs, #byu, #points, #tries, #nu manually. When you build an application use Win32 Console application project with default compiler options. When using both libfeat2d.lib and libfeat3d.lib you must link libfeat3d.lib first to avoid link errors.
  5. Libraries that are built without errors and warrnings are libblas.lib, libcc2dmg.lib, LIBPP2.lib, libtr2to3.lib, libtrigen2d.lib
  6. libcc2d.lib produce 7 warnings, libcc3d produce 8 warnings, libcc3dmg.lib produce 1 warning. libfeat3d.lib produce 3 warnings, libpp3d.lib 3 warnings but I don’t know solutions for that warnings
  7. Original libfeat2d.lib built from feat2d/src_new files produce several errors and warnings. The solution for these errors and warnings are (at least for my compiler):

COMMON /ERRCTL/IER,ICHECK

 CHARACTER ARR*6

CHARACTER*(*) CFILE

  1. When building libpp2dmg.lib and libpp3dmg.lib two warnings are reported namely Warning: Variable IER is used before its value has been defined
          IF (IER.NE.0) GOTO 99999

Just add COMMON /ERRCTL/ IER,ICHECK to appropriate place in mgrout.f file.

  1. When building libtrigen3d.lib 2 errors are reported, just delete /TRIAA/ from SAVE statement in lines 17 and 323 in file util.f
  2. Add the following code to fpost.f (line 119) in directories featflow/source/cc2d, featflow/source/pp2d, featflow/source/cc3d, featflow/source/pp3d

C
C=======================================================================
C *** write unformatted time dep. solution vector
C=======================================================================
C
c*** add mb 27.4.99
INSAV1 = 0
IF (INSAV.GT.0) INSAV1=MOD(ITNS,INSAV)
IF ((ITYP.EQ.1).AND.(INSAV.GT.0).AND. INSAV1.EQ.0) THEN
c****
ccccc IF ((ITYP.EQ.1).AND.(INSAV.GT.0).AND.(MOD(ITNS,INSAV).EQ.0)) THEN

Programs cc2d, cc3d from featflow/application/example run correctly on my computer, programs pp2d and pp3d produce run_time error: M6201: MATH  - sqrt: DOMAIN error

Benchmark programs you will find in featflow/application/comp cc2d and cc3d runs correctly on my computer, but programs pp2d, pp3d produce error:   forrtl: severe(157): Program Exception - access violation  

If you run pp2d and pp3d with ISLP=1 or ISLP=3 in ppxd.dat banchmarks programs and example programs runs correctly. (Idea of S.Turek)


GKS (Graphics Kernel System)

As an Windows95/98 and Fortran user I often need FORTRANA read and write statement and graphical input and output. Because I don't build commercial application programs, I find myself far away from tasks I want to solve with programming in a full scale Windows application. So I downloaded source code of GKS from STARLINK and wrote workstation drivers for Windows and Windows Enhanced Metafile. All together it is set up in static library which can be linked to Win32 Console application program when one uses Digital VF 5.0 Compiler. I contacted Martin Bly from Starlink who gave me permission to put GKS on this site. I must note that usage of this library is limited by Starlink Software Licence conditions and also that


THIS PORT OF GKS IS NOT SUPPORTED BY STARLINK !!!!!!

You can download GKS library build for Digital VF 5.0 Win32 Console applications from gks.zip This file is zipped with shareware WinZip program and contains

  1. gkslb.lib - GKS static library
  2. gks.emf - Error message file
  3. gks.dbs - Font file
  4. gks.wdt - Workstation description file
  5. gks.par - include file for GKS enumeration types
  6. folder example with gkstst.exe file and two data files. Majority(1-32) of examples are from Starlink , two Cern (34, 36) and two are mine (33, 35).

Installation:

  1. Download gks.zip
  2. Unzip this file into c:/GKS directory. .(Open gks.zip with WinZip, in main menu select Extract, then in dialog box click New Folder, type c:/gks and then click Extract)
  3. Try to execute gkstst program in c:/gks/example folder, especially example 35. In example 35 there is a menu in Console window! For connection identifier use numbers from 1 to 4 or from 7 to 90 , for workstation type use 3800 or any other workstation type. When you use wktyp 3800 you must click Console window after you click GKS Window.

Usage

  1. To build a GKS program in the Developer Studio, select File, New,Projects, enter a new name, select Win32 Console Application and click on OK.
  2. Select Project, Settings and Settings for All Configurations. Then select the Fortran and Category: Fortarn Data. Click on Use byte as.. (This is essential because otherwise GKS will not recognise fonts and error messages files)
  3. Insert the GKS library gks.lib file into the Workspace by clicking on Project,Add, Files: c:/gks/gks.lib
  4. Add other files to project and build application

User guide for GKS can be obtain from Starlink . In this version of GKS the Workstation description table gks.wdt contains following workstations types:

  1. 3 = WISS
  2. 10 = Metafile Input
  3. 12 = Computer Graphics Metafile Input ( this is not working properly !!!)
  4. 50 = Metafile Output
  5. 52 = Computer Graphics Metafile Output ( not working properly !!!)
  6. 2700, 2720 = Postscript portrait A4
  7. 2701, 2721= Postscript landscape A4
  8. 3800= Windows - up to 4 windows of size 780x576 pixels with 240 settable colours can be open simultaneously. These are windows with black background.
  9. 3803= Enhanced Windows Metafile - 1 file can be open simultaneously. Output is stored to file GKS3803_x.EMF where x = 0,..,9. (output is with white background !!). This file can be imported in for example MS Word8.0
  10. 5000 = DXF file - one file can be open simultaneously. Output is stored to file GKS_xx.DXF. This file can be imported to for example MS Word8.0. It support only 7 colours.

Font file gks.dbs contains 15 Harshly fonts:

  1. -101 = Simplex Roman
  2. -102 = Duplex Roman
  3. -103 = Greek
  4. -104 = Complex Roman
  5. -105 = Complex Italic
  6. -106 = Triplex Roman
  7. -107 = Triplex Italic
  8. -108 = Simplex Script
  9. -109 = Complex Script
  10. -110 = Cyrillic
  11. -111 = Cyrillic
  12. -112 = English Gothic
  13. -113 = German Gothic
  14. -114 = Italian Gothic
  15. -115 = Mathematical Symbols

By default all Aspect Source Flags are set to INDIVIDUAL and not BUNDLE as in original Starlink GKS.

All windows support REQUEST LOCATOR function, with 7 echo types ( 2=Crosshair, 3= Tracking cross, 4=Rubber line, 5=Rectangle, 6=Centered Rectangle, 7= Hor/Ver Line). STROKE INPUT is not supported.

 Non-standard utilities

Beside standard functions gks.zip contains several non-standard utility functions (not included in original Starlink GKS):

GUOPKS - Open GKS, assign error output to console and activate first workstation of category OUTIN with workstation identifier 1.

GUCLKS - Close all workstations and GKS

GUMSG( IWKID,CMSG) - Update workstation of category OUTIN, write message CMSG and wait for user click

GUSWNA( ITN, XMIN, XMAX, YMIN, YMAX) - Define isotropic window (eqal scale in X in Y direction)

GUSASF(IFLG) - Define all 13 Aspect source flags to IFLG ( = 0 or = 1)

GUBOX( X1, Y1, X2, Y2) - Draw box with fill current are a style

GULINE( X1, Y1, X2, Y2) - Draw line

Graphics output for Windows workstation is produced indirectly throughout virtual display, so the user must refresh the picture by calling

CALL GUWK(IWKID,1)



Milan Batista

University of Ljubljana

Faculty of Maritime and Transport

email:[email protected]