I have been doing finite element analysis using Matlab. I look for many examples and tutorials producing only the stiffness matrix letting elements being weightless. However, in my case, I need to do a soil deformation where the self-weight of elements is significant.

Any guidance will be appreciated.

  • 1
    $\begingroup$ I think you need to explain what "weightless" and "self weight of elements" mean. I know what a mass matrix is, but I don't know how this relates to the terms you use. $\endgroup$ Feb 29, 2016 at 13:25
  • $\begingroup$ Thanks Wolfgang Bangerth. I may have not known the exact term for node to node self wight distribution due to gravity if I am not correct what mass matrix is. What I need is to load the mesh it's self weight correspondingly. In my analysis, I have just computed the stiffness matrix but I don't know how I am going to impose a self weight on it. For instance i calculating the deformation of square plate with a hole due to gravitational loading of elements upon element. Thank you $\endgroup$ Feb 29, 2016 at 13:37
  • $\begingroup$ @EnquT.Job Can you give us a precise (preferably mathematical) statement of the problem you're trying to solve? $\endgroup$ Feb 29, 2016 at 14:04
  • $\begingroup$ @Christian Clason in order to make it more clear, I want to load body forces which vary with gravity on meshes. If it were just horizontal body force it was easy for me to apply element nodal force over the surface of the entire mesh. But here I need to assign every element to carry an element above it. That is where I got no idea what to do so, since the mesh is triangular unstructured, where some node of the above element may be lower to nodes of the lower element. And hence I got no clue what to start for. $\endgroup$ Feb 29, 2016 at 18:31
  • $\begingroup$ @EnquT.Job -- you just repeated the same terms I asked you for in a different sentence, but I still don't have an idea what they mean. Furthermore, Christian Clason asked for a mathematical definition of the problem; I do not think that the text description you provide is sufficient (at least I still don't have an idea what the problem is). $\endgroup$ Feb 29, 2016 at 21:33

1 Answer 1


A load due to gravity or self-wieght is commonly referred to as a body force in continuum mechanics. Finite element texts often use this term when referring to this type of loading.

For each finite element, an equivalent nodal force vector due to body forces can be calculated as

$$ {\bf f}^e_i = \int N_i \left\{ \begin{array}{c} b_x \\ b_y \end{array} \right\} dV $$

where $N_i$ is the element shape function at the ith node, $b_x$ the body force in the x direction, and $b_y$ is the body force in the y direction. For a gravity load in the negative y direction, $b_y = -\rho g$ where $g$ is the acceleration due to gravity and $\rho$ is the material density.

The element ${\bf f}^e_i$ are assembled into the global load vector in a manner analogous to how element stiffness matrices are assembled.

If you want to learn more, most finite element texts that emphasize structural analysis discuss this procedure in sections describing calculation of equivalent nodal loads. For example, see section 4.2 in http://www.amazon.com/Finite-Element-Procedures-K-J-Bathe/dp/097900490X

  • $\begingroup$ Given the title of the question, you may want to touch on the concept of lumping, which I guess here is equivalent to placing the whole mass of the control volume around the $i$th node as a point mass located on the node itself. $\endgroup$
    – origimbo
    Mar 1, 2016 at 14:37
  • $\begingroup$ @Bill Greene I have no words to thank u Sir. I will see these documents. That is what I need $\endgroup$ Mar 2, 2016 at 13:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.