26 July 2006

Linear vs. Nonlinear FEM in biomechanics

The situation goes like this: in a biomechanical FE (Finite Element) simulation, the actual mechanical parameters of tissue are difficult to accurately determine. You can't just go poking tissue inside a live human being to get parameters because, well, they're alive. Dead tissue in cadavers responds differently, and the use of data from animal tissue is debatable - as well as having its own ethical problems.

So, given the issue of modeling tissue using near-real- or real-time FEM, is it worth using a more accurate mechanical model - say, nonlinear elasticity - over a simpler model, such as linear elasticity, which is easier to simulate?

Unless the deformations are really small, my own take on it is to use nonlinear FE (such as Neohookean elasticity) if at all possible. This is not because of precision, but because of better behavior under large strains. Let's look at an example.

Here I've meshed the infamous Stanford bunny using my own octree-based meshing technique into about 22,000 tetrahedra. I've fixed anchor points at the top of the left ear and near the lower rear of the bunny. Gravity is applied to the object, and we observe what happens as the FE-solver (in this case, a modified version of salmon by Nienhuys) converges to a rest-state (which is never completely reached, for the sake of brevity). The visualisation is done in VTK and computed on a 3.2Ghz Intel PC running kubuntu.

Linear Elasticity:

Initially, the solution is great, but eventually, the volume blows up. Not much practical use.

Neohookean (nonlinear) Elasticity:

Much better. The right ear makes a concerted effort to flop about a bit, and we see the mass of the object roughly rotating around the axis formed by the left ear and the anchor points in the bunny's rear end.

No comments: