President, Acom Consulting,Toronto, Ontario, Canada

Solid modeling is great for visualizing ideas but it's often misapplied in finite-element analysis.

One of the latest methods of slashing development time is to use the 3D models that CAD users create as a basis for finite-element analysis. In a perfect world, performing finite-element analysis on these models directly, rather than recreating data for this purpose, lets analysts concentrate more on analysis and less on syntax.

Solids appear to be a wise choice as a basis for FEA because FE meshing can sometimes take place directly on CAD geometry without modifications. The literature abounds with examples of engineers doing exactly this.

In real life, however, the interface between 3D CAD and FEA is seldom that simple. Solid CAD geometry almost always requires extensive modifications before it is suitable for meshing with finite elements. There also are occasions when solid CAD geometry is completely inappropriate for finite-element models.

Successful interfacing requires time, care, and an understanding of inherent limitations. A few practical examples demonstrate why using unmodified CAD geometry for FEA can lead to erroneous results.


There was no user intervention in generating a cooling-fin model built with h-elements. Unfortunately, default settings of an automatic mesh generator placed only one element across the fin thickness at the base where one would expect the highest stresses. To make matters worse, elements at the fin base are poorly shaped. The meshed model produces meaningless and potentially dangerous results. Maximum averaged Von Mises stress equals 10,600 psi.



Part 2: A Cooling Fin

Consider the task of examining stresses at the vertical base of a horizontal cooling fin after applying bending loads to its edge. The CAD geometry for the fin and a portion of the base plate are exported to an FEA program as a solid and meshed using default parameters in the automesher. An accompanying illustration shows the meshed model and resulting contour plot. But the mesh is not suitable for analysis and results are erroneous. What went wrong?

Automeshing is a purely geometric function. The mesh generator simply fills up the available space with elements because it knows nothing about the expected stress pattern. As a result, it places one or two elements across the fin thickness, many of them poorly shaped by a lack of depth. Considering the kind of elements used (second-order subparametric h-elements), one or even two elements are insufficient to model stress distribution where the fin meets the base. The mesh is incapable of modeling the stress pattern that will develop in the real structure.

This is not a fault of the automesher. Even the best automatic mesh generators provide no assurance of a good mesh. It's the analyst's responsibility to make sure the mesh can model a stress pattern according to the laws of mechanics. Several elements are required across the thickness to accurately model bending. However, meshing with greater density would call for a large number of small elements making a prohibitively large FE model. This means the solid CAD geometry is practically unsuitable for meshing with solid h-elements.

Furthermore, insisting on solid CAD geometry locks analysts into using solid elements. The only choice short of running a huge model is to use p-elements which can model bending even with only one element across the fin thickness.

However, p-elements produce a problem which was masked before by the low density of h-elements. The CAD-produced geometry contains reentrant corners, those with more than 180° internal angles, without fillets. A theoretically infinite stress occurs at the corners. P-elements try to model these stresses by increasing the polynomial order of their shape functions. The results reported by a p-element model with singularity depends on the user-required accuracy. As users request greater solution accuracy, the solver responds by increasing the p-order used by elements around the corner. The model reports higher stresses with each increase in p-order. This continues until the solver assigns the highest p-order allowed. Should the user reduce the element size, the situation still repeats itself. Stress in reentrant corners will never converge to a finite value.

In fact, results reported by the model in the illustration are close to results from a shell model discussed later only by coincidence. Had the user employed smaller p-elements or requested a lower convergence error, or both, the model would have reported much higher stresses.

Users must modify CAD-supplied geometry to deal with the inherent sensitivity of p-elements to singularities. For example, users may decide to add small fillets which would always exist in the real structure. The illustration Fin with fillets shows results from a p-element model with added fillets. Alternatively, when looking only for the highest stress, one might analyze a 2D plane strain slice from the middle of the fin, as it appears in the close-up. Of course, this requires modifying the CAD geometry. Another way around the problem of singularities is to recreate the geometry in the FEA program for use with shell elements as in the illustration Fins from shells. Let the geometry consist of planes located in the mid thickness of the original solids. Planes are easily meshed with shell elements which model bending well.

Part 3: Building Better FEA Models

Experienced practitioners suggest following several guidelines when using a CAD-FEA interface.

Decide whether solid elements are the right approach. Solution times may be prohibitively long when models contain enough solid element to generate an adequate solution. Solids should not be the first modeling choice just because they are automatically generated. Avoid the approach when solid elements produce overly large models or ones violating laws of mechanics. A better choice is to use finite-element geometry designed for shell elements.

Delete features of no structural significance. These features unnecessarily complicate the model. Defeaturing can take place either in a CAD package by producing FEA-oriented geometry or in FEA software by modifying the original CAD part. Deciding which details can be deleted or simplified requires careful engineering judgment.

Use structure symmetry when possible. Models can be significantly simplified when structure, loads, and boundary conditions show symmetry. The simplification requires modifying the original CAD geometry. Nevertheless, a simplified model is usually well worth the effort.

Estimate where to refine the mesh. An automatic mesh generator does not know where the mesh should be dense to account for expected stress concentrations. When left alone, it generates a mesh with element size dictated only by the characteristic dimensions of CAD geometry or by an automesher's default settings. A default mesh can produce misleading or dangerous results when, for example, a wall in bending is modeled with one solid element. The situation is less dramatic with self-adaptive p-elements because a single p-element is capable of modeling higher-order stress distributions.

Always check the mesh. Don't accept degenerated elements. Closely inspect automatically generated meshes and the default settings of your mesh generator. Automatic mesh generators tend to produce poor meshes when users request too few elements. Unfortunately, this is a common situation when users select an element size that is too large or when users struggle to limit model size. A good h-element mesh commonly requires many elements.

Consider p-elements for automatic mesh generators. P-elements have adaptability built in and need less judgment for sizing elements. An automatic mesh generator makes no judgments. It is more likely to generate an acceptable p-element mesh than one of h-elements. Experience indicates that a good h-element mesh comes from "fiddling" with generator settings and requires several trials. Often, creation of a good p-element mesh can take place with little need for user input. Also, an effective p-element mesh can be created manually without a mesh generator.

Create models with convergence analysis in mind. You can't estimate the accuracy of results without convergence analysis. Meaningful results should also include an error analysis. H-element mesh should be designed with regard to further refinement. P-elements tend to be easier on users because convergence comes automatically in the process of iterative solutions. When following the above recommendations, one may find it is still advantageous to create FEA-oriented geometry in CAD or to recreate the geometry in the FEA software.

 Filletless fin

The p-element model of the cooling fin also uses solid CAD geometry. The maximum averaged Von Mises stress is 24,600 psi. But because of a singularity (the sharp corner between fin and base), maximum stress would have gone much higher (to infinity) had the user refined the mesh, or requested lower convergence error, or both.

Fin with fillets

The p-element model of the cooling fin with fillets eliminates the singularity of the sharp corner and produces a maximum averaged Von Mises stress of 28,500 psi.

Fin in 2D

Another solution to the singularity problem would be to model only the fillet area. The 2D plane strain model of the middle slice from the cooling fin reports 26,200 psi of averaged Von Mises stress.




Part 3:

  • How Maximum Von Mises Stresses Compare
  • Fins from Shells




How maximum Von Mises stresses compare
Model Using CAD geometry "as is" and solid h-elements Using CAD geometry "as is" and solid p-elements The 2D plane strain model No interference. Model and shell h-elements generated in FE package
Cooling fin 10,600 psi, error unknown* 24,600 psi from a 5% convergence error and singularity** 28,500 psi from a 10% convergence error with added fillet** 26,200 psi from a 10% convergence error** width="2%">24,900 psi averaged stress and 27,300 psi nonaveraged. Error is unknown*
Elbow 50,600 psi with unknown error* 72,100 psi at 5% convergence error ** Not suitable for analysis as a 2D model 74,000 psi averaged stress. Unknown error
Butterfly valve plate Difficult to model with solid h-elements 35,700 psi from 10% convergence error* not suitable for analysis as a 2D model width="2%">Not suitable for analysis with shell elements
*Error analysis with h-elements requires several runs with increasingly refined mesh

**Convergence on local displacements, local strain enrgy, and global RMS stress

***Convergence on local displacement and local strain energy





Fins from shells
The same shell model reports nonaveraged maximum Von Mises stress of 27,300psi. Another solution to CAD geometry is to replace it with a shell model based on geometry created in an FEA program. Maximum averaged Von Mises stress is 24,900 psi.


Part 5: A Primer on H and P-Elements

H-elements are preprogrammed by code developers to model certain stress patterns within the element volume. First-order elements, for example, assume constant stress across the element while second-order elements model a linear stress variation within its volume. When engineers intend to model complex stress patterns, they must use many h-elements to approximate the pattern with simple constant or linear "blocks". The solution accuracy using h-elements requires solving several models with increasingly refined meshes.

P-elements are less restrictive and can assume different orders. In Pro/Mechanica, one example of a p-element code, polynomial order can advance from two to nine until the iterative solver decides further upgrading of element order is unnecessary and the solution has reached the user specified accuracy. Solutions using p-elements come complete with error estimation and users need not perform their own convergence analysis.

A mesher has filled a 90° thin-wall elbow with solid tetrahedral h-elements. Only one element is located across the wall thickness and all elements have poor aspect ratios. The mesh for the elbow solved to a maximum averaged Von Mises stress of 50,600 psi.

Part 6: Singularities Point to Problems

Anything that results in a theoretically infinite stress constitutes a singularity. Causes include simplifications of geometry, such as modeling corners instead of fillets. A load or support applied to a point of infinitesimal size also produces a singularity in the model. Granularity in the h-method may "overlook " a singularity.

For example, when an h-element sits in the vicinity of a sharp reentrant corner, it will report high, but finite, stress. A p-element, on the other hand, attempts to model infinite stresses until it hits its design limit which is the highest allowable p order. Therefore, the p-method requires more precise geometry, loads, and supports to avoid a potential for infinite stresses. As general guideline, fillets should be modeled in place of sharp reentrant corners, and loads and supports should be applied to finite areas rather than to abstract, infinitesimally small points.

Manually generated solid p-elements for the elbow reports stress of 72,100 psi. The same elbow modeled with shell elements built in an FEA package reports a maximum averaged Von Mises stress of 74,000 psi, which is more in agreement with the p-element model.

Part 7: Other Examples

Another illustration of difficulties is where a mesher has filled a thin-walled elbow with solid tetrahedral h-elements. This mesh reveals the same fundamental flaws of previous models: only one element placed across the wall and their lack of depth make them poorly shaped.

As in the first example, the mesh generator simply filled up the available space with elements. The automesher has no information on the expected stress patterns and cannot decide how many layers of elements should be placed across the wall. Users must make sure the finite-element mesh is capable of doing what it is asked. With one element across the wall thickness the meshed elbow cannot possibly model the bending which produces the predominant stress.

As before, there are several solutions. One would be to mesh the model with a few solid p-elements. However, it may be more efficient to model the elbow with shell elements even though it means recreating geometry by hand.

A butterfly valve plate illustrates another difficulty. It's meshed with h-elements to study the stress distribution around the generous fillets transitioning from the central shaft to side plates. The tetrahedral mesh in the illustration has been produced using unmodified CAD geometry. For the same reasons as before, the model is unusable for analysis. In fact, particulars of the butterfly geometry would require many small h-elements resulting in a large time-consuming model. In this case, the valve plate does not lend itself to modeling with shell elements. The only practical choice is to use p-elements. Results shown are based on automatically generated p-elements.

All three examples demonstrate how unmodified CAD geometry may lead to errors in FEA results. Cases where CAD-produced geometry can be used directly for FEA are relatively rare. CAD geometry represents shapes from real life while FEA often requires abstract geometry geared toward analysis. Structurally insignificant details are deleted, thin walls replaced by infinitely thin shells and, in case of symmetry, whole portions of a structure are removed from the finite-element model geometry. It often turns out that, by the time the model is properly prepared, there is little resemblance between CAD geometry and FEA geometry.

Attempts to use CAD geometry directly for FEA often result in huge and expensive models or, worse, in models violating basic laws of mechanics. Implementation of automeshing with p-elements offers less need for analyst judgment and is more likely to produce an acceptable mesh.


The butterfly valve plate has been meshed with h-elements. This mesh is unsuitable for analysis. Results of analysis of butterfly valve meshed with p-elements.