By Albert Hines.
COMPARISON OF FINITE ELEMENT MESHING SOFTWARE PACKAGES This document reflects the best information that I can gather to date on the most recent versions of some popular meshers as of 2-10-99. Other programs exist and may be better or worse than those listed here. These scores reflect only my experience with a few commercial packages. They are not exhaustive in any respect. But, they are the result of careful and expensive investigation. These meshes were used for heat transfer and fluid flow predominantly, NOT STRESS ANALYSIS. The desired analysis is the crucial factor in determining whether or not a particular meshing package will achieve the mesh quality and refinement required for a simulation. (e.g. mesh quality is almost a non-issue for heat transfer, but not for stress) The geometries that I have considered are aerospace turbine engine components: double curved, hollow, thin walled, 3-D structures. Bulky, constant thickness, or spindly geometries will behave differently, e.g. engine blocks, pressure vessels, oil rigs ... I have attempted to be a bit more objective here than with previous releases. I use whenever possible, actual data in place of my "feelings". These data are obtained using CLOSE TO DEFAULT meshing parameters. By "close to default" I mean that some values must be specified. Also default values may not give a comparable result (e.g. FEMAP's default is 1.5x ratio on tetra size increase from the surface. This produces WAY fewer nodes/elements than anyone else. So I use the 1.0x to conform to other vendors' defaults, giving a node count that is more meaningful to compare with competitors'.) I use here the BEST mesh (in my estimation) that I can obtain quickly after trying several different option combinations that are all "near default". This is always a big issue with the technical support crowd. They inform me "Yeah, but you should use the super- double-secret parameter xfix=0.38 to achieve a better mesh," or something to that effect. I am approaching this from a plain-dumb-user-like-me point of view. I give it a surface mesh and here's what it gives me. Many of these packages offer much more than meshing: assignment of boundary / initial conditions, material property libraries, plotting, solvers, just to name a few. The price tag normally includes more than just meshing. Although I consider meshing to be over-priced in general, these other functions must be taken into account when comparing the values. I have not done that in this survey. Please direct any ideas / feedback to my personal e-mail: ahines@novagate.com ------------------------------------------------------------- The data tabulated below is derived from a single geometry with two surface meshes: somewhat coarse and somewhat dense. The part is a thin, highly double-curved solid with several complex perforations. An identical triangular surface mesh was input to all meshers. Quality was analyzed on all resulting meshes with MeshCAST. Hardware was a Silicon Graphics Power Challenge L with 8 processors and 2.5 gigabytes of RAM. However, all jobs were run on a single processor with the other processors being heavily utilized. ALGOR, however, was run on an HP-735 with 256 mB RAM and an otherwise un-utilized cpu. "#nodes/elements" refers to the number of nodes and tetrahedral element in the solid mesh. Clearly this number is adjustable through many parameters. THIS IS FOR NEAR DEFAULT SETTINGS! "cpu" column refers actually to the WALL CLOCK TIME from issuing the "go mesh it" command until control was restored to the user (which IS NORMALLY MUCH LONGER than when it said it was finished meshing). "min.ang" refers to the minimum dihedral (solid) angle in the entire mesh. "max.ang" gives the corresponding maximum. MAXIMUM DIHEDRAL IS OFTEN THE MOST CRITICAL QUALITY CRITERION. "Amin/Amax" are minimum and maximum aspect ratio, another important measure of quality. Order listed reflects my personal "best-to-worst" opinion. /*****************************************************************************/ Versions tested: --------------- ALGOR (Nov. 1997) FEMAP V5.0 Hypermesh: v3.0 Meshcast: v1.6.0 (concurrent to ProCAST v3.1.2) P3: v8.0 --------------- MESH #1 - higher density ------------------------ MESHER #nodes/elements cpu* min.ang*/MAX.ANG* Amin*/Amax* _____________________________________________________________________ PATRAN 104552/555978 8.8 min. 71.4 / 161.9 1.02 / 7.3 HYPERMESH 57696/268079 4.5 min. 72.0 / 164.8 1.01 / 9.8 FEMAP 94776/496859 7.5 min. 71.4 / 166.6 1.02 / 8.5 MESHCAST 112415/601470 12.2 min. 71.4 / 179.9 1.02 / 8.3 ALGOR - core dump after 6 hours. _____________________________________________________________________ MESH #2 - lower density ------------------------ MESHER #nodes/elements cpu* min.ang*/MAX.ANG* Amin*/Amax* _____________________________________________________________________ HYPERMESH 12359/ 47563 0.6 min. 72.8 / 160.9 1.05 / 12.1 PATRAN 20562/ 98065 1.3 min. 72.0 / 161.3 1.06 / 7.2 FEMAP 11455/ 42469 1.1 min. 73.9 / 164.0 1.08 / 11.5 MESHCAST 19607/ 91406 1.5 min. 72.0 / 179.3 1.04 / 19.6 ALGOR - core dump after 5 hours. _____________________________________________________________________ /*****************************************************************************/ I cannot give a definitive comparison of surface meshing, only impressions. Surface meshing is a highly user dependent art. Unfortunately, I cannot be an expert user for all these packages. The numbers below reflects the time for me to climb the learning curve for knowing generally where all the buttons are, what they do, and how well they work. For overall scores DO NOT blindly sum every column! Individuals will weight the rows differently according to their needs. SOFTWARE(2): PATRAN MESHCAST HYPERMESH ALGOR FEMAP ----------------------------------------------------------------------------- GENERAL Surface Meshing 3 8 3 5 Robustness (a) 7 7 5 1 7 Flexibility (b) 6 6 6 4 6 Vendor meshing (c) 8 6 8 Ease of use (d) 6 7 8 4 7 Mesh editing (e) 6 6 9 3 7 Error reporting (f) 4 3 8 3 5 CAD I/O (g) 5 4 5 3 6 Technical support 7 8 6 3 ? Ease of install/maintenance 7 9 5 8 8 "Bug-free-ness" 6 5 7 ? 6 COST (h) HIGH HIGH HIGH HIGH HIGH ----------------------------------------------------------------------------- NOTES ----- (a) Should mesh the first time with given parameters. This refers to tetrahedra only. (b) Includes things like a finely meshed boundary with coarsely meshed interior, ignoring features smaller than a given size, multiple element layers through thin sections, multiple meshing algorithms, etc. Refers predominantly to tetrahedral meshing. (c) For many other geometries, I could not successfully mesh the part, so I sent the geometry to the software vendor. In other cases, I sent it specifically to evaluate the software run under the developer's care. Score reflects willingness, speed, size, and quality of the mesh received. Lack of a score means I have not asked the vendor to mesh anything. (d) I am partial to a Mac-like interface, which I consider to be the computer world 'reference standard'. Program should require minimal training and manuals. All options should be available on the menus (no hidden or cryptic commands). This is not just personal preference, but time and dollars in training. As a side note, Algor scores low not because the interface is so bad, but because when I do what seems obvious (after taking training classes and studying the manual), it doesn't work. (e) Ease and effectiveness of changing a mesh locally without having to remesh the entire geometry or making local refinements without have to reduce global element size. Again Algor ranks lows because mesh repair in Algor is strictly in the domain of the expert, though for them it may be flexible. (f) If an operation fails, being the picky sort that I am, I do not except "bus error, core dumped" as acceptable error reporting. Although Hypermesh sometimes crashes, it somehow manages to save the session before exiting. Bravo! It also, if the mesher fails it highlights the problem area. The score also takes into account that insignificant warnings common to every element should only give one message, not one for every element (FEMAP take heed!). (g) Notice the "O" in I/O. Most packages are now including I/O as a NO-COST FEATURE (PATRAN take heed). Thatt's a good thing. (h) My corporation pays for these packages. But in all honesty, a tet mesher is nowadays a commodity. I think the price of a mesher should be in the $500-$2000 price range depending on the other features. ----------------------------------------------------------------- GENERAL IMPRESSIONS / CONCLUSIONS AND OTHER WHIMS PATRAN :) Recent version generally give the best quality tetrahedra to date. It has many options. It is fast and robust. If sufficient system resources are available, it does a great job. A vast improvement over version 6. It has hooks to many commercial solvers. :( Surface mesher gave very disappointing results. It's extremely slow. Hard to keep track of poorly or unmeshed surfaces for repair/remeshing. PATRAN cannot do multiple materials with an interface easily, which is an absolute necessity for me. Cannot easily select/manage elements by material. Takes a huge amount of system resources (exhausted >3 Gigabytes of real and virtual swap for an attempted mesh of around a million tetrahedra). The UG/Parasolids interface functioned OK in previous versions, but would not on my SGI. PATRAN hotline says "That's really weird. We've never seen that before. Ours works great." They worked with me for over a month and never resolved the problem on my machine. In all fairness, it probably would NOT be a problem for most users. MESHCAST :) Formerly my top rated mesher and still good. My first choice for editing large bad quality CAD files and getting a water tight surface mesh which can then be meshed or exported. Has amazingly small executable files. Handles multi-materials better than any software I know of. Only software tested that gives multi-layers through walls for permitting boundary layer flow. Imports parasolid geometry cleanly. :( Has had no notable improvements in several years. Prefers to bomb without explanation rather than tell where errors are and give an opportunity to fix them. Element quality is now poorest of all meshers tested, even though the above quality checks were performed on meshcast. HYPERMESH :) An indespensible tool for massaging a surface mesh, creating simple 2-D or structured 3-D mesh, quick tet meshing, etc. The crescent wrench of meshing in my book. Runs well on high end PC's and does nice post-processing. Is now packaged with plotting and optimizing capability. Features nice CATIA access and a few other packages nominally. Best in class for organizing (NOT MESHING!) multiple materials. :( Not normally sufficient for taking a complex model from CAD to solid mesh, though it's OK for simple models. Previous version gave the poorest element quality, but version 3.0 is improved over version 2.x for performance as well as options and quality. FEMAP :) I am new to FEMAP. Tetrahedral meshing is impressive. Many options. Runs well (supposedly) on PC. Accepts many CAD formats. Does pre/post processing. :( Unforgiving: no undo, no interrupt. Slowest graphics in class. The graphics window tends to go away (at least on the unix version) and although nothing is visible, take minutes or hours apparently updating the nonexistent screen with no interrupts allowed! Although meshing is fast, it way over-reports ELEMENTS/MINUTE, basing it on incorrect data. FEMAP is overly concerned with making the user specify complete material property data when it's not desirable for meshing. ANSYS :) A fellow engineer once told me that he would recommend ANSYS just for the awesome documentation in the manual that shows most of standard textbook (e.g. Timoshenko ...) problems and how to model them numerically. Forte is stress analysis. :( Meshing is stunningly awkward. On a supercomputer, ANSYS was able to read in approximately 5 (five) elements per second, thus it is apparently not intended for I/O with other vendors. ALGOR Best advertising/marketing in class. Latest version (12) is dramatically improved in the user interface. But I haven't been able to test it well yet because of a problem accessing external file formats. Previous versions have not had this problem. Should be easy to fix if tech support would call. My previous versions offered the slowest mesher I have ever seen. Took hours instead of minutes, days instead of tens of minutes. Occasionally produced a tet mesh on simple geometry. I have never seen an "all hex mesh" even from technical support (except from trivial surface meshes), though they swear upon a Bible it's so. I have seen a mixed hex/pyramid/wedge/tetra mesh from them and tetrahedral meshes of complex geometries. Surface meshing was fair. I have met some very competent people working at ALGOR. I have had them mesh fairly complex parts, so long as they had only one material and didn't need any CAD repair. Technical support can be very defensive ("how dare you think our product dumped a core?"), leaning toward insulting ("how could an idiot like you suggest a bug in our flawless software?"). Have not tested their solvers, although rumor is they're OK on linear stress problems. SDRC Masters Series (IDEAS) Haven't tried this in latest version either. We stopped using it after a squabble over licensing prevented us from upgrading one seat for less than $40,000. Probably quite good judging only from versions of several years ago, but I really can't give any data to that effect. OCTREE Because of the lack of user interface, I have not tested OCTREE's latest and greatest releases. At last check, they were fast, reliable, good quality, and user impossible. OCTREE is available as a module in some meshing packages. TRUEGRID Still never tried it due to the ludicrous price. My impression is that it would take a while to build the first structured mesh of a part (~1 month). Afterward, CAD changes would be solid meshed nearly instantly with the same topology. This would have some VERY nice benefits in situations where cost and initial set up time is not an issue. HEXAR Builds a finite different-type hex mesh on a part, massaging the surface to stretch the mesh to the limits of the surface definition. Probably highly orientation dependent, but gives good quality all hex meshes. Price is, well if you have to ask, you don't really want it after all. Did I mention it only runs on CRAY class supercomputers?