Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

The Math behind Mesh Convergence 2

Status
Not open for further replies.

MegaStructures

Structural
Sep 26, 2019
366
Does anyone have a resource, or a short description that they can share, that explains what is happening in the math behind the finite element method that causes mesh convergence? I'm not looking for rigorous solutions to partial differential equations, or anything like that, but just a conceptual understanding of why the solution is becoming more accurate as element size gets smaller, or element order increases.

I work a lot with matrix structural analysis and understand the stiffness method quite well and have become comfortable solving stiffness matrices and understanding that the solutions I get are exact; however, I can't seem to understand what is happening behind the scenes with the finite element method that is causing them to be inexact approximations. I have seen a lot of nice explanations that relate the finite element method to the method of finding the area under the curve by a sum of rectangles/trapezoids and as you increase the number of rectangles the approximation becomes more accurate, which is a nice comparison, but tells me nothing about the actual approximation of the finite element method.

I am trying to relate the finite element method to the stiffness method employed in matrix structural analysis, which I understand is a discrete method, and finite element method is a continuous method. Each finite element should have a stiffness matrix associated with it and it should be possible to find the force in the element by observing the differences in nodal deflections. This calculation must be exact for one element, so error must be created from joining other elements to the nodes of this first element. Why can the elements not "agree" on nodal deflections at larger element sizes / low element orders?

I realize this may be an extremely difficult question to explain conceptually without hardcore PDE's, but hopefully someone can!
 
Replies continue below

Recommended for you

I think it's pretty straightforward, actually. FEM/FEA is about linearizing those pesky PDEs, which means the smaller the mesh, the more likely any given spot will have an accurate linearization.

The challenge is to avoid overmeshing, since that cranks up the compute time with little gain; obviously the absolute limit is if the mesh were at the molecular scale, but that's clearly insane. This is why regions that have sharp changes in geometry or stress require smaller meshes.

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! faq731-376 forum1529 Entire Forum list
 
Maybe it is straightforward IRstuff. In that case the challenge is making me understand [bigears]
 
straight forward explanation … the FEM mesh is where the program is calculating and solving all the difficult math, a FEM is a discretized representation of a continuum (realty).
the more points of calculation you have the better the representation of reality.

think of a stress riser. If you have a mesh with two elements over this stress riser, then you have two data points to interrogate the stress riser so you'll get a coarse step approximation. Note, typically elements report results at their centroid … at their average strain. More elements, a better step function.

another day in paradise, or is paradise one day closer ?
 
So, maybe let me try to explain how I'm understanding your explanation and we can see if it makes sense.

I referenced an example above describing the method of finding the area under a curve by integration (using small idealized shapes to approximate the boundary curve). With your explanation this example seems like a very accurate one in the following way. Let's use an element with a linear shape function (can only displace at it's end nodes) as an example. As the structure deflects, the elements that make up the structure deflect at their end nodes, and do so in a linear fashion from node to node. This linear difference between nodes is not enough freedom to match the actual deflected shape of the structure and thus the deflected shape of the FEM only approximates the real deflected shape, just as a series of rectangles only approximates a sinusoidal boundary when finding the area under a curve. As the element size decreases these "rectangles" allow for a closer and closer approximation of the deflected shape, until the difference is not noticeable. In calculus we would be able to integrate a sinusoidal function and consider an infinite number of points, but to find the area under an arbitrary curve we would have to use some sort of numerical method such as a Riemann sum.

So in conclusion mesh convergence (reduction in mesh size or increase of element order) is required to match the structures real deflected shape and is closely related to numerical methods used to solve for the area under arbitrary curves.

How is my essay? Hopefully I will graduate from RB1957's graduate FEA course
 
the analogy, representing FEA as approximating a curve by a series of steps, is perfectly adequate.

another day in paradise, or is paradise one day closer ?
 
so really the whole idea of mesh convergence is to create a system of elements that can adequately predict the deflected shape of the structure. Makes sense why I have seen a normal modes analysis suggested to check FEA convergence.

I can't say I really understand the hardcore math going on in FEA better from this discussion, but maybe this level of conceptual understanding is enough to be a more competent FEA user. I might not know how to complete the PDE's necessary to solve the system, but at least I understand the process that the solver is going through on a more basic level and that can help me detect when my meshes are inadequate.

Hopefully this thread can help some other people get a grasp on the basic idea of mesh convergence as well.
 
as Einstein said "don't worry about your math, mine is much harder" … to understand the math of FEA, look into a course on stiffness methods, or stiffness matrices. In my undergrad we built the stiffness matrix for a simple truss … FEA does that but on a much higher scale.

another day in paradise, or is paradise one day closer ?
 
Thanks rb I’ve completed several advanced matrix structural analysis courses. Im a civil structural engineer and have a strong background working with stiffness matrices, but over the past couple years I’ve branched into mechanical stress analysis and I’m just trying to tie together concepts from “the stiffness method” with the less exact finite element method. This conversation has helped a lot
 
you're used to stiffness analysis methods on a macro scale (I think, IMAO). but FEA is stiffness on a "microscopic" level. If you can build the stiffness matrix for a simple truss, then you can (in principle) build the stiffness matrix of a complicated structure. As for the math to reduce those "millions" of equations for an answer … I don't look behind That curtain !

another day in paradise, or is paradise one day closer ?
 
If you're also looking for some mathematical derivations and detailed description of convergence, check the books such as "Finite Element Procedures" by K.J. Bathe or "The Finite Element Method. Its Basis and Fundamentals" by O.C. Zienkiewicz.
 
Some additional resources for a self-learner:

Scott Hollister's (U. Michigan) notes are a breezy/easy read to get the idea within an hour or a couple at most.
Allan Bower's chapters on FEA (solidmechanics.org) are the next level up.

If you continue to be hungry for more, you may be better off buying a book (as suggested above) and get your hands dirty with code but the following resources might come in very handy:

Google Carlos Felippa's (Colorado) lecture notes
Klaus-Jurgen Bathe's MIT videos on YouTube

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
I've recently began the process of programming my own finite element analysis using python and find the hobby to be very enjoyable. And learn heaps along the way. The difficulty I find is many textbooks are very theoretical but don't quite dive into application. Frame elements are easy cause the stiffness matrix formulations are direct. Two-dimensional plate elements are more difficult, I have luckily found the formulation of a rectangular plate element using python through github, but wouldn't say I completely understand the formulation of the Shape function matrix.
 
Programming The Finite Element Method is a good practical guide to coding FEA, covering frame, plate and brick elements with linear and non-linear analysis.

The code is Fortran based, but it is quite straightforward to convert to other languages, or compile and call from your language of choice if you prefer.


Doug Jenkins
Interactive Design Services
 
Love the Bathe references, because I just started watching his MIT OpenCourseware lectures this week. Amazing that they recorded those lectures almost 40 years ago and they are still a gold standard.

@rscassar that is pretty darn cool. I thought I spent a lot of time self learning. That is next level!

@IDS I hope to be up to that task some day, but as a civil engineer my formal training didn't include much in the way of programming. It is on my "list of things to learn in the near future". That thing seems to grow every day though. It will be great to get there, there's no better way to understand the nuts and bolts of FEA than putting together your own program!
 
Just discovered:

"The "Programming the Finite Element Method" toolkit
This Julia package currently contains the programs in chapters 4, 5 and early sections of 6 as described in "Programming the Finite Element Method" by I M Smith, D V Griffiths and L. Margetts (PtFEM).

I use PtFEM when referring to the book and PtFEM.jl when referring to the Julia package. The authors and publisher have given permission to publish the Julia version of the PtFEM toolkit. Please refer to LICENSE for more details."


MegaStructures - I actually found the book very helpful in understanding how FEA works, quite apart from the coding side of things.

You might also find some stuff on my blog useful, e.g.:


Doug Jenkins
Interactive Design Services
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor