living matter lab

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!
 

source code

all the growth files tared and gzipped...

me337_matlab.tar.gz ... the one where u got it all

or... if you prefer to look @all the individual files

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_tube1.m ... the one with the tube under tension
ex_tube2.m ... the one with the tube under compression
ex_tube3.m ... the one with the tube stented
ex_beams.m ... the one with the beam
ex_humr1.m ... the one with the coarse 3d humerus
ex_humr2.m ... the one with the fine 3d humerus
ex_femur.m ... the one with the 2d femur
ex_frame.m ... the one with the topology optimization
ex_cylin.m ... the one with the idealized humerus of trabecular bone
ex_tubed.m ... the one with the idealized humerus of cortical bone
ex_bimat.m ... the one with the idealized humerus of cortical and trabecular bone
ex_punch.m ... the one with the 3d punch
ex_block.m ... the one with the3d block
ex_unity.m ... the one with the two 2d elements
mesh_sqr.m ... the one which meshes a square domain
in_humer.m ... the one which reads 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 which reads 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