gridgen

所属分类:数学计算
开发工具:Visual C++
文件大小:528KB
下载次数:365
上传日期:2008-06-26 19:37:42
上 传 者simba163
说明:  gridgen是一款强大的网格生成程序,可以做三维的有限元网格划分
(gridgen is a powerful mesh generation process, can do three-dimensional finite element mesh)

文件列表:
gridgen\gridgen\.indent.pro (558, 2007-10-18)
gridgen\gridgen\broyden.c (2993, 2007-10-18)
gridgen\gridgen\broyden.h (1121, 2007-10-18)
gridgen\gridgen\c99-min\clog.c (16534, 2007-10-18)
gridgen\gridgen\c99-min\cmplx.c (7618, 2007-10-18)
gridgen\gridgen\c99-min\complex.h (5826, 2007-10-18)
gridgen\gridgen\c99-min\mconf.h (4926, 2007-10-18)
gridgen\gridgen\c99-min\protos.h (6342, 2007-10-18)
gridgen\gridgen\c99-min\stubs.c (2606, 2007-10-18)
gridgen\gridgen\CHANGELOG (1240, 2007-10-18)
gridgen\gridgen\config.h.complex (430, 2007-10-18)
gridgen\gridgen\config.h.in (388, 2007-10-18)
gridgen\gridgen\config.h.nocomplex (447, 2007-10-18)
gridgen\gridgen\configure (172201, 2007-10-18)
gridgen\gridgen\configure.in (2461, 2007-10-18)
gridgen\gridgen\CUSTOMISE (1202, 2007-10-18)
gridgen\gridgen\delaunay.c (7439, 2007-10-18)
gridgen\gridgen\delaunay.h (1336, 2007-10-18)
gridgen\gridgen\examples\addheader.sh (107, 2007-10-18)
gridgen\gridgen\examples\grid_examples.pdf (278977, 2007-10-18)
gridgen\gridgen\examples\makefile (376, 2007-10-18)
gridgen\gridgen\examples\mkprotogrid.6.awk (461, 2007-10-18)
gridgen\gridgen\examples\prm.0 (108, 2007-10-18)
gridgen\gridgen\examples\prm.1 (107, 2007-10-18)
gridgen\gridgen\examples\prm.2 (107, 2007-10-18)
gridgen\gridgen\examples\prm.3 (108, 2007-10-18)
gridgen\gridgen\examples\prm.4 (106, 2007-10-18)
gridgen\gridgen\examples\prm.5 (108, 2007-10-18)
gridgen\gridgen\examples\prm.6 (109, 2007-10-18)
gridgen\gridgen\examples\proto.6 (31499, 2007-10-18)
gridgen\gridgen\examples\vg.m (1183, 2007-10-18)
gridgen\gridgen\examples\viewall.m (255, 2007-10-18)
gridgen\gridgen\examples\viewgrid.m (3941, 2007-10-18)
gridgen\gridgen\examples\xy.0 (1110, 2007-10-18)
gridgen\gridgen\examples\xy.1 (869, 2007-10-18)
gridgen\gridgen\examples\xy.2 (869, 2007-10-18)
gridgen\gridgen\examples\xy.3 (63, 2007-10-18)
gridgen\gridgen\examples\xy.4 (1257, 2007-10-18)
... ...

gridgen Orthogonal Grid Generator Version 1.45 Copyright 2001 CSIRO Marine Research GPO 1538 Hobart TAS 7001 Australia Please send comments and bugs to Pavel.Sakov@marine.au There is no warranty whatsoever. Use at your own risk. These code may be freely redistributed under the condition that the copyright notices are not removed. You may distribute modified versions of this code UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE SAME FILE REMAIN UNDER COPYRIGHT OF CSIRO, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS. 1. Build and install The code is being developed and used under Linux/gcc/i386 platform and essentially uses the C99 complex arithmetics available on this platform. To compile it `gridgen', run: ./configure make (make install) 2. Portability This code should compile an all platforms with gcc. It is known to compile on Linux/gcc/i386, Cygwin/gcc/i386, Djgpp/gcc/i386, and SunOS/gcc/sparc. On Linux/gcc/ia*** you may need to remove the optimisation flag -O2. Make sure that you use GNU make. Beware that the configure script currently does not do much more than a couple of checks. It should be viewed rather as a prototype for the future than a multi-platform configuration tool. 3. Documentation At the moment, there is not much documentation with `gridgen'. To get familiar with it, I would suggest the following sequence: 1. Read this file 2. Compile `gridgen' 3. Read examples/README 4. Reproduce examples 5. Read output after running "gridgen -a" and "gridgen -h" 6. There are a number of real-life grid examples on http://www.marine.csiro.au/~sakov 4. Features. Following is a list of some particular features of `gridgen', to indicate what it can do and what it can not. 1. `gridgen' generates a grid based on the domain boundary and the designated locations of the grid corners. 2. `gridgen' can handle simply connected regions only. If you have a region with an island or re-connecting channels, you have to use masking. 3. Unlike many other generators, `gridgen' allows multiple corners (rather than just 4 corners) in grid space. This gives one a great flexibility in regard to generating grids for complicated regions. 4. Unlike many other generators, `gridgen' does not allow to specify cell size explicitely. One can influence the cell density by: A. Changing positions of the corners. Compare grids for examples 1 and 2 from the package; they demonstrate how the cell density may be changed via the positions of the grid corners. B. By specifying node coordinates in grid space. This is done via the entry `grid' in the parameter file. This entry points at the file that contains node coordinates in index space scaled to 1x1 square. Two examples of using this technique may be seen at http://www.marine.csiro.au/~sakov/fitzroy.pdf (note elongated cells in the river); and http://www.marine.csiro.au/~sakov/torres.pdf (note the elongated cells in the narrowing). Also, see example 6. Despite the flexibility of `gridgen', I still find it difficult or impossible at times to achieve some specific grid characteristics for regions far from the boundary. This particularly refers to the alignment of the grid cells in a certain (flow) direction or to obtainining the desired cell density. 5. Because `gridgen' is based on the (exact) Schwarz-Christoffel formula, it performs fast and is numerically robust. 6. Beware that each boundary vertex represents a singularity in the Scwartz-Christoffel transform. To generate a smoother grid, for a section of the boundary without corners (which will become a strait line in the grid space), avoid putting big deviations from the strait angle (this may result in a big deviation from orthogonality); try making sharp turns by using a few smaller turns rather than one big turn; or move the boundary polyline a away from the water. Also, try to make the angles in the boundary polyline at the location of designated corners close to the right angle. 7. To generate a grid with aspect ratio close to 1, look at the value of "conformal modulus" reported in the log generated by `gridgen' with "-v" option, and make the ratio (ny - 1) / (nx - 1) close to this number. 5. Acknowledgments `gridgen' uses the following public code/algorithms: 1. CRDT algorithm by Tobin D. Driscoll and Stephen A. Vavasis -- for conformal mapping. 2. `Triangle' by Jonathan Richard Shewchuk -- for Delaunay triangulation. 3. `SCPACK' by Lloyd N. Trefethen -- for Schwarz-Christoffel transform. 4. `DOPRI8' by E. Hairer, S.P. Norsett, G. Wanner -- for solving ODEs. 5. `libavl' by Brad Appleton -- for AVL binary tree code. 6. Shamos-Hoey algorithm implementation by softSurfer -- for testing a polyline on self-intersections. Please acknowledge the use of this software in publications, e.g.: "Orthogonal grid generation software was provided by Pavel Sakov and is available at URL: http://www.marine.csiro.au/~sakov/gridgen.tar.gz". Good luck! Pavel Sakov

近期下载者

相关文件


收藏者