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.

Oh noes! The press!

It certainly looks like the papercraft work has taken a life of its own, and word of it has moved out of the blog domain and reached real publications (*gasp*)!

There's an article about the papercraft (and me!) on the excellent, Melbourne-based online Jumpbutton magazine.

There's also another article (mirrored on flickr) with a copy of page 24 from the August 2006 edition of Computer Gaming World :)

w00t :)

17 July 2006


tipu chomping the snark

OK, so I couldn't really delay this any longer. Half-Life 1 papercraft is ready to go - see here.

11 July 2006

xfig for the civilised world

I've been using xfig a lot whilst I've been writing up my thesis. For making technical, vector based drawings that are frugal and functional, it's been my friend for a long time (since first year uni!).

However, it's default startup options are enough to make you go completely potty. For example, the program starts using imperial measurements (seriously, who uses those any more?), US letter pagesize (same again) and has an infuriatingly crappy splash screen complete with a redundant, seizure inducing animation.

It finally drove me around the bend, so I took the time and read through the manpage and worked out a good set of startup options. If you want to start xfig with some shred of decency, go to your ~/.bashrc and add:

alias xfig='xfig -me -pap a4 -po -nosplash -startg 2'

This will start xfig with metric units, a4 paper size, in portrait mode, a 5mm grid and no splash screen!. My rant is now done.