INTELLIGENT WORK FORUMS FOR ENGINEERING PROFESSIONALS
Come Join Us!
Are you an Engineering professional? Join EngTips now!
 Talk With Other Members
 Be Notified Of Responses
To Your Posts
 Keyword Search
 OneClick Access To Your
Favorite Forums
 Automated Signatures
On Your Posts
 Best Of All, It's Free!
*EngTips's functionality depends on members receiving email. By joining you are opting in to receive email.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Stress at integration points or at nodes ?(5)

opethian (Mechanical) (OP) 
3 Dec 08 1:13 
Think of that you have a 3D model and you simulated some forces acting on it. And get a Stress contour ? it should have normally the most accurate results at integration points (or not)? but then you have 4 integration points so should we extrapolate the results to the nodes ? or for this element which value should we take ? how about the stress results at nodes arent they realistic ? 

(4) gwolf2 (Aerospace) 
3 Dec 08 4:34 
The stresses at the integration points are the most accurate. They occur inside the element and may not be the highest stress in the area; for example around a fillet radius the free surface stress will be higher than the integration point stress.
The element shape function is used to extrapolate the integration point stresses out to the element nodes  these are in a useful location like a fillet radius free surface or a hole edge.
Adjacent elements combined with their shape functions will predict different stress values at their common nodes. The question then arises which stress do you believe? Most FE packages average the stresses for each element at the node.
If the unaveraged stresses are within a few percent of each other I go ahead and use averaged nodal stresses. If the unaveraged stresses are significantly different, I use peak unaveraged stresses, or refine the mesh to get a better result.
IN ALL CASES, UNAVERAGED NODAL STRESSES MUST BE CHECKED BEFORE USING AVERAGED NODAL STRESSES.
WHEN USING SHELL, BEAM, OR ANY OTHER ELEMENT FOR WHICH RESULTS ARE PRESENTED IN SOME FORM OF LOCAL SYSTEM, AVERAGED NODAL STRESSES SHOULD NOT BE USED UNLESS YOU REALLY KNOW WHAT YOU ARE DOING.
I can't count the number of expensive fatigue errors which I have seen as a consequence of averaged nodal stresses.
Amen 

prost (Structural) 
4 Dec 08 10:02 
gwolf2 and others: I have often heard the statement in this forum that "stresses at integration points are most accurate." Can anybody provide proof (say a refereed journal article, a section of a book, or a study you have made which has enough details to repeat the study ourselves) of that assertion?
It seems intuitive that this statement is true in a nonlinear analysis because you use the stresses at the integration points in the nonlinear iteration (say a Newton Raphson iteration is used to solve the nonlinear equations). However, the 'truth' of this 'stresses are most accurate at the integration points' statement doesn't seem so obvious in a linear analysis, since all you are doing is solving Ku=f, and there is no need to calculate the stresses at the integration points until you perform the post processing. 

rb1957 (Aerospace) 
4 Dec 08 10:26 
i think it's because FEA calculates stresses at the integration points of the elements and extrapolates these to the nodes, and averages across adjacent elements. 

Depends on what you mean by accurate, I'd interject.
If "accuracy" means "correct for the linearized, discretized system of equations that was created to approximate a solid body deforming under load", then, yes, the stresses are correct only at the integration points, and are extrapolated to the edges of each element. A whole bunch of assumptions are built into the FEA element models, some of which imply that the stresses change only modestly from element to element. Thus, we conduct convergence studies, to show that stresses in a region of interest converge to a single value as the mesh is made finer and finer within the region.
If "accuracy" means "correctly reflecting the realworld solid mechanics which are being modelled", then we've got a whole 'nother can of worms to open... 

rb1957 (Aerospace) 
4 Dec 08 12:35 
OFGS, don't bring the "real world" into it !! 

gwolf2 (Aerospace) 
4 Dec 08 18:33 
ditto,
Opethian, do it my way and all will be well with your world.
Do it any other way and learn to enjoy confusion, fear, late nights........................................
If you want to know why it is the way it is then read a book on FE theory, it's about masters level but not that bad if you are mathematically competent.
Alternatively if you have ABAQUS for example you can get it to print results at integration points, unaveraged at node, averaged at nodes etc. This is a good way to understand the differences. If you combine this with a good postprocessor like PATRAN you will also be able to look at the many different ways in which stresses can be dispayed as both contours and numerics and relate this to the numbers in your printout file.


opethian (Mechanical) (OP) 
5 Dec 08 1:46 
ditto FEA is undergrad level course in my country and do not worry i passed several FEA courses . My question was about post processors mostly. If you have used hyperwork and abaqus post processors you will be confused soon for sure you will be confused about the programs. Best is to write your own post processor i guess. 

rb1957 (Aerospace) 
5 Dec 08 7:52 
OFGS (again) ... we don't want to be doing That ! how many ways are there ? i agree that making a code of your own is something you understand, but what about the rest of the world ? how much confidence would you have in someone else's postprocessor ? ok, it makes pretty pictures ...
that's why (well, one reason why) there are canned programs. everybody knows (ok "knows") how they work and so it's "just" the application of the software to the particular problem that's the issue.
i agree you need to understand what the post processor is doing. run some simple patch tests. on a different level, i don't particularly care how the FEM extrapolates from the integration points to the nodes. i know that the stresses reported at the nodes are accurate for some cases and very inaccurate for others, depending on the program and the loading; this leads to increasing the mesh density to resolve the known issues (eg, put a single CQUAD4 in bending, it doesn't like it, so we don't do it !).
only MHO ... 

gwolf2  just curious, in your last post are you inferring that Patran is a better postprocessor than Abaqus/Viewer? 

Sorry, RB, you're right. This is FEA we are talking about, not engineering...:) 

gwolf2 (Aerospace) 
5 Dec 08 19:02 
johnhors,
No, I've never used ABAQUS viewer. I gave PATRAN and ABAQUS as an example. ABAQUS results output type control is outstanding (meaning you can see exactly what is going on in the .dat file if you wish), and PATRAN can display combined numeric and contour plots at averaged, unaveraged, and integration points  just what you want if you be sure what's going on.
gwolf2 

prost (Structural) 
6 Dec 08 12:24 
IMO you still need to differentiate what goes on in FEA software for linear vs. nonlinear solutions. In linear solutions (no iterations, material linear, no contact, etc.), stresses are never calculated at the integration points UNTIL you do the post processing to extract them. In a linear solution, you calculate only the displacements (your solution vector), and all you to do is invert the big stiffness matrix K. In a nonlinear solution, which requires a nonlinear iteration method such as Newton method, you need to calculate the stresses in the previous iteration to get your new solution vector. Because you calculate the integrals in the FE method not exactly, but by the Gauss approximation, in which the quantities in the integrals are calculated only at the Gauss integration points, at least in principle it appears to me that stresses are most accurate at the integration points but only for the nonlinear solutions, NOT for the linear solutions (since stresses are not computed as part of the linear solution procedure).
Since it isn't often you know the exact solution, I would define 'accurate' relative to the numerical convergence of the stressesany quantity is more accurate at a (first) location relative to another (second) location if its numerical convergence is quicker for the first location relative to the second. Now maybe this is dependent on your particular software, the way in which stresses are calculatedbut the statement "...the stresses are correct only at the integration points, and are extrapolated to the edges of each element...." is incorrect in general (unless you can present proof otherwise). Stresses are calculated from the strains, which are just the spatial derivatives of the displacements (see, for instance, Szabo and Babuska, Finite Element Analysiswhich is up to $190 on Amazon! When did they start gilding the pages?). Again, in a linear solution, there is no need to calculate stresses at the integration points, until you are finished solving the Ku=f equations. You can calculate stresses ANYWHERE in any element using just the solution vectors and the spatial gradients, and are not restricted to calculating stresses at just the integration points and extrapolating.
Unless of course that's just a restriction (stresses are computed directly only at integration points and are extrapolated to edges) your FEA software places on your analysis. 

prost wrote:
"the statement "...the stresses are correct only at the integration points, and are extrapolated to the edges of each element...." is incorrect in general (unless you can present proof otherwise). Stresses are calculated from the strains, which are just the spatial derivatives of the displacements "
Yes, but no. Saying that the strains are calculated, and not the stresses, is pretty specious, since they differ by only the constitutive model (which for linear problems is a linear factor difference). The strains are no more calculated (again speaking of linear FEA) than the stresses are  both are buried in the FEM formulation, and thus are calculated implicitly whenever the K[x] = f matrices are solved. Backing them out and printing them or coloring the charts is more of an excersize in computation, not calculus. The calculus came in formulating the elements' stiffness matrices.
More importantly, in linear FEA, the displacements are known at the nodes, which are at the boundaries (generally the corners) of the elements. But the strains (and thus stresses) can only be calculated between the nodes, since the strain is derivative, i.e. the difference in displacements between two or more nodes. All element formulations I've ever seen and/or derived, have an implicit (assumed) stress distribution across the faces of the element (typically constant for linear elements), which allows the stresses and strains to be derived and the element stiffness matrix formulated. The result is that the stresses are known only by derivation from the displacements, which in linear models implies that the stresses or strains are "known" (in the sense of how they were modelled) in the center of the elements.
This basic idea, that the nodes (where the displacements happen) and the interior of the elements (where the strain and stress happen) is why you need to refine meshes to keep the difference in stress from one element to the next, is what we should all take away from this.
Textbook reference would be The Finite Element Method in Engineering Science, Zienkiewicz, O. C., 1971, 1977. Might be a bit dated, but I doubt very much that they've changed how to compute derivatives in the last 40 years or so. 

Sorry, this
"This basic idea, that the nodes (where the displacements happen) and the interior of the elements (where the strain and stress happen) is why you need to refine meshes to keep the difference in stress from one element to the next, is what we should all take away from this. "
Should've been:
This basic idea, that the nodes (where the displacements happen) and the interior of the elements (where the strain and stress happen), are different (one is a point in space, the other a volume, thus they physically cannot be the same) is why you need to refine meshes to keep the difference in stress from one element to the next, is what we should all take away from this. 

ARGGhhh....3rd time's the charm:
This basic idea, that the nodes (where the displacements happen) and the interior of the elements (where the strain and stress happen), are different (one is a point in space, the other a volume, thus they physically cannot be the same) is why you need to refine meshes to keep the difference in stress from one element to the next as small as practically possible to avoid errors, is what we should all take away from this.
...and if anyone knows how to avoid errors in posting, save iterations, please tell me. 

pja (Aerospace) 
9 Dec 08 14:17 
The reason that the statement is often made that stresses are more accurate at the Gauss points, even for linear problems, is that for elements like Q4 and Q8 the stresses are superconvergent and their accuracy is comparable to the accuracy of computed displacements.
For example impose on an element a displacement field f whose degree is one order higher than the highestorder complete polynomial for the element interpolation. Then obtain the nodal dof by evaluating f at the nodal locations. Next if you seek locations in the element to evaluate the B matrix (used with the nodal displacements to compute the strains) such that the strain as calculated from f is the same as that calculated from B*d where d is the vector of nodal displacements, those locations will be at the Gauss integration points for lower order elements which are most commonly used and slightly different for higher order elements (which are seldom used). 

prost (Structural) 
15 Dec 08 10:23 
What is the basis for the statement "stresses are implicitly calculated from the solution to Ku=f"? In a linear solutions, where are stresses (or strains for that matter) in "K," "u" or "f"? No, stresses are calculated AFTER you compute the displacement vector "u", by computing, as you know, the spatial derivatives. Stresses and strains are calculated with the postprocessors. If your FE software does it differently, I'd sure like to know the reason, since no stresses or strains (other than at the boundaries, in which case stresses are known because they are imposed by the user) are needed in the matrix "K," or the vectors "u" or "f" in a linear solution.
As far as stresses being superconvergent, I doubt that's even numerically possible, since stresses are derivatives of the displacements (which can be superconvergent, depending on the formulation), and anyone who has ever tried to compute derivatives of anything knows how crazy derivatives of apparently smooth data can look. I would be most appreciative if you would supply an actual reference, say a published paper, and not a statement from a User's manual for the FE software. I have accepted anything's possible, but it would be nice to have proof found in the open literature. 

Prost,
How is the stiffness matrix derived for a given element?
To derive the algebraic equations for a given element's stiffness matrix, one must first solve implicitly for the stress and strain fields internal to the element. This is done by making certain assumptions about the boundary conditions (small displacements, linear constitutive model, constant tractions at the boundary faces, etc.) and then applying complex transforms to solve the stress/strain fields directly via numerical integration.
Thus, after actual load and displacement vectors are solved for, the strain and stress can be backed out from the stiffness matrix formulation as algebraic sums. The stress and strain were already solved for, by the person who computed the equations for the stiffness matrix. All FEA models report element stress tensors based upon the element stiffness model, and these stresses are calculated at, and are most "accurate" at, the integration points used to derive the element stiffness model. If you try and apply your own "stress calculation" to derive the stress field from the solved displacements, you will have a result that is less accurate than using the already solved equations to find the stresses at the integration points that were used to derive the element stiffness.
So, fine, Mr. Prost, you are technically correct in the statement "stresses are calculated AFTER you compute the displacement vector "u",". Yes, generally, the stresses are computed after first inverting and solving the Kx=f matrices.
But, the rest of your statement "...by computing, as you know, the spatial derivatives." is not correct, at least not for linear solutions; the stresses in a linear FEA again, are found from implicit equations, not by recomputing the difference equations that you've already solved by integration. So, I and others, are also correct. And the reference I gave is a textbook, one of the original ones for FEA, that describes the above in excruciating detail. I should know, as I used it for many years to write and solve my own FEA codes. 

pja (Aerospace) 
15 Dec 08 17:54 
Prost, The superconvergentlike behavior of stresses at Gauss points for Q4 or Q8 elements is shown to be true in many textbooks..for example look on page 231 of Cook fourth edition. My example gave the reason for this and was actually taken directly from Cook. 

Hi pja,
Which Cook book are you referring to, is it :
"Finite Element Modeling for Stress Analysis"
or
"Concepts and Applications of Finite Element Analysis" ? 

pja (Aerospace) 
16 Dec 08 16:47 
Concepts and Applications of Finite Element Analysis 

prost (Structural) 
18 Dec 08 12:20 
Not to sound overly critical, but have you ever constructed by hand a 'finite element'? It appears not, since you have stated that stresses and strains are needed.
To illustrate, I think I don't lose any generality by describing how the finite element matrix is constructed in 1D, for rods. We are solving Ku=f; 'u' is the solution vector, the displacements, we are trying to compute. 'K' is the stiffness matrix. 'f' is the force vector, which represents how we have loaded our body. In 2D, those are point loads, and distributed stresses (which are specified, so they are known and don't have to be computed). Assuming linear elasticity, stiffness matrix elements k(i,j) look like (AE/l), where A is the area of the beam, E is the Young's modulus, 'l' is the length of the rod.
Stresses and strains are then computed AFTER you compute the displacement vector 'u', and are therefore never needed for the finite element solution process until the post processing (you might need to compute stresses to compute Stress Intensity Factors, for instance).
Certainly these equations are derived from the equilibrium of stresses, and you are computing spatial derivatives to derive the stiffness matrix elements k(i,j), so you 'sort of' are computing quantities that look 'like' stresses. However, just because you are computing spatial derivatives, doesn't mean IMO that you are computing strains and stresses. Therefore, I still cannot see reasons why and no one has provided a reference as yet that shows that stresses at integration points are more accurate (as measured by their convergence rates) than stresses at the nodes. I'd love to hear the explanation and see a demonstration, though. There's a lot to be said for personal experience, that's for certain, but its hard to use that in say, an internal or external report, so that observation is of little use to many FE analysts such as myself, since it represents something akin to hearsay or anecdotal evidence. 

prost (Structural) 
18 Dec 08 12:24 
pjathanks for the reference. I have only 3rd edition of Cook, Concepts and Applications of Finite Element Analysis, available. Could you possibly supply the Chapter and section number (and/or title) to help me zero in on the correct section, since almost undoubtedly the pages are different from 3rd to 4th edition. Tks 

prost (Structural) 
18 Dec 08 12:29 
Apparently others here think that there are other ways to compute stresses than the obvious one (using spatial derivatives of the solution vector), so I'll do some more research to see what others are doing. I can't imagine how you can use the stiffness matrix and the solution vector to compute stresses, but it seems reasonable to assume there might be a way to do so, so it's worth more effort to track that down. 

EdR (Structural) 
18 Dec 08 13:40 
prost:
To try and answer your basic question..."why are stresses more accurate at integration points than at nodes" consider the following....
Assuming that we are talking about isoparametric element formulations then most element stiffnesses are computed using Gaussian integration to compute the stiffness (K=sum(Bt . C . B * wt * vol))where B is strain/displacement matrix, C is stress/strain matrix, wt is Gaussian weighting factors (dependent on number of integration points used), and vol is the volume fraction (also associated with the number of integration points used). If you investigate the Gaussian integration method you find that the results of the integration are most accurate at certain points (the Gauss points) for a given number of integration points (in either 1D, 2D, or 3D).
Thus the strains (and stresses) that are computed as eps=B . U and sig= C . eps at the Gauss points are more accurate (optimal) than those computed at other nonoptimal points as the B matricies used in the stiffness formulation are then consistent with those used to compute strains...Indeed the B matricies at some points (not Gauss points) can give very bad results for some formulations while the matricies at the Gauss points give good results..In other words being consistent when computing strains at the same points as those used when forming the stiffness gives the best results.....
For elements using other formulations and/or integration methods the above might change but most numerical integration methods have optimal points at which the integrations should be performed.....
Hope this helped....
Ed.R. 

pja (Aerospace) 
18 Dec 08 14:31 
Prost, Chapter: Isoparametric Elements Section: Stress calculation 

prost (Structural) 
23 Dec 08 11:45 
After more research, I am still stumped. Though I do have a few papers whose authors make the same claim about 'stresses at the integration points being more accurate than at the edges' matter of factly. So I have some more digging to do to figure out why. One person I know uses ANSYS I think said that when you request stresses, you can ask for them only at the integration points, which naturally leads to extrapolations at the edges and nodes. Don't know why there is that restriction, at the integration points, because it's unnecessary IMO. Since stresses are so important to the post analysis, direct computation anywhere in the domain you are analyzing seems like minimum capability. 

"Not to sound overly critical, but have you ever constructed by hand a 'finite element'? It appears not, since you have stated that stresses and strains are needed."
Yes, I said so, have the degree and thesis in Aeronautical Engineering to prove it, have done so multiple times in the course of my career for multiple different problems, and cited the reference used, although I also extended said reference in several instances, to include thickwall shell elements, elements undergoing rapid dynamic loading, and elements undergoing rotation and associated body forces...amongst other things. The reference given discusses the formulation of stiffness matrices using the techniques I described earlier, the use of Gaussian integration and errors associated with it (which EdR also describes), and how the use of Gaussian integration allows you to make statements regarding the solution's error bounds (whereas other techniques, such as Galerkin method don't allow for such treatment of error bounds beyond the technique of refinement and iteration). And your assertion that I don't know what I'm talking about irks.
Your next statement:
"To illustrate, I think I don't lose any generality by describing how the finite element matrix is constructed in 1D, for rods. "
Is specious. Yes, you can use "strength of materials" to compute 1D and perhaps even 2D (beam bending) element problems, then extend those to 3D for frames and trusses. You can certainly ignore the rest of the FEA textbook, if you've ever read one, which I am beginning to doubt.
To extend the FEA method to even a 2D general plane stress element (having both shear and normal tractions applied at the boundaries, having any general shape within certain limits) and then prove that the element is robust (capable of solving the problem under all possible combinations of shape and load) requires that you solve for the stress and strain field within it, in order to arrive at the stiffness matrix formulation. AFAIK, there are no shortcuts to that process, and the extension from 2D plane strain elements to 3D generalpurpose elements is made using the same procedure. 

Pardon the error, the last mention of 2D elements should have been "plane stress", not plane strain. The statement is still technically correct, I believe, but not grammatically so. 

prost (Structural) 
29 Dec 08 13:25 
Apparently, we are all reading different finite element textbooks, each with its own set of messages that the authors mean to convey. Therefore, we each have a different knowledge basis for comparing what we think we know about things like FE and what others seem to know. For instance, I learned from Szabo and Babuska, "Finite Element Analysis". This book discusses primarily the pversion of the FE method, but spends a lot of time discussing error analysis in engineering computations. As far as I can tell, not a single passage in Szabo's book talks about superconvergence properties of stresses at the Gauss points.
BTW, I am intimately familiar with about 75% of the Bathe FE book, since I needed it for explanations of the nonlinear deformation coding in ADINA. I don't recall any such superconvergence property, but I admit I could just have forgotten.
I have also taken 2 classes from Szabo himself (he was one of my thesis advisors, so he supervised the research), and have a PhD in mechanical engineering (which means dissertation of course"Large indentations of nonlinear viscoelastic materials, with an application to cell poking"), research in analyzing nonlinear deformations of viscoelastic materials. I wrote two research FE codes, in addition to writing material constitutive subroutines that interfaced with ADINA. Does that mean I think I know everything? Of course not. This makes me the opposite of thatI am confident in what I know, but I am acutely aware of my ignorance in other areas. I will check out the one reference cited here (can't get the other one at the library), and maybe even work out an example or two to check if the same superconvergence property holds with higher order (p>2) elements.
It's possible I have read this before, with a proof, about the superconvergence property, and perhaps I forgot what the explanation was. I am sorry if I offended you; the explanation for the superconvergence property isn't so obvious, and I'm like most engineers, I thinkI don't automatically assume when someone makes a statement that seems so obvious to him/her, that the statement is still true.
One last thingbecause you are using the principle of virtual work (which is expressed in integral form) to create you FE matrices, you are not strictly enforcing the equations of equilibrium (which are most often written with stresses), point by point. This is why the FE equations are called the 'weak form' as compared to the 'strong form' of the equations of equilibrium. Therefore just because are using the equations of equilibrium to formulate the FE matrices, doesn't mean that equilibrium occurs at every point (or for that matter, any point in particular) in your domain. This also leads me to the conclusion that my stresses aren't more accurate say at the Gauss points in particular compared to anywhere else just because I am computing spatial derivatives just at those Gauss points. Point wise equilibrium just isn't being enforced point by point, so why should anyone assume engineering computations any particular point are more accurate than at any other point? 

Prost,
I tried to point out in an earlier post, that the idea that stresses are accurate only at integration points is strictly true only for the FEA model that was constructed, not for the "real world", and you can find different stresses for the same real world points by refining or modifying the FEA mesh. Which implies what I think you are stating. Or perhaps not.
The problem is worsened (and I'm not going to address it any further as you sound like the expert here) by the idea of nonlinear, viscoelastic materials, where you use (correct me if I'm mistaken, it's been 25 years) separation of variables to solve for the instantaneous elastic stress, then apply the Duhamel integral to solve for the decaying time history of the viscous part of the constitutive relations. The "stresses are correct at the integration points" may be applicable to the instantaneous/elastic FEA model solution (depends on whether you are using Gaussian integration or another method), but the time history part I think induces a whole 'nother set of error analysis ideas more applicable to those used in finitedifference (i.e. CFD) codes... and the combination of the two techniques in the same solution would make me throw up my hands. 

prost (Structural) 
13 Jan 09 11:49 
My question had nothing whatsoever to do with the difference between measured and calculated stresses. My question had to do with the general principle of assuming calculated stresses are more accurate at the integration points than they are at the nodal points. My assumption was that was a limitation of some FEA codes that use isoparametric elements, and in way, I was correct, as some FE codes allow (or recommend) stress computations only at the Gauss points. In another way, I was way off base, in that this statement has a sound foundation. In asking for references, I was looking for something more of a theoretical basis rather than just experience based reasons.
It turns out there is a strong theoretical basis for this claim, which appears to have been proved for a few element types, but not all. Starting with Barlow, "Optimal Stress Locations in Finite Element Models," Int. J. for Num. Meth. in Engrg, Vol 10, 1976 pp. 243251; Barlow demonstrated with a few examples that show that evaluation of stresses is 'optimal' at the Gauss integration points: 1) for beam with cubic shape functions if the exact solution is a polynomial of order quartic 2) for 8 node isoparametric plane elements (what many of you call QUAD8, right?) if the exact solution is a cubic, and 3) for 20 node isoparametric solid elements if the exact solution is a cubic. Barlow did not specifically use the term "superconvergence." However, this paper is a very nice introduction to the way an engineer might try to show 'optimality' of a particular computation.
While those Barlow examples might seem to be too specific, in that we cannot assume a priori that the 'exact solutions' are polynomials, there are at least 3 theoretical treatments that demonstrate the validity of the "stresses are more accurate..." statement: Strang and Fix, An Analysis of the Finite Element Method, Zienkiewicz, The Finite Element Method (I have access to the late 80s edition) and Wahlbin, Superconvergence in Galerkin Finite Element Methods. The last one is interesting, but readable only if you have some idea what a L2 space is! Wahlbin uses a common techniquefirst guess that the convergence rates for a certain calculation are of a certain form, say the 'norm' raised to a power 'q', then prove that the power 'q' is less than 1, and therefore the computation is 'superconvergent'. (Proving that 'q' is some value is IMO the most significant contribution the mathematicians have made to the theoretical development of the finite element method.) In a review by DN Arnold, a couple of results are relevant to this discussion were made clear: in one dimensional problems, and continuous piecewise quadratic elements, the finite element solution (that is, the displacements) are superconvergent at the mesh points and element midpoints, while the derivatives (which you use to compute stresses) are superconvergent at the 2 Gauss integration points. The derivation of the superconvergent results for 2D and 3D is more problematic, and restricted to meshes with high degree of symmetry. Nevertheless, this is an excellent theoretical treatment of the subject.
The reason I think I 'missed' this result, that 'stresses are more accurate at the integration points,' is that my background is in pversion, which uses higher order shape functions, and generally does NOT use the isoparametric elements. It seems that this result "stresses are more accurate..." is confined mainly (but not exclusively) to isoparametric elements of the type most FE analysts use (which doesn't make the isoparametric elements inferior of course, it's just a property specific to those element types). I still think it is incorrect to state, though, that 'stresses are superconvergent at the Gauss points' in general for all element types; still it might be true, perhaps it just hasn't been proved for all element types as far as I can tell. 

prost (Structural) 
13 Jan 09 11:57 
Incidentally, I doubt very much my use of 1D elements to illustrate that the stresses aren't actually computed directly until after the solution (the displacements) are found was 'specious'the derivation of 1D, 2D and 3D finite element matrices have many many similarities that illustrate the same points: one starts with stress (or force) equilibrium, multiplies by a virtual displacement field, does some fancy integrations, assumes the functional form of the displacements, and voila! one derives the finite element matrices. The principles are much the same, the derivations much the same, the results much the sameyou are calculating displacements, and compute stresses either directly with the derivatives of the displacement field or with a projection technique, but only after the displacement field is known. ALL authors of finite element texts I've seen start with 1D to illustrate the fundamental concepts, and move on to 2D and 3D once those concepts are understood for 1D elements. Of course not ALL fundamental concepts can be illustrated in 1D, but most can. 

rb1957 (Aerospace) 
13 Jan 09 12:01 
this has been a very interesting technical discussion (almost a good, ol' fashioned "bunfight"), but practically, how different are the stresses at the gauss points compared with the stresses at the nodes ?
particularly if you consider that "most" of the time we average the stress at the node (using the different nodal stresses from the different elements) ? ... most of the time i use element centroidal stress. 

Prost,
The 1D arguement is specious (meaning fallacious), because it can be argued either way. I.e. I can just as readily argue that you must know the stress before you can start computing the displacements, it's just a multiplication factors, so who is right  depends on which way you started. You choose to start from displacements, I could just as easily derive the element model starting from stresses.
But whatever. You found my reference, read it, and it said what I said it said.
BTW, you're welcome. 

rb1957 (Aerospace) 
13 Jan 09 15:03 
there were a few stressbased elements in the early days of FEM (ie assumed a stress distribution and worked from there) but (a bit like beta and VHS) the "other" displacementbased system won out. 

feajob (Aerospace) 
14 Jan 09 8:15 
Prost, Following is a journal paper which discusses about the accuracy of stresses in FEA. You will see much more references in this paper. The superconvergent patch recovery and a posteriori error estimates. Part 1: The recovery technique O. C. Zienkiewicz, J. Z. Zhu International Journal for Numerical Methods in Engineering, Volume 33 Issue 7, Pages 1331  1364 Following link also provides some more reference papers: http://www.geocities.com/fea_tek/ali/index_pub.htmlA.A.Y. 

prost (Structural) 
14 Jan 09 13:05 
Thanks feajob. This reference I missed. Was this the source of the "superconvergent patch recovery" technique I've heard about? I've seen a few papers recently that discussed proofs for particular cases. 

prost (Structural) 
14 Jan 09 13:12 
I still don't think you need to know anything about the stresses to compute the displacements. You are enforcing equilibrium of stresses, but only in a global sense through the integrals of the principle of virtual work, which is one reason why they call the principal of virtual work "the weak form" compared to the stress equations of equilibrium ("the strong form") as stress equilibrium is enforced point wise. You start with stress equilibrium, do some integrations and other fancy math, and what results looks pretty far away from your original stress equilibrium equations to me.
Is there a guarantee that because the stresses are superconvergent somewhere (for the sake of example, say they are superconvergent at the Gauss points) that equilibrium of stresses is obtained at those Gauss points? 

prost (Structural) 
14 Jan 09 13:23 
If I am indeed calculating strains/stresses when I solve the FE equations, then shouldn't I be able to directly extract stress as say Node 1 (or some other points) without any more work? I can do this with the displacementsthe "u" in Ku=f is my solution; therefore (if I used isoparametric elements), once I solve for "u," I know the displacements at every single node in that mesh. You cannot say the same thing about the strains or stresses. Even after solving the FE equations, don't you have some more work to do to compute the strains/stresses at any point in the mesh, superconvergence or not? 

rb1957 (Aerospace) 
14 Jan 09 13:23 
prost,
"I still don't think you need to know anything about the stresses to compute the displacements."
i think you need to read what you type, or maybe think alittle more about what you're typing ...
you can't have displacement without stress (nor stress without displacement, generally). Basic FEA assumes a stress distribution in the elements, and determines displacements so that the resulting internal stresses balance the applied loads. 

prost (Structural) 
14 Jan 09 13:30 
What 'stress distribution' is assumed in the elements a priori? The only "distribution" that is assumed is the form of the displacement field. You start with pointwise equilibrium of the spatial derivatives of the stresses, which is not the same as assuming the stress distribution itself. 

rb1957 (Aerospace) 
14 Jan 09 14:30 
ok, maybe i should think before i write !
elements typically assume a displacement field (there were some early on that assumed a stress distribution). and after a bunch a math it solves for those displacements, and then derives strains and so stresses.
but i could contend that if you assume a constant displacment field then you are also assuming a constant stress field (assuming a constant thickness element). 

EdR (Structural) 
14 Jan 09 17:44 
rb1957:
Think a bit more....For a linear displacement field (two nodes) the strains are constant (eps = du/dx, etc.); thus the stresses are constant......thus a constant displacement field would give zero strains and stresses......
Ed.R. 

just a few more words on this issue.... stress based elements (actually the assumed field is a force distribution) were initially developed for the aircraft industry and they work very well in that environment because the important parameter across element boundaries is equilibrium of forces (i.e. shear flow). There is no enforcement of strain compatibility across element boundaries and it would be like having cracks along adjacent edges between nodes. Strain compatibility (enforced by displacement based elements) was considered more important by others in the field who were not necessarily dealing with semimonocoque structure. Displacement based elements give better representation of stiffness, if used appropriately. However, displacement based elements have their problems too, i.e. excessive stiffness of full integration elements, shear strain locking, hour glass modes, etc. Thankfully a number of commercial programs have developed "softening" features over time to minimize these issues. 

cbrn (Mechanical) 
15 Jan 09 4:28 
Hi, I also add my twocents... for what they are worth of... In FEA packages (and by consequence in FEA literature) there are A LOT of different formulations for the same "kind" of element. Some hypothesize a stress field, other hypothesize a displacement field, some have auxiliary nodes at the edges' midsides, other have auxiliary nodes "inside" the element, and so on and so on. However, for every 3D element I am aware of, there is always an hypothesis made on the (internal)force/displacement fields. The undirect demonstration of this is, for example, when you launch the solution with ANSYS: the first solver message before starting the equilibrium iterations is the output of a "force norm", determined on the basis of the [F] matrix AND the forcefield coming from the elements' formulation. If stress/force didn't come into play in the computation of the equiibrium, there would be no way to decide the solution has come to convergence (i.e. there are simultaneously an equilibrated force field and a compatible displacement field). Even if you use a direct solver, the internal [u] matrix depends upon the element formulation, for the exact same reason: you MUST give an equilibrated force field as a response of a compatible displacement field, and viceversa.
So, IMHO, to return to the original question: the Gaussian results as regards stresses are <generally> considered "the most accurate" from a numerical point of view simply because the element formulations are <generally> based upon these points and not upon the corner nodes. OK, there is also to say that the positions of the Gaussian nodes DO ARE calculated AS A FUNCTION OF the nodes' positions, so there is IMHO no point in saying that they are "more realistic" or not. Just to make another example, in the case of the components/assemblies I usually analyze, the UNAVERAGED nodal results, by someone considered as a "mustbe", are complete rubbish. I know of other situations where, instead, averaging like I do may lead to dangerous underestimations. Literature makes a good work in telling which kind of results, and in which applications, should be sought from the integration points, which instead from the nodes, which from the overall element, and so on.
AFAIK, there is no univoque answer to the original question. "Gaussian better than Nodes? It depends..."
Regards 

Gauss Points or Node Points for stress interpretation .... In my experience of displacement based elements I find that nodal extrapolation of element stresses give higher stress values for many structural applications. Although the mathematical correctness of stresses and strains at gauss points is true ... it really stops there when it comes to the interpretation of a continuous structural domain. Higher stress levels are usually associated with outer and inner structural boundaries (however, it is load type dependent). For 2D elements it is imperative that nodal averaging is only carried out for similar materials, and similar thicknesses, etc.... Nodal extrapolation for linear material analysis is appropriate and more prudent. However, nonlinear material analysis is where nodal averaging becomes more complicated. Again, since the stress/strain levels are correct at the gauss points it could mean that nodal extrapolation will generate stresses in excess of the nonlinear material definition described in the data file (over and above those for "true" stress adjustment). I feel that in nonlinear material problems it is more appropriate to use gauss point values for stress interpretation but nodal extrapolation for interpretation of strain. Strain is a better result to interpret in nonlinear material problems. For 3D problems, again boundaries give the highest stress levels (in general). Extrapolation to nodes is again more appropriate (conservative) but it may prove more beneficial to "skin" the solid boundary with 2D elements and only plot the results for the "skin" elements. 

"it may prove more beneficial to "skin" the solid boundary with 2D elements and only plot the results for the "skin" elements."
outpost11  could you please expand on or explain your reasons for this statement? 

No problem Johnhors .. A useful approach for interpreting stress levels on the boundaries of 3D solids is to "skin" the boundary with 2D face elements. However, you do need a preprocessor (like PATRAN) to achieve this if it is a complex solid. The idea is to create 2D face elements on the exposed faces of the solid elements i.e. QUAD on the exposed faces of a HEX model, or TRI on the exposed faces of a TET element model. The nodes on the boundaries must be compatible i.e. use TRI6 with TET10 etc. One should never use a TET4 model other than some preliminary guideline analysis. Assign some very small thicknesses and/or material props to these "skin" elements without illconditioning the problem. Remember, you must have strain compatibility between the 2D and 3D elements so the stress levels in the 2D elements will be what you would expect to find on the surface boundaries of the 3D solid elements.


A clarification on the previous point I have always used the same material property for the 2D elements as the solid elements but small thicknesses for the geometric properties. If you use a different material property you need to make adjustments to the thicknesses to arrive at the same material constitutive equation (stress/strain relationship) which is messy and not recommended. It is the strains that match to the solid so the same material with small thicknesses would give the best result. 

Do you attach shell elements or membrane elements? In either case aren't you are attaching elements with incompatible shape functions?
But the main point of my original question was, why is this beneficial?
Assuming you are comparing surface stresses of the 3D solid where there are no applied pressures, no supports and no contact and thus only a 2D stress field exists, would you really expect the shell element stresses to yield more accurate stresses than those given by the solid elements? 

I would use membrane elements, if possible, but there may be issues with these in terms of acceptable warp if the solid shape has complex curvature. Otherwise, I would use shell elements because they are more liberal in accepting geometric issues. Having similar nodal boundaries addresses the compatibility issue. It is the solid that dictates the strain ... the 2D element goes along for the ride (small thicknesses) but it is a convenient way of outputting results. You may find that this approach is useful for addressing stress concentrations (for fatigue problems) in complex solid geometry. If a 3D automated TET10 mesh is used there can be issues associated with nodal extrapolation and nodal averaging. Irregular shaped TET elements are common and the locations of some gauss integration points for adjoining elements may be inconsistent in relation to the boundary position. This can lead to poor nodal averaging or even unaveraged peak values. 

outpost11  yes I follow your argument I have heard it before, especially in relation to fatigue (let me guess nCode?) and with respect to poor tet elements. I would argue that skinning a solid of poor or bad solid elements is no substitute for remeshing the solid with better quality elements. I find it hard to accept that this process can transform poor results into good, since the "good" results of the skin rely completely on the bad results of the solid! I was kind of hoping that you may provide a more plausible reason, hence my deliberately open question in the first place. 

The reason to do this is not to help resolve poor solid meshing. A 3D solid element calculates the stress away from the boundary and extrapolation is required, no matter what! My point is merely an approach to assist in getting stresses calculated on the boundary itself. That's all. If can also be very useful in keeping output result files (and postprocessed) much smaller in size. If one has a number of load cases that can surely add up. Just a suggestion ... employed by many analysts out there!


Have you compared stresses at nodes in the skin element with stresses from the solid element at the same nodes? 

I have found smoother stress gradient results from this approach in the past i.e. if you look at unaveraged values. However, I have also had difficulty at times trying to get this to work in nonlinear problems (i.e. surface contact and large displacement) mainly due to the 2D elements away from the area of interest producing undesirable performance etc.... For complex CAD solids the local mesh refinement can get very challenging, especially with PATRAN. PATRAN can give "unknown failure" for solid meshing. The most dreaded response in the program...... 

gwolf2 (Aerospace) 
17 Jan 09 5:18 
Interesting subthread on skinning. I've tried it, works fine. The only way to get a good quality stress concentration is a 'nice mesh of hex elements around the corner' using mapped meshing. But then I'm something of a dinosaur perhaps. I find that with the appropriate tools (mentioning no names)there is often little difference in speed between hand crafting the right hex mesh the first time and iterating a couple of TET meshes. We are of course talking about the 12% accuracy range here for fatigue.  and I don't hand craft everything these days, often using hybrid hex/tet meshes. I remember when this was all fields..................................... gwolf 

Gwolf,
Were the fields arrayed as far as the eye could see? 

gwolf2 (Aerospace) 
20 Jan 09 16:46 
Indeed 



