FEM contourplotter - conversion completed
- To: mathgroup at smc.vnet.net
- Subject: [mg88188] FEM contourplotter - conversion completed
- From: carlos at Colorado.EDU
- Date: Sun, 27 Apr 2008 07:01:06 -0400 (EDT)
The translation of the Fortran IV 1966 finite element contourplot to Mathematica is complete. Those interested in that specialized topic may download a mini test version from http://caswww.colorado.edu/courses.d/IFEM.d/IFEM.Ch27.d/IFEM.Ch27.index.html Click on ContBandPlotterMini.nb link. Download and execute. Self contained data. Tested so far under V4.1, 4.2 & 5.2. Untested under V6.0 as my laptop in Spain lacks it. Test plots take ~0.5 sec on 2.4 GHz MacBook Pro under 5.2. To run under 6.0 set DisplayChannel to Print (see top comment). The original Fortran code was roughly 9000 lines. Code was typical "write only" thesis spaghetti, with over 1000 GOTOs and (believe it or not) even a PAUSE statement! Mathematica code is about 800 lines. Imperative procedural logic reflects source, but could simplify later conversion to C or assembly. Posted mini is about 220 lines including test code. Size was reduced by deleting 6 element types out of 7, and removing an alternative divide & conquer contourplotting method. (D&C produces higher quality plots but is slower.) Code is slow (about 10K poly/sec) but that is enough for coursework. A C or assembly version will be needed for FEM production work (>=1M poly/sec) at the cost of portability. Worst flaw is the shoddy contour value labeling, done in a hurry. To see what's wrong, try resizing top plot with mouse. Advice on how to fix that mess welcome.