© Copyright February 2012, January 2021

Web site: https://acwhyte.droppages.com

This document describes the essential checking requirements necessary to ensure that a Finite Element Analysis (FEA) has a reasonable chance of being correct. Gross errors in the input and output data should be highlighted at an early stage in the analysis, and hence costly re-runs avoided. The checking requirements described should be considered the __minimum__ necessary. Additional checking may be required to ensure confidence in the analysis.

It is absolutely essential that FEA input and output data files are checked by the engineer before accepting the results for assessment. Experience of using FEA over many years has shown that it is very easy to make mistakes in the input data, and it is unlikely that correct results will be obtained first time.

The main aim is to ensure that essential minimum checking, of the input and output data, is carried out so that the analysis has a reasonable chance of being correct and that any gross errors are highlighted at an early stage, and hence costly re-runs of the analysis are avoided. The success of the check is critically dependent upon the pre and post processors available and the engineer knowing how to get the most out of them. The
use of high-resolution graphic facilities, for mesh and loading checking, and contour plotting of results, is essential.

One of the big problems I experienced was trying to convince managers and non-specialist engineers the importance of working to a correct checking
procedure, regardless of how urgent the results were required. This is especially important when using FEA for stress analysis – after all someone could get killed if you got the answer wrong. I found it helpful to explain, by a step by step procedure, just what is involved in the checking of a finite element analysis.

The checking procedure presented in this document is largely based on my experience in the boiler and pressure vessel industry, but the procedure should
be applicable to other industries.

It is assumed that the engineer has made the correct decisions as regards to the element type, modelling and mesh refinement, material properties, and loading of the model (these important aspects are discussed in many textbooks such as references 1 to 5). If this has not been done then the results will be wrong no matter what amount of checking is done.

It is also important to complete a file log for the project. This typically includes general information such as: the project name and number, variation number, FEA program being used, pre and post processors used, computer used and its identification number. This would be followed by the file details
such as: the file type and identification of any database files, plot files, dump files, model index, load case index, the creation date of the file, status and comments, and the engineer carrying
out the analysis. Although this is often seen as a chore, it is the only way I know of that has a reasonable chance of keeping track of a project.
A typical example of a file log is given in Appendix 1 below. There are six basic items of data that require to be checked by the engineer:

- Title Data.
- Geometry Data.
- Material Data.
- Loading Data.
- Boundary Conditions.
- Results.

The first five items are related to the input data. Item 6 is related to the output data. Each item will now be discussed in detail with regards to the checking that requires to be done. Ideally a hard copy of the input and output data should be obtained. However, it is appreciated that with the prodigious amount of data now available from FEA this may not be practicable and checking from the computer screen will be necessary.

**Step 1**. Title Data Check(1). Go to the front of the data file and check the title data and unique reference number to confirm you are looking at the correct project and computer run.

**Step 2**. Title Data Check(2). Go to the back of the data file and check to see if there are any warning or error messages (they are usually at the back of the file). If so, resolve these with a re-run if necessary.

**Step 3**. Title Data Check(3). If all is well at Steps 1 and 2, log the run into a file log so as to keep track of the runs you are doing. A typical example of a file log is given in Appendix 1 below.

If all is correct, you can proceed to check the Geometry Data.

**Step 4**. Geometry Check(1). Go to the listing of the generated mesh co-ordinates. You need to check a few key co-ordinates to confirm that the model geometry and
magnitude of the units are as you expect. These key co-ordinates should cover the extremities of the mesh in addition to the centres and related co-ordinates of any radii. Do this check
in conjunction with a geometry plot.

Pay particular attention with axisymmetric models. I have known cases where diameter was
input instead of radius (well usually it is the radius that is required, but the program you are using might just be different, refer to your program instructions).
Where an axisymmetric model extends to the centre line axis it is usual that a small radii is required, refer to your program instructions. Check the position of the centre line.
I have known of cases where the mesh was reversed and instead of analysing a pressure vessel what was analysed was an hourglass! See the examples in Figure 1.

**Step 5**. Geometry Check(2). Get a shrunken geometry plot and check to see if there are any missing elements? I have known this to happen in several occasions.
These missing elements will show up as a hole or a gap in the shrink mesh. Examples of a shrink plot are shown in Figure 2.

**Step 6**. Geometry Check(3). You need to check for any superimposed (overlapping) elements. This error can be difficult to spot. I have known this to happen with brick elements.
This error does __not__ show up on a shrink plot and is usually highlighted by a warning of boundary extra surfaces. The use of a colour screen will often highlight this error, see Figure 3.
Some programs require a flag to be set so that a print out or list of the boundaries can be obtained, refer to your program instructions.

**Step 7**. Geometry Check(4). If the mesh contains mixed element types. You need to check that these are connected correctly. Sometimes they will show up on a shrink plot
(for example the surface heating elements, Figure 2), but sometimes they do __not__ (for example the mixed axisymmetric and beam elements, Figure 4). If plane or line reinforcement
elements are used a check on the thickness is required as this also does __not__ show up on a shrink plot.

If all is correct, you can proceed to check the Material Data.

**Step 8**. Material Properties Check(1). Go to the material properties list and check the magnitude and the units. I have found that many errors are associated with wrong
material data units. The units must be consistent with the geometry and loading. With some programs this restricts the units to be used. Some material errors will be highlighted
as error messages, in other cases the program will run but only a scrutiny of the results will show that something is amiss. Errors in thermal conductivity or specific heat capacity are
particularly difficult to identify, as they do not show up on plotting routines. Serious errors in conductivity or specific heat will have fatal consequences on the thermal stresses calculated
from the temperature distribution.

Table 1 gives a few examples of what to look out for:

Table 1 Material Properties |

Modulus of Elasticity (Young’s modulus), E. Check the value and units. A typical value for steel at room temperature is
E=200000 MN/m^{2} = 200000 N/mm^{2} (29*10^{6} lbf/in^{2}). Some programs require the input as E*10^{-6}, refer to your program instructions.
A gross error in the Modulus of Elasticity alone usually shows up in the displacement results. |

Poisson’s Ratio,n. This has no units. A typical value for elastic analysis of metals is 0.3. Where modifications to Poisson’s ratio are made, such as smeared tube sheet modelling, a value of n >0.5 will result in an error. In practice n = 0.49 is about the maximum value allowed. |

Coefficient of Thermal Expansion, a. A typical value for carbon and low alloy steels at room temperature is a =12*10^{-6}/°C (6.7*10^{-6}/°F). For austenitic stainless steel a is about 30% higher. Some programs require the input as a*10^{6}, refer to your program instructions. A gross error in the Coefficient of Thermal Expansion alone usually shows up in the stress and displacement results. |

Density, r. Particular care must be taken with the units of density. The units must be compatible with the geometry, material units such as thermal conductivity, and loading data such as heat transfer coefficients. Some programs require the mass density to be input while others require the weight density. Some programs require the mass density to have acceleration input, refer to your program instructions. A typical value for carbon steel is r =mass density 7850 kg/m^{3} (490 lb/ft^{3}), or weight density 77008.5 N/m^{3}. For austenitic stainless steel a typical value of r =mass density 7970 kg/m^{3} or weight density 78186 N/m^{3}. Gross errors in density may show up in the stress and displacement results. |

Thermal Conductivity, k. A typical value for carbon steel is about 45 W/m°C (26 BTU/ft·hr°F). For austenitic stainless steel a typical value is about 20 W/m°C (12 BTU/ft·hr°F). Some programs with fixed format invariably require the length dimension to be the metre, refer to your program instructions. |

Specific Heat Capacity, Cp. A typical value for steel is about 500 J/kg°C (0.12 BTU/lb°F). Some programs require the input per unit volume J/m^{3}·°C, i.e. the value in J/kg°C must be multiplied by mass density to give J/m^{3}·°C, refer to your program instructions. |

**Step 9**. Material Properties Check(2). If there are elements with different material properties, you need to check the regions where they apply. If the elements have different
properties in different directions then a check on the properties and their directions is essential.

If all is correct, you can proceed to check the Loading Data.

**Step 10**. Loading Check(1). Go to the loading list and check the units. Again I have found that many errors can occur with these units. The loading units have to be consistent
with the geometry and material units.

Table 2 gives a few examples of what to look out for:

Table 2 Loading Data Units |

Point Loads on axisymmetric elements. It is essential to check, with your program instructions, how the load is applied. Is it: a total load or a load per unit length of circumference or a load per radian of the circumference? |

Thermal Loading in the form of heat transfer coefficients must be in compatible units with the geometry and the prescribed temperature units. Typical units are W/m^{2}·°C and can typically range from 2 to 2000 W/m^{2}·°C (0.35 to 350 BTU/ft^{2}hr°F). Surfaces that are not loaded are generally assumed to be adiabatic. |

Prescribed Temperatures must be in compatible units to the material properties and thermal loading, i.e. thermal conductivity, specific heat capacity and heat transfer coefficients. |

**Step 11**. Loading Check(2). Get a vector plot of the loading. This is one of the most useful plots for checking the magnitude, direction and points of application of mechanical
and pressure loading. The length of the vector gives an indication of the relative magnitude of the loading. In combined loading cases the vector plot will also plot the combined loading.
It is good practice to run separate loading data files and check the vector loading for each case, as well as the combined loading case. An example of a typical vector loading plot is shown
in Figure 5.

**Step 12**. Loading Check(3). If there are mixed elements types, check that these are loaded correctly. For example, axisymmetric line reinforcement on beam elements are
sometimes used to simulate bolts. The applied strain is usually applied along the length of the element __not__ in the global direction, but refer to your program instructions.

**Step 13**. Loading Check(4). If there is harmonic loading simulation, a check on the harmonic number, or phase angle is required, refer to your program instructions.

If all is correct, you can proceed to check the Boundary Conditions.

**Step 14**. Boundary Condition Check(1). All runs must have applied boundary conditions. These will be in the form of fixed (i.e. zero) or prescribed non-zero displacements
(deflections and/or rotations). If there are prescribed non-zero deflections, check the units, these should be compatible with the geometry units. For non-zero rotations check the required
units, they usually are in radians, but refer to your program instructions. In general, errors in the boundary conditions usually show up in the deflection plot. For example, when using
axisymmetric elements at least one node must be held in the axial direction otherwise floating of the model usually occurs. In other cases spurious stress concentrations may occur.
These are best seen in a Von Mises stress plot.

**Step 15**. Boundary Condition Check(2). Check the nodal position, magnitude and sign direction of fixed and any prescribed non-zero displacements.

**Step 16**. Boundary Condition Check(3). Get a boundary indicator plot. This is one of the most useful plots for checking the boundary conditions. If 3-D brick elements are used
then a face indicator plot is also useful. Spurious lines on this type of plot would normally indicate unconnected elements. Figures 6 and 7 show typical examples of boundary indicator and
boundary face plots.

**Step 17**. Boundary Condition Check(4). If any special boundary conditions are being applied then check these very carefully, refer to your program instructions. Some
programs will allow nodes to move at any prescribed angle to the global co-ordinates, checking of the direction cosines is required. Other programs have de-coupling facilities.
Careful checking of the elements and nodes affected as well as the direction variables is required.

If all is correct then the input data would seem to be satisfactory. Have a look at the checklist in Appendix 2 below. If you are satisfied then proceed to check the results.

**Step 18**. Results Check(1). If you have not already done so at steps 1, 2 and 3 check that the load title, reference number and warning or error messages are satisfactory,
and log the run into the file log.

**Step 19**. Results Check(2). Go to the displacement results and check that the nodes with fixed or prescribed displacements are as expected, i.e. do they correspond with
the boundary conditions input that was checked at Steps 14 and 15. Note that results for fixed nodes should be zero, but often the result output has a very small rounded non-zero result.
Gross discrepancies in the displacements are often the result of errors in boundary conditions. Less obvious discrepancies are usually the result of errors in geometry, material properties,
or applied loading.

**Step 20**. Results Check(3). Get a deflection plot, a typical example is shown in Figure 8. Study the plot and see if it makes sense, i.e. does it correspond with the applied
loading and the boundary conditions? Check where possible the magnitude and sign of the displacements against simple theory. For some structures, e.g. pressure vessels, it should
be possible in membrane areas to make a close estimate of the order of magnitude of the displacements by using textbook solutions from Roark or Timoshenko, etc. If the direction of the
deflections look wrong this usually indicates that the applied loading direction is wrong. However, it could be a result of the model being incorrectly orientated, see for example Figure 1.
In discontinuity regions it can be more difficult to predict the magnitude and direction of the displacements, for example, in Figure 8 the deflections in the knuckle region of the torispherical
head are inwards even though the pressure is internal.

** Step 21**. Results Check(4). If mechanical loads are applied a check on the vector sum of the loads should be done. The deflated results should correspond to the sum
of the applied loads. The boundary reactions should balance the net external loads. If they do not then something is wrong, usually the direction of the applied loading.

**Step 22**. Results Check(5). If thermal loading is applied, get temperature contour plots, a typical example is shown in Figure 9. Study the plots and see if they make sense, i.e. do
the contours correspond to the prescribed input temperature? Is the heat flow in the directions expected? Are there any unexplained spurious temperature concentrations? If so, then this
could indicate something is wrong with the applied temperature loading or the material properties.

**Step 23**. Results Check(6). Go to the end of the stress results list, there is usually a summary of the highest stressed nodes. Identify the highest stressed nodes. Locate these
nodes on a geometry plot. The highest stresses usually occur at areas of local structural discontinuity (for a discussion on structural discontinuities refer to reference 6). If this is not the
case then this needs to be explained.

** Step 24**. Results Check(7). Get a Von-Mises stress contour plot, a typical example is shown in Figure 10. Study the plot and see if it makes sense, i.e. do the stress contours follow
the expected loading on the model? There will be areas of stress concentration corresponding to the points of highest stress identified in Step 23. Identify any other points of stress
concentration. Are there any unexplained spurious stress concentrations? If so, then this could indicate something is wrong with the geometry, material properties, loading or boundary
conditions.

**Step 25**. Results Check(8). Go to the list of stress results and check a few sections against alternative theory. As in Step 20, with some structures, e.g. pressure vessels,
it should be possible in membrane areas to make a close estimate of the order of magnitude of the stresses by using textbook solutions from Roark or Timoshenko, etc. Note that in areas
of pressure loading the stress normal to the surface should correspond approximately with the magnitude and sign of the pressure loading. Also on free surfaces the shear stress should be
zero or of a low magnitude.

In discontinuity regions checking the stress results against a junction discontinuity analysis, like reference 6, can add to the confidence that all is well
with the FEA. If experimental testing has been done (e.g. strain gauges, photo-elastic analysis, thermocouples) then compare the FEA results with the test results and resolve any
differences.

**Step 26**. Checklist sign-off. If you have reached this step then there is a good chance that the input data and results of the FEA are correct. You can sign off the checklist, an
example is given in Appendix 2 below. You can now proceed to the assessment of the results.

At this point if the managers are not convinced of the need to do the appropriate checking, as outlined in Steps 1 to 26 above, then it is time to invite them to stand beside a pressure vessel when it is being tested for the first time. If that does not bring them to their senses I do not know what will.

1. NAFEMS, ‘A Finite Element Primer’ Published by the National Agency for Finite Element Methods and Standards, Department of Trade and Industry, National engineering Laboratory, Glasgow 1987.

2. Zienkiewicz, O.C., ‘The Finite Element Method, 3rd Edition Published by McGraw-Hill, 1977.

3. Irons, B. and Ahmad, S., ‘Techniques of Finite Elements’, Published by Ellis Horwood Limited, 1986.

4. NAFEMS, ‘A Finite Element Dynamics Primer’, Edited by D. Hitchings, Published by the National Agency for Finite Element Methods and Standards, Birniehill, East Kilbride, Glasgow 1992.

5. NAFEMS, ‘Introduction to Nonlinear Finite Element Analysis’, Edited by E. Hinton, Published by the National Agency for Finite Element Methods and Standards, Birniehill, East Kilbride, Glasgow 1992.

6. Whyte, Andrew C., 'Basic Discontinuity Analysis of Multishell Axisymmetric Junctions', Self-published 1994.

You can download a copy of

You can download a copy of

--Top-- |

--Technical-- |

--Home-- |