Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Checking the FEA quality 5

Status
Not open for further replies.

feajob

Aerospace
Aug 19, 2003
158
0
0
CA
Hi every body,

I would like to know how do you check the quality of your FEA for static linear stress analysis?

I know that an error estimation method was proposed by Zienkiewichz on 1987 and many other publications came later for this purpose. I am not sure if there is any adaptive mesh refinement strategy available based on this norm (in any commercial FEA code)! I use MSC.Nastran, but I am not sure if this error estimation method is available in Nastran too.

Usually, there are many small geometrical features in my models, so I do some geometrical clean up and then I mesh my model with HyperMesh. The mesh quality is very good (about 1 million degrees of freedoms for my quadratic tet meshes). My boss recently asked me, how we can be sure about the stress quality in the stress concentration zones? I thought that the best way is checking with error estimation norms. But, I would like to ask you first, may be some one have a better idea or easier way for this purpose. By the way, I found this forum very helpful.

Regards,

Ali
 
Replies continue below

Recommended for you

FEA is a tool and give as an approximation of the stress in the analysed parts.
If you will refine your mesh in the hot spot sectors you will have a different configuration of stress: much small area but higher stress, this thing is not necessarily more truth or much closer from reality.
In HM, your are lucky, you can use QI features. Try to use the Quality Index feature and ask to HM to optimize your mesh with this criterion.
You have some steps to do for a quality check:
*merge nodes with a convenient tolerance (pay attention to the value of tolerance, is very model dependent, start with very small value),
*use “edge” to detect disconnected elements, nodes, or duplicated,
*use “shrink” to detect duplicated (shell) elements,
*warping (shell), Jacobian, aspect ratio and others criteria if you want (I don’t known very well the criteria for the solid element, I work more with shell-plate and beam elements)
Some model imperfections can generate stress concentrations (unconnected nodes).
Hope this help,
gelu
 
feajob,

One way to check model quality is to run convergence studies. This is very time consuming, and as gelu mentions, it does not necessarily substanciate the results, just the quality of the mesh. gelu provides many good checks to do on the elements themselves before you even run the model, or after you perform some of the checks below.

Another way is to plot the unaveraged results using element fill options. In this case, you should get a fringe plot pattern that looks very similar to your averaged/continuous plot. I.E. smooth transition between elements. If it looks like patchwork, then your model could use more refinement. Also, check the difference plot (instead of average) and see how much variation there is between adjacent elements. The smaller the value, the better. However, it is relative to the ultimate stress in that region.

Finally, you should check a net section against theoretical results just as a sanity check that loads and boundary conditions have been applied correctly. If you have the ability to strain gauge an actual product at some point, verify strains against your model. These are the only ways to truely verify the model accuracy.

Hope this is of use.

jetmaker
 
feajob is concerned about the validity of the results from a model, and their accuracy. Generally you can check your results by plotting the unaveraged element nodal stresses and comparing the contours between adjoining elements. If they contours are close then it's reasonable to assume that your results will be fairly accurate. If you want to be precise about it then re-run your analysis with a greater mesh density. Preferably do this with sub-models of the region as a million degrees of freedom in a model seems to be a little large. If you can mesh using brick elements, and the analysis run-time is relatively short, then it's easy to run the model with linear elements and then change them to quadratic elements, thereby keeping the same number of elements but increasing the accuracy for your comparison.
For stress concentrations though it's generally better to model the whole part with a coarse mesh and then sub-model the region of interest, but include the stress concentration, and let rip with your automatic mesh generator, while checking for compatibility at the sub model boundaries with the coarse model.
Nafems might give better guidance if you wish to check their site or literature.

corus
 
Thank you gelu for your response. I am agree with you HyperMesh has some good tools for checking the element quality. I use them, how ever, as you mentioned FEA give us just an approximation of the real solution. In the stress concentration area, if I refine and refine my mesh then I will get closer to the real solution.

May be I didn’t explain well my question. I am looking for a way to do this job more efficiently. As jetmaker mentioned this job may be very time consuming and our boss won’t be happy. Jetmaker solution seems more practical, because as we know FEA provides discontinuities for stress fields across the elements (no matter which code you use). The stress are initially calculated at all integration points then they are extrapolated into all nodes (using a smoothing + averaging method). Jetmaker, at this stage of project, we don’t have opportunity to measure stains with stain gauges. Comparing the FEA solution with theoretical solution is a good approach, but this solution it is not always available for a complex 3D model.

Corus, sub modelling is a good approach, but still, it may be time consuming. I use Patran and HyperMesh, but I think that checking the compatibilities between coarse mesh and fine mesh is a time consuming job.

John Barlow is a guy in Rolls-Royce (stress department) did a good job many years ago. He reported in his paper the Optimal Stress Locations in FEA. He demonstrated that FEA provides higher accuracy on some points of an element. Later, Zienkiewicz and Zhu developed a global and local smoothing methods based on this optimal points. In fact, they built estimated stress field and compared this field with FEA stress field. As a result, they can estimate the element error for whole mesh. MSC.Marc is using this norm for refining mesh of nonlinear analysis.

I though that may be some one is using this norm for evaluation the quality of FEA solution in linear FEA.

Thank you for your responses.
Ali
 
feajob,

Sorry, not familiar with the approach you describe. My only understanding is that displacements, reported at the Gaussian points are the most accurate results presented by FEA. Other results (i.e stress, strain) are derived from those displacements. Another check has something to do with strain energy. Something along the lines of checking the model strain energy and seeing if any element is picking up a greater proportion of that energy. Can't remember the specific details, but I'll get back to you if I remember.

jetmaker
 
jetmaker,

FEA solves at the first step the following equation:

[k]{u}={f}

where
[k] denotes stiffness matrix of our model
{u} nodal displacements
{f} nodal forces

Evidently, the distributed forces can be transformed into the nodal concentrated force.

So, it finds nodal displacement first. Then, at the second step, it calculate the strain field by derivation of the displacement field at integration points.

Finally, at the third step it calculates the stress field at integration point using law of material (Young's modulus and poisson ratio).

That's why displacement field is a continuous field in FEA, while stress and strain fields are discontinuous.

Ali







 
HI all,

i´m generally (like all of you) after stresses at stress concentration zones to estimate fatigue behavior.

My experience is that in fatigue there are so many unknown parameters that the error in linear elastic stress prediction is much smaller than errors from boundary conditions and material data and history of specimen.

My criterias are very simple and maybe not good enough for all fea-users.

-I just mesh my model very coarse (stiffnes should be represented good enough with an coarse mesh) and refine it at locations of interest.
-Then i take a look at the averaged stress distribution at the stress concentratoin zones (should be smooth and the differnce in stress along a element side should be smaller then 10%)

-sometimes i use adaptive meshing to see the convergence (mesh independent result), but i always model the notches in the model with a small radius. Therefore i get convergent results

regards

mfinke
 
Hi mfinke,

It is an interesting and practical criteria. I guess you apply 10% criteria for 2D problems? Are you doing 3D too?

Thanks,
Ali
 
Ali,

The results of your analysis may differ from the real answer for many reasons such as:
accuracy of loads
accuracy of material properties( tested vs. literature)
is the mesh fine enough?

It appears that you are looking for information on the last point mentioned above.

One simple way to check that the mesh is fine enough in area of interest is to either halve or double the mesh density in that area. If your results do not change, it indicates that your mesh is fine enough. However if your results change in that area, it indicates that the mesh needs to be refined further. Please note that when you are focussing on an area of stress concentration you do not have to increase the mesh density in the whole model but only in the area of interest.

Gurmeet
 
Hi FeaJob

In my experience on Fatigue studies, when commenting on mesh quality, you are referring to the independence of the results to the mesh size, formulation etc.

I tend to refer to mesh size, angle, warp etc as 'mathematical checks', most pre-processors tend to perform these checks for free during the mesh creation process, and although its important to get these within certain limits for the solver (nastran can get upset with large aspect ratio limits for example) as loong as these are within sensible limits you will find that variation in these parameters don't affect your results.

Element formulation and density are for me the two more important things to concentrate on. For fatigue analysis, a fine mesh size <=5mm is a good starting point for panel areas - with concentric circles around holes, of finer density around the hole, then broadening out as you move away from the hole. Another important point is to always model quads in the area under fatigue study - some solvers can get really upset with tris and highlight them as problems, when common sense can eliminate them. Increasing element order is obviously another good thing - but with fine mesh and high order elements, you need the computing resource to get results in a reasonable time.

Personally, I tend to prefer to mesh the component in consideration to its loading, although I do use the Auto mesh as often as possible - I do cut up geometry to alter its alignment and direction so it looks 'neat'.

Once you've got a fine quad mesh of reasonable quality in the affected area - and run the job, I prefer to look at the results in conjunction with engineering judgement - when I say engineering judgement I mean :-

Firstly I look at the entire model as a whole. I'm looking for a difference in the contour plot across a group 3 shell elements of less than 10% of the total contour value (this shows me that the distribution is smooth and not affected by the way the component has been modelled. If its greater than this - I tend to remodel it in the affected area. Re-modelling in this context means altering mesh density and alignment.

Then I start looking at areas of concentration which I can't explain with the above. In these cases I will do some rudimentary calculations and see if the results are in the same ballpark. These calculations derive from the k-u.F formula. If they look out - then I look at re-meshing the affected area - changing the mesh alignment to the loading direction, not necessarily the density or order of the mesh.

Anything that remains after these checks, is usually a concern for fatigue. I then approach texts from the authors already mentioned or my peers for detailed advice. Another author of note is R.A. Higgins, has some good points about the fatigue failure mechanism.

Depending on the component under study - you may have to sub-model it as corus suggests. This can be appropriate if you are modelling in solids - or across rapid changes in section for example. If you are modelling in bricks (solids) be careful to get at least three bricks across the thickness though - if you don't you're results will be a little suspect.

Hope this helps

sean
 
Hi,

Sean, Thank you for your reply. Your points are interesting. I can use some of them, but not all of them. Because, I do 3D FEA. Even after many geometrical clean up, my geometry is still very complex, so, I don't any other choice than 3D tetrahedral meshes (quadratic). I usually end up with more than 1,200,000 DOFs. I have good hardware and usually I can solve my linear problems in 45 minutes.

gurmeet2003, I am agree with you, the best way to check the quality of a FE solution is refining mesh in stress concentration area. However, it may not be the best cost effective solution, when you are dealing with large and complex models.

d3ets, I am agree with you too. P-elements are helpful, because you are involve directly with mesh refinement procedure. In fact, promechanica increase the p degree of elements and it increase accuracy without refining your coarse mesh, but, as far as, I remember, there are some limitation. For example, you can not solve complex contact problem with p-elements? Is it correct?

Thank you for your comments,
Ali
 
You can solve contact problems in Mechanica, however you do need a fine mesh in the contact area. Mechanica has an automatic method for doing this, or you can manually seed the contact area.
 
feajob,

back to your original question:

I agree with gelu (check for coincident nodes, boundaries: free edges, duplicate elements, elements distortion: taper, skew, warp …, degenerated elements, check association of elements and nodes, element normals, connectivity, shade FEM) and with jetmaker (plotting the unaveraged stresses and look for a smooth gradient).

You can also check the difference. The difference is determined as the delta between the maximum and minimum stress contributor to each node. The fringe plot of this max difference indicates the quality of the mesh and the location where this mesh needs to be refined by comparing its values with the actual values of the results.

If you use Nastran open the *.f06 file and check:

- OLOADS and SPCFORCES have to equal out
- model mass and CG (verify against known values), PARAM, GRDPNT,0 - not just for dynamic analysis, I find it good to verify that I modeled the structure realistically
- EPSILON must be < 10E-9
- MAXRATIO > 10E5 may indicate trouble

The EPSILON is a measure of the numeric conditioning of the model. An acceptable value of EPSILON depends on the model complexity and the machine that it runs on. An EPSILON value of less than 10E-9 is generally considered acceptable, for a clean and converged model EPSILON is around 10E-15. A large value of EPSILON is evidence of numerical ill-conditioning (e.g. poor constraints or mechanism).

MAXRATIO is the maximum ratio of the matrix diagonal to the factor diagonal. A large MAXRATIO is an indication of a potential modeling problem.

 
AnnHer,

In fact, I use Nastran as a solver. Please let me know how you can get MAXRATIO? Because, I see only EPSILON in my *.f06 file.

BTW, can you explain more about "the delta between the maximum and minimum stress contributor to each node". How can you make a fringe plot of this delta in Patran?


Thank you for your comments,
A.A.Y
 
Regarding the issue of convergence, I recommend taking a look at the FAQ P-Elements (FAQ828-810) to, hopefully, clear up some confusion surrounding that topic. The subject of actual results quality is still, unfortunately, a separate issue. Just because a mesh is of good quality, or convergence on strain energies (or other measure) has been achieved, it does not guarantee that the results are accurate. The model could also be prepared poorly (having cracks, or sharp corners) that can represent a singularity; no convergence check will produce accurate answers in this case.
Other sources of error can be in the modeling loads and boundary conditions. One can also have errors in the type of element used (membranes rather than shells, plane strain when plane stress was correct, linear triangles or tetrahedrons instead of parabolic elements, etc.).

As has been mentioned before, a Finite Element Model is just that, a model. There is always potential for errors with any model.

Best regards,

Matthew Ian Loew
"I don't grow up. In me is the small child of my early days" -- M.C. Escher

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips Fora.
 
Yes, as we know the output of a finite element analysis is always as good as the input and the input is a lot of guesstimate especially when it comes to boundary conditions, loads, connections or lovely homogeneous material. Results are always to be seen relative. And regarding the issue of convergence, it depends on your needs. One does not need a perfectly converged model for a concept design study. One does also not need a perfectly converged model if e.g. the max. stresses reach 10% of the yield strength.


feajob,

PARAM, MAXRATIO, 1.E7 specified in the Case Control Section

MAXRATIO Default=1.E7 The ratios of terms on the diagonal of the stiffness matrix to the corresponding terms on the diagonal of the triangular factor are computed. If, for any row, this ratio is greater than MAXRATIO, the matrix will be considered to be nearly singular (having mechanisms). If any diagonal terms of the factor are negative, the stiffness matrix is considered implausible (nonpositive definite). The ratios greater than MAXRATIO and less than zero and their associated external grid identities will be printed out. The program will then take appropriate action as directed by the parameter BAILOUT.

By default
PARAM, BAILOUT, 0 and it should stay this way

If you experience FATAL MESSAGE 9050 and you don’t know what went wrong, you may set PARAM, BAILOUT, -1 to force the run through. But this you do just to check your model! Don’t believe your results, since thy might not be accurate.

About the Difference in Patran:

Go to Results: Create/Fringe and select your results. Click on Plot Option and go to Averaging Definition. Domain: All entities, Method: Difference

Check it out.
A
 
AnnHer,

I am not sure I would trust comparing results from models that had unknown or different convergences. I think that the issue of convergence is routinely ignored by many analysts. I use MECHANICA when I do structural analysis, so I have this capability built in.

I have found some articles that may be of interest:[li]P. Kurowski Easily made errors mar FEA results, Machine Design, 13 September 2001[/li][li]P. Kurowski More errors that mar FEA results, Machine Design 21 March 2002[/li][li]V. Apanovitch, P. Kurowski Discretization Error Control in Precise Solids Method, part 1, BENCHmark, April 2001[/li][li]V. Apanovitch, P. Kurowski Discretization Error Control in Precise Solids Method, part 2, BENCHmark, July 2001[/li][li]P. Kurowski, B.Szabo How to find Errors in the Finite Element Models, Machine Design, 25 September 1997[/li]


I will (eventually) create a FAQ on this topic so we can maintain this important information.

Best regards,

Matthew Ian Loew
"I don't grow up. In me is the small child of my early days" -- M.C. Escher

Please see FAQ731-376 for tips on how to make the best use of Eng-Tips Fora.
 
Status
Not open for further replies.
Back
Top