I am working on a FEM code in which I need to obtain the force vector on each node of a triangular linear element from the stress tensor in 2D. I have the shape functions, and the stress is constant over the element.

From reading the literature, I understand that the nodal force should be the derivative of the shape functions multiplied by the stress tensor, integrated over the element area:

$$f_i = \int_{S_i} \frac{\partial N}{\partial X} \cdot \sigma dS_i$$

Where N is the vector of shape functions, $\sigma$ is the stress tensor and $S_i$ is the membrane surface area Expanding and solving for this for nodes $0-2$, I obtain:

$$f_i = (f_{x,i}, f_{y,i})=\int_{S_i} \begin{pmatrix} a_0 & b_0 \\ a_1 & b_1 \\ a_2 & b_2 \\ \end{pmatrix} \cdot \begin{pmatrix} \sigma_{xx} & \sigma_{xy} \\ \sigma_{yx} & \sigma_{yy} \\ \end{pmatrix} dS_i = \begin{pmatrix} a_0\sigma_{xx} + b_0\sigma_{yx}, & a_0\sigma_{xy} + b_0\sigma_{yy} \\ a_1\sigma_{xx} + b_1\sigma_{yx}, & a_1\sigma_{xy} + b_1\sigma_{yy} \\ a_2\sigma_{xx} + b_2\sigma_{yx}, & a_2\sigma_{xy} + b_2\sigma_{yy} \end{pmatrix} \cdot S_i$$

I am getting strange bugs in my code which I think stem from these equations, but I can't find anything wrong with my derivation. Can anyone point out any mistakes I may have made?



1 Answer 1


I know that for 3-D elements the force on nodes can be obtained by: $$f = \int_{V} B^T \sigma dV$$ where $B^T$ is the matrix of the derivatives of the shape functions. I didn't see a similar expression for 2D, with volume being replaced by area. When integrating on the volume, the dimensional of the integral is really force. But when integrating on area, the result is force over a linear dimension, and that is strange.

  • $\begingroup$ I think if you also consider that the stress is 2D the units still make sense? $\endgroup$ May 18, 2022 at 14:27
  • $\begingroup$ Stress is force over area isn't it? $\endgroup$ May 18, 2022 at 15:55
  • $\begingroup$ In 2D the stress would have units [N/m] $\endgroup$ May 19, 2022 at 14:59

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.