^{1}

^{1}

^{2}

^{1}

^{2}

We propose a fast stiffness matrix calculation technique for nonlinear finite element method (FEM). Nonlinear stiffness matrices are constructed using Green-Lagrange strains, which are derived from infinitesimal strains by adding the nonlinear terms discarded from small deformations. We implemented a linear and a nonlinear finite element method with the same material properties to examine the differences between them. We verified our nonlinear formulation with different applications and achieved considerable speedups in solving the system of equations using our nonlinear FEM compared to a state-of-the-art nonlinear FEM.

Mesh deformations have widespread usage areas, such as computer games, computer animations, fluid flow, heat transfer, surgical simulations, cloth simulations, and crash test simulations. The major goal in mesh deformations is to establish a good balance between the accuracy of the simulation and the computational cost; achieving this balance depends on the application. The speed of the simulation is far more important than the accuracy in computer games. The simulation needs to be real-time in order to be used in games so free-form deformation or fast linear FEM solvers can be used. However, high computation cost gives much more accurate results when we are working with life-critical applications such as car crash tests, surgical simulators, and concrete analysis of buildings; even linear FEM solvers are not adequate enough for these types of applications in terms of the accuracy.

For realistic and highly accurate deformations, one can use the finite element method (FEM), a numerical technique to find approximate solutions to engineering and mathematical physics problems. FEM could be used to solve problems in areas such as structural analysis, heat transfer, fluid flow, mass transport, and electromagnetics [

We propose a fast stiffness matrix calculation technique for nonlinear FEM. We derive nonlinear stiffness matrices using Green-Lagrange strains, themselves derived from infinitesimal strains by adding the nonlinear terms discarded from infinitesimal strain theory.

We mainly focus on the construction of the stiffness matrices because change in material parameters and change in boundary conditions can be directly represented and applied without choosing a proper FEM [

We use tetrahedral elements for modeling meshes in the experiments. Overall, there are 12 unknown nodal displacements in a tetrahedral element. They are given by [

For all 4 vertices, (

In our method, nonlinear stiffness matrices are derived using Green-Lagrange strains (large deformations), which themselves are derived directly from infinitesimal strains (small deformations), by adding the nonlinear terms discarded in infinitesimal strain theory. The proposed nonlinear FEM uses the linear FEM framework but it does not require the explicit use of weight functions and differential equations. Hence, numerical integration is not needed for the solution of the proposed nonlinear FEM. Instead of using weight functions and integrals, we use displacement gradients and strains to make the elemental stiffness matrices space-independent in order to discard the integral. We extend the linear FEM to the nonlinear FEM by extending the linear strains to the Green-Lagrange strains.

We constructed our linear FEM by extending Logan’s 2D linear FEM to 3D [

2D element before and after deformation.

By the definition, the nonlinear FEM differs from the linear FEM because of the nonlinearity that arises from the higher-order term neglected in calculation of strains. The strain vector used in the linear FEM relies on the assumption that the displacements at the

Gathering the strain components together, we can rewrite (

The linear part of the

We can evaluate the partial derivatives of the shape functions as follows (for the 1st node of

Consider

The FEM is derived from conservation of the potential energy, which is defined by

Introducing nodal forces, we obtain

Element residuals are necessary for the iterative Newton-Raphson method. The element residual is a

The tangent stiffness matrix

Newton-Raphson method is a fast and popular numerical method for solving nonlinear equations [

Make initial guess

In the proposed nonlinear FEM,

Consider

At every step, the vector

The proposed nonlinear FEM and Pedersen’s nonlinear FEM were implemented using MATLAB programming language. The visualizer was implemented with C++ language and connected to the solver using the MATLAB engine [

We conducted four experiments, each having different number of elements to observe the speedup for both stiffness matrix calculation and for the solution of the system. As expected, the proposed method and Pedersen’s method produced same amount of nodal displacements in all experiments.

The first experiment was conducted for a cube mesh with eight nodes and six tetrahedral elements. Figure

The displacements (in m) at nodes 1, 2, 3, and 4 using the linear FEM for the first experiment. The displacements of nodes 5 to 8 for all axes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

1 | 0.027234 | 0.011064 | −0.289965 |

2 | 0.004306 | −0.109719 | −0.440739 |

3 | −0.066065 | −0.056547 | −0.343519 |

4 | −0.107536 | 0.070143 | −0.514524 |

The displacements (in m) at nodes 1, 2, 3, and 4 using the nonlinear FEM for the first experiment. The displacements of nodes 5 to 8 for all axes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

1 | 0.029911 | 0.012665 | −0.278365 |

2 | 0.008606 | −0.103350 | −0.415594 |

3 | −0.058835 | −0.051901 | −0.324126 |

4 | −0.098945 | 0.068928 | −0.478495 |

A

(a) The initial and final positions of the nodes for the linear FEM. (b) The initial and final positions of the nodes for the nonlinear FEM.

Force displacements (in m) at node 4 for the linear and nonlinear FEMs.

Newton-Raphson convergence graphics for the nonlinear FEM. The graph is plotted using the logarithmic scale.

The second experiment was conducted on a beam with 90 nodes and 216 tetrahedral elements. Figures

The displacements (in m) at green nodes using the linear FEM for the second experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

0 | −3.717 | 4.208 | −0.0394 |

1 | 4.738 | 4.208 | −0.04947 |

2 | 4.737 | −4.245 | 0.03777 |

3 | −3.716 | −4.246 | 0.04902 |

20 | 3.01 | −3.547 | −0.05429 |

21 | −4.117 | −3.548 | −0.06143 |

22 | −4.117 | 3.581 | 0.04348 |

23 | 3.01 | 3.581 | 0.05155 |

The displacements (in m) at green nodes using the nonlinear FEM for the second experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

0 | −2.083 | 4.102 | 0.3798 |

1 | 4.72 | 2.298 | 0.3588 |

2 | 2.913 | −4.501 | 0.4586 |

3 | −3.884 | −2.699 | 0.4809 |

20 | 3.28 | −2.561 | −0.424 |

21 | −2.842 | −3.931 | −0.4032 |

22 | −4.217 | 2.194 | −0.3018 |

23 | 1.911 | 3.565 | −0.3212 |

The beam mesh is constrained at the blue nodes and twisted at the green nodes. (a) Front view; (b) side view, which shows the force directions applied on each green node.

Nonlinear FEM results for the both the proposed and Pedersen’s methods ((a) wireframe tetrahedra and nodes; (b) nodes only; (c) wireframe surface mesh; and (d) shaded mesh).

The third experiment was conducted with a cross mesh of 159 nodes and 244 tetrahedral elements. We aimed to observe if there is a root jump occurring when solving the system for a high amount of force (50 N units), and its effect on the computation times for both methods. Figure

The displacements (in m) at green nodes using the linear FEM for the third experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

5 | 5.004 | 230.5 | 7.241 |

6 | −0.4613 | 239.9 | 0.01444 |

9 | −2.3 | 231.8 | 6.271 |

10 | −4.602 | 237.5 | −0.1437 |

41 | 0.5991 | 234.5 | −0.17 |

The displacements (in m) at green nodes using the nonlinear FEM for the third experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

5 | 6.439 | 69.34 | 5.014 |

6 | −0.2123 | 79.96 | 1.458 |

9 | −3.372 | 44.71 | −4.788 |

10 | 0.5483 | 77.37 | 0.06587 |

41 | 1.196 | 82.84 | 0.1512 |

The cross mesh is constrained at the blue nodes and pushed towards the green nodes.

Nonlinear FEM results for the both proposed and Pedersen’s methods: (a) initial and final wireframe meshes are overlaid; (b) initial and final shaded meshes are overlaid.

We conducted fourth experiment with a liver mesh of 465 nodes and 1560 tetrahedral elements. Figure

The displacements (in m) at green nodes using the linear FEM for the fourth experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

271 | 1.086 | −0.5297 | 11.88 |

The displacements (in m) at green nodes using the nonlinear FEM for the fourth experiment. The displacements at blue nodes are zero.

Node | Displacement- |
Displacement- |
Displacement- |
---|---|---|---|

271 | 0.6538 | −0.1851 | 4.22 |

The liver mesh is constrained at the blue nodes and pulled from the green node ((a) initial nodes; (b) initial shaded mesh and nodes).

Nonlinear FEM results for both the proposed and Pedersen’s methods: (a) left: wireframe surface mesh; right: wireframe surface mesh with nodes; (b) left: shaded mesh; right: shaded mesh with nodes.

Computation times of the finite element experiments are required to compare how much faster our proposed method is than Pedersen’s. When comparing nonlinear FEMs, we calculated the computation times to construct the stiffness matrices as well as the computation times of the nonlinear FEM solutions to determine how different calculations affect them. Table

Computation times (in seconds) of stiffness matrices (Pedersen: Pedersen’s nonlinear FEM; Proposed: proposed nonlinear FEM; and Speed-up: relative performance comparison of the stiffness matrix calculation of the proposed nonlinear FEM method with Pedersen’s nonlinear FEM method using single thread).

Exp. | Elements | Pedersen | Proposed | Speed-up |
---|---|---|---|---|

1st | 6 | 0.7322 | 0.3308 | 221.3422 |

2nd | 216 | 28.1624 | 11.1542 | 252.4825 |

3rd | 224 | 30.1094 | 12.2725 | 245.3404 |

4th | 1580 | 239.8753 | 96.7840 | 247.8460 |

Computation times (s) of system solutions (Pedersen: Pedersen’s nonlinear FEM; Proposed: proposed nonlinear FEM; and Speed-up: relative performance comparison of the proposed nonlinear FEM method with Pedersen’s nonlinear FEM method using single thread).

Exp. | Elements | Pedersen | Proposed | Speed-up |
---|---|---|---|---|

1st | 6 | 3.0144 | 2.4427 | 123.4044 |

2nd | 216 | 192.5288 | 159.6241 | 120.6139 |

3rd | 224 | 586.2708 | 612.5911 | 95.7034 |

4th | 1580 | 2840.7558 | 2401.0994 | 118.3106 |

Newton-Raphson iteration count to reach desired accuracy (Pedersen: Pedersen’s nonlinear FEM; Proposed: proposed nonlinear FEM).

Exp. | Elements | Pedersen | Proposed |
---|---|---|---|

1st | 6 | 5 | 5 |

2nd | 216 | 7 | 7 |

3rd | 224 | 26 | 32 |

4th | 1580 | 8 | 8 |

The speed-up columns of Tables

Our proposed method outperforms Pedersen’s method. On the average, it is

We also applied our method for corrective operation on the misshapen nose of a head mesh. The head mesh is composed of 6709 nodes and 25722 tetrahedral elements (see Figure

(a) Initial misshapen nose. (b) The head mesh is constrained at the blue nodes and pushed upwards at the green nodes. (c) The result of the nonlinear FEM: left: wireframe surface mesh with nodes; right: shaded mesh with texture.

We propose a new stiffness matrix calculation method for nonlinear FEM that is easier to analyze in terms of constructing elemental stiffness matrices and is faster than Pedersen’s method. The proposed method is approximately

Although the proposed nonlinear FEM has significant advantages over Pedersen’s nonlinear FEM, there is still room for the following development.

Heuristics could be applied to avoid root jumps.

Although we decreased system memory usage by simplifying the solution process for the nonlinear FEM, a significant amount of system memory is still used. The solution process could be further optimized to decrease memory usage.

The authors declare that there is no conflict of interests regarding the publication of this paper.