living matter lab
Revision as of 19:51, 11 October 2010 by Ekuhl (Talk | contribs)

Contents

mechanics of growth

Wolff bone.jpg
Matlab bone.jpg

me 337 - mechanics of growth 10

ellen kuhl, manuel rausch
office hours wed 2pm, durand 217

fall 2010
tue thu 11:00-12:15
420-040

 

goals

in contrast to traditional engineering structures living structures show the fascinating ability to grow and adapt their form, shape and microstructure to a given mechanical environment. this course addresses the phenomenon of growth on a theoretical and computational level and applies the resulting theories to classical biomechanical problems like bone remodeling, hip replacement, wound healing, atherosclerosis or in stent restenosis. this course will illustrate how classical engineering concepts like continuum mechanics, thermodynamics or finite element modeling have to be rephrased in the context of growth. having attended this course, you will be able to develop your own problem-specific finite element based numerical solution techniques and interpret the results of biomechanical simulations with the ultimate goal of improving your understanding of the complex interplay between form and function.

grading

  • 30 % homework - 3 homework assignments, 10% each
  • 30 % midterm - closed book, closed notes, one single page cheat sheet
  • 20 % final project oral presentations - graded by the class
  • 20 % final project essay - graded by instructor

syllabus

day date topic slides homework
tue sep 21 motivation - everything grows! s01
thu sep 23 basics maths - notation and tensors s02 h01
tue sep 28 guest lecture: class project - growth of tennis player arms s03
thu sep 30 guided reading - no class s04
tue oct 05 basics kinematics - large deformation and growth s05
thu oct 07 guest lecture: arterial growth and remodeling s06
tue oct 12 basic balance equations - closed and open systems s07
thu oct 14 volume growth - growing tumors s08 h02
tue oct 19 volume growth - finite elements for growth s09
thu oct 21 volume growth - growing arteries s10
tue oct 26 volume growth - growing hearts s11
thu oct 28 midterm s12
tue nov 02 density growth - growing bones s13 example astronaut h03
thu nov 04 density growth - finite elements for growth / theory s14
tue nov 09 density growth - finite elements for growth / matlab s15 example matlab density
thu nov 11 density growth - growing bones s16 example bone
tue nov 16 density growth - finite elements for growth s17
thu nov 18 remodeling - remodeling arteries and tendons s18
tue nov 30 class project - discussion, presentation, evaluation
thu dec 02 class project - discussion, presentation, evaluation
thu dec 02 written part of final projects due -

class paper

taylor re, zheng ch, jackson pr, doll jc, chen jc, holzbaur krs, besier t, kuhl e. the phenomenon of twisted growth: humeral torsion in dominant arms of high performance tennis players. comp meth biomech biomed eng, in press, 2008 (download)

final project

BCATS Tennis.jpg

taylor re, zheng ch, jackson pr, doll jc, chen jc, holzbaur krs, besier t, kuhl e. the phenomenon of twisted growth: humeral torsion in dominant arms of high performance tennis players. 16th annual symposium on computational methods in orthopaedic biomechanics, san francisco, california, 2008 (download)

taylor re, zheng ch, jackson pr, doll jc, chen jc, holzbaur krs, besier t, kuhl e. critical loading during serve: modeling stress-induced bone growth in performance tennis players. SBC2008-192005. proceedings of the ASME 2008 summer bioengineering conference, marco island, florida, 2008 (download)

class project - tennisplayers

motivation - density measurements of tennisplayer arms in thor besier's lab
first results of the tennisplayer project

Humerus.jpg
here's the current state of the tennis player arm density project: bex generated a finite element mesh from the humerus surface data that she got from simbios through the open source simTK neuromuscular biomechanics page. cool! sorry ryan, this seems to be a male tennis player ;-( we've got two meshes, a coarse one and a fine one, modify the in_humer.m file to load either of the two. you might want to start with the coarse mesh data_hum1_elm.dat and data_humr1_nod1.dat. you can now download all the matlab files from matlab_bone.tar.gz and just change the input line from the femur to the humerus in the main file nlin_fem.m. the figure on the left has been generated by just applying three load steps, so far it's been just tension in the y-direction. with the help of kate holzbaur from scott delp's neuromuscular biomechanics lab, bex and ryan have determined the muscle forces during the serve in a fully three dimensional setting to load the humerus with the relevant forces and elaborate whether it grows in a twisted way.
 

here's the related literature you found: p00 ryan jackson, p01 p02 p03 p04 rebecca taylor, p05 p06 p07 p08 p09 p10 p11 p12 p13 p14 chun hua zheng, p15 nathaniel benz, p16 p17 p18 p19 p20 p21 julia chen, p22 joey doll, p23 amir shamloo

matlab files

voila!... just to get used to tensor notation and matlab
matlab_ex01.m ... the one with all the tensors

finally... here's the matlab nonlinear finite element code for density growth in bone!
matlab_bone.tar.gz ... the one where u got it all

or... if you prefer to look @all the individual files
i've tried to put comments to most of the variables, send me an email if you want moooore ;-)

nlin_fem.m ... the one and only
extr_dof.m ... the one which extracts element information from the global field
assm_sys.m ... the one with the strange big A operator
res_norm.m ... the one which tells you how far you are away from your ultimate goal
solve_nr.m ... the one with the solution to all problems
plot_int.m ... the one to plot internal variables on the spatial/deformed configuration
plot_mat.m ... the one to plot the material/undeformed configuration
quads_2d.m ... the one with the 2d quadrillateral element
tetra_3d.m ... the one with the 3d tetrahedral element
brick_3d.m ... the one with the 3d brick element
cnst_den.m ... the one with the constitutive equations for density growth
cnst_vol.m ... the one with the constitutive equations for volume growth
updt_den.m ... the one with yet another newton iteration to calculate the dnsity
updt_vol.m ... the one with yet another newton iteration to calculate the volume
ex_humer.m ... the one with the example of the 3d humerus
ex_femur.m ... the one with the example of the 2d femur
ex_bimat.m ... the one with the idealized humerus of cortical and trabecular bone
ex_cylin.m ... the one with the idealized humerus of trabecular bone
ex_tubes.m ... the one with the idealized humerus of cortical bone
ex_beams.m ... the one with the example of a beam
ex_punch.m ... the one with the example of a 3d punch
ex_block.m ... the one with the example of a 3d block
ex_frame.m ... the one with the example of the 2d frame structure
ex_unity.m ... the one with the example of two 2d elements
mesh_sqr.m ... the one which meshes a square domain
num_grid.m ... the other one from bex (thanx!)
in_humer.m ... the one from bex to read the humerus input
data_humr1_elm.dat ... the coarse one with the humerus elements
data_humr1_nod.dat ... the coarse one with the humerus coordinates
data_humr2_elm.dat ... the fine one with the humerus elements
data_humr2_nod.dat ... the fine one with the humerus coordinates
in_femur.m ... the one from bex to read the femur input
data_femur_elm.dat ... the one with all the femur elements
data_femur_nod.dat ... the one with all the femur coordinates

bone example

Matlab bone.jpg
for those of you who are interested in calculating the bone example from the literature (2) and (3), bex converted the bone file (you're awesome! thanx!) and now you could all run the bone with matlab! just download the gzipped archive above, unpack it, call the main file nlin_fem and type step,,50 to run 50 time steps to allow for density redistribution. you should then obtain the figure on the left... just throw me an email if it doesn't work! ... and yes, i know... the code's slow... so go'n get a cup of coffee... or try to re-code cnst_den.m in terms of either spatial or material stresses & tangents by using voigt's matrix notation and speed up quads_2d.m by using the traditional old-fashioned b-operator, it's maybe ugly in the code but a loaaad faster!
 

additional reading

don't feel forced to read all of this! it's just additional information that some of you might want to look at!

(1) taylor re, zheng c, jackson rp, doll jc, chen jc, holzbaur krs, besier t, kuhl e: the phenomenon of twisted growth: humeral torsion in dominant arms of high performance tennis players, submitted for publication 2007
(2) taber l: biomechanics of growth, remodeling, and morphogenesis, appl mech rew 48, 487-545, 1995
(3) jacobs, cr, levenston me, beaupre gs, simo jc, carter dr: numerical instabilities in bone remodeling simulations: the advantages of a node-based finite element approach, j biomechanics 28, 449-459, 1995
(4) kuhl e, menzel a, steinmann p: computational modeling of growth - a critical review, a classification and two new consistent approaches, computational mechanics 32, 71-88, 2003
(5) rodriguez ek, hoger a, mc culloch a: stress-dependent finite growth in soft elastic tissues, j biomechanics 27, 455-467, 1994
(6) kuhl e, maas r, himpel g, menzel a: computational modeling of arterial wall growth - attempts towards patient-specific simulations based on computer tomography, biomech model mechanobiol, available online first, DOI 10.1007/s10237-006-0062-x