-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
147 lines (108 loc) · 5.46 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
S E M T E X
===========
Synopsis
--------
This code is for spectral element solution of (incompressible
Navier--Stokes) time-varying and elliptic PDEs. Geometries
accommodated are 2D Cartesian or cylindrical, and "2+1/2D", i.e. 2D x
Fourier, again Cartesian or cylindrical.
Distribution
------------
The src directory contains source for the central routines/classes of
spectral/finite element solvers. Application programs/Makefiles can
be found in upper-level directories:
elliptic Solve elliptic (Laplace, Poisson, Helmholtz) problems.
dns Navier--Stokes DNS in Cartesian or cylindrical geometries.
utility Various utility programs.
The code has been tested with (and makefiles support) the following
operating systems: SGI IRIX6.5 (32 & 64-bit), DEC OSF1/Digital Unix,
GNU/Linux (iX86 & alpha), Fujitsu VPP300, NEC SX-4/5, Mac OSX 10.3,
Linux-AMD Opteron x86_64 and Linix-Intel Itanium-2 ia64.
Makefiles assume GNUmake: for purposes of automated compilation and
testing decribed below "gmake", in your path, should find GNUmake.
You should also have RCS installed on your system. SuperMongo and
Amtec's TECPLOT would be nice to have but are not needed. For
concurrent execution MPI is required. You will also need C, C++ and
FORTRAN77 (or F90, F95) compilers.
Author
------
Hugh M. Blackburn
Department of Mechanical & Aerospace Engineering
Monash University
Vic 3800
Australia
mailto:hugh.blackburn@eng.monash.edu.au
Starting out
------------
Say "make test" at the top level of the directory tree. All tests
should report as "passed".
The long-hand way to do the above is:
1. Run uname -s. Check there is a matching directory under the lib
directory and that it contains libalp.a and libfem.a. If not, run
"make libs".
2. Change directory to utility. Make "enumerate", and "compare" at least,
or just make to create all the utilities. You will need to put
enumerate and compare in your path as other codes will try to run
them.
3. Change directory to dns; make; cd ../test; testregress
../dns/dns.
Files
-----
Semtex uses a base input file which describes the mesh and boundary
conditions. We call this a "session" file and typically it has no
root extension. It is written in a format patterned on HTML, which we
have called FEML (for Finite Element Markup Language). There are a
number of example session files in the mesh directory. Other files
have standard extensions:
session.num Global node numbers, produced by enumerate utility.
session.fld Solution/field file. Binary format by default.
session.rst Restart file. Read in to initialize solution if present.
session.avg Average file. Used to store time-mean averages.
After writing a new session file it is best to run meshpr on it before
trying to use it for simulations. Meshpr will catch most of the
easier-to-make errors. You can also plot up the results using
SuperMongo or other utility as a visual check.
Utilities
---------
Can be found in the utility directory:
enumerate Generate global node numbering, with RCM optimization.
compare Generate restart files, compare solutions to a function.
convert Convert field file formats (IEEE-big/little, ASCII).
meshpr Generate 2D mesh locations for plotting or checking.
addvort Add vorticity vector components to a field file.
addfield Add vorticity, also divergence, helicity, etc.
sem2tec Convert field files to Amtec TECPLOT format.
project Convert a field file to a different order interpolation.
interp Interpolate field file from one 2D mesh to another.
probe Probe field file at specified points.
noiz Add a random perturbation to a field file.
calc An interactive calculator that calls the built-in function parser.
rstress Compute a Reynolds stresses from a .avg file, subtract averages.
All executables have a -h command line option which gives a help prompt.
Log of major revisions
----------------------
24 Mar 1995: Base 2D version of code completed in C. Semtex-1.
22 Jan 1996: C --> C++ conversion completed. Semtex-2.
20 Dec 1996: 2D Cartesian/Fourier (i.e. 3D periodic) spaces. Semtex-3.
03 Feb 1997: Heat/scalar transfer supported.
06 Jun 1997: Cylindrical solutions in 2D or 3D supported. Semtex-4.0.
08 Aug 1997: Generalized prime factor FFT routines. Semtex-4.1.
25 Aug 1997: Massless particle tracking. Semtex-4.2.
09 Sep 1997: Eddy-viscosity LES. Semtex-4.3.
18 Dec 1997: Concurrent execution with MPI. Semtex-5.0.
06 Mar 1998: Improved vectorization & IO performance. Semtex-5.1.
12 Mar 1998: RNG eddy-viscosity model added. Semtex-5.2.
7 Apr 1999: Mixed BC type added. Semtex-5.3.
13 Apr 2000: Fix pressure BC modal bugs, improve vectorisation. Semtex-5.4.
1 Jun 2003: Adopt standard C++ libraries wherever possible. Semtex-5.5.
1 Nov 2004: Cylindrical coordinate/3D code exponentially convergent. Semtex-6.
1 Dec 2004: Mac OSX port -- filenames no longer case-sensitive.
Notes for specific systems
--------------------------
1. Linux: the GNU FORTRAN library may be called f2c or g2c,
apparently depending on the release of g77 installed. Makefiles
assume g2c, but you may have to change that to f2c or make a symbolic
link from /usr/lib/libf2c.a to /usr/lib/libg2c.a if you have trouble
in the link stages of compilation.
--
$Id: README,v 8.1 2015/04/20 11:14:13 hmb Exp $