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?