Patient specific finite element modeling of the human lumbar motion segment

102 235 0
Patient specific finite element modeling of the human lumbar motion segment

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Patient-specific Finite Element Modeling of the Human Lumbar Motion Segment Bian Li Ming (B.Eng (Hons)) A DISSERTATION SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE GRADUATE PROGRAM IN BIOENGINEERING NATIONAL UNIVERSITY OF SINGAPORE JUNE, 2004 Acknowledgement The author would like to extend his greatest gratitude towards following people: Professor Teoh Swee Hin, the main supervisor of this thesis project, for his enlightening and instructive guidance during the process of this project Associate Professor Ong Sim Heng, the co-supervisor of this thesis project, for his informative advices on image processing technologies which is a crucial component of this project Dr Wong Hee Kit, the co-supervisor of my thesis project, for his advices on spinal anatomy, a good understanding of which is extremely important to the construction of the spine finite element models Dr Yan Chye Hwang, a member of the Thesis Steering Committee, for his effective advices in elastic mapping and registration Associate Professor Wang Shih Chang, a member of the Thesis Steering Committee, for his insightful advices on the medical imaging of the human spine Mr Jeremy Teo, Mr Zhang Jin and Mr Wang Zhenlan, the author’s fellow colleagues in VSW group, for their indispensable help in various works involved in this project Mr Feng Wei, for his help in providing the floating license of the software MIMICS The project group is funded by Virtual Spine Workstation grant (Grant No.: 397-000-006-305) from the Agency for Science, Technology and Research (A*STAR), Singapore Contents Contents List of figures iii List of tables vi Summary Chapter Introduction 1.1 Background 1.2 Finite Element Analysis/Method (FEA/FEM) 1.3 Finite Element meshing 1.3.1 1.3.2 1.3.3 Mesh Density Element Distortion .5 Element Limitations .5 1.4 Application of FEA in Biomedical Engineering 1.5 Objectives 1.6 Overview Chapter 2.1 Literature review on lumbar spine modeling Brief introduction to spinal anatomy 2.1.1 The vertebral column .9 2.1.2 The lumbar vertebra 11 2.1.3 The intervertebral disc (IVD) .13 2.1.3.1 Overall anatomy 13 2.1.3.2 The Nucleus Pulposus 14 2.1.3.3 The Annulus Fibrosus 14 2.1.3.4 The Endplates 15 2.1.3.5 Disc Degenerations 16 2.2 Review on lumbar spine modeling 17 2.2.1 2.2.2 Previous finite element models 17 Discussion & conclusion .23 Chapter Methods in building patient-specific FE models 25 3.1 Introduction 25 3.2 Meshing patient-specific geometry 26 3.2.1 Manual meshing 26 3.2.2 Automatic meshing 27 3.2.2.1 Mesh built from medical images 27 3.2.2.2 Mesh built through registration of medical images 31 3.2.2.3 Octree-spline Non-rigid deformation mesh-match algorithm 31 i Contents 3.3 Material properties in FE modeling of biological structures 33 3.4 Conclusion 34 Chapter Normal line searching TPSI method 37 4.1 Introduction 37 4.2 Materials & methods 38 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 Lumbar Template FE mesh 38 The patient-specific data 38 Thin-plate spline interpolation 39 Local Surface Normal 42 Normal line searching method .43 Pre-mapping adjustments 47 4.3 Results of mesh mapping 49 4.4 Discussion 52 4.5 Conclusion 54 Chapter FE simulation of a lumbar motion segment 55 5.1 Finite element model 55 5.2 Biomechanical responses of the lumbar MS under pure loadings 58 5.2.1 Axial compression .58 5.2.1.1 Parametric study on the axial stiffness of the MS 58 5.2.1.2 Comparison with experimental results .61 5.2.1.3 Analysis of stress distribution pattern under axial compression .63 5.2.2 Flexion 68 5.2.2.1 Flexural stiffness of the lumbar MS 68 5.2.2.2 Comparison with the experimental results 69 5.2.2.3 Analysis of the stress distribution pattern 70 5.2.3 Lateral bending 71 5.3 Conclusion 72 Chapter 6.1 6.1.1 6.1.2 6.2 Recommendations & Conclusions 74 Recommendations 74 Patient-specific geometry 74 Patient specific material property 75 Conclusion 76 References 78 Appendix 83 ii List of figures List of figures Fig 2.1 Lateral (side) view of a normal spine The drawing shows the locations of the five major spinal levels The cervical region has seven vertebrae (C1 through C7), the thoracic region has 12 vertebrae (T1 through T12) and the lumbar region has five vertebrae (L1 through L5) The sacral region consists of five vertebrae, all fused together to form one continuous bone mass known as the sacrum The coccygeal region consists of four vertebrae, all fused together to form the coccyx or tailbone 10 (http://www.espine.com/normal_anatomy.html) Fig 2.2 Detailed lateral (side) view of a segment of three lumbar vertebrae (http://www.espine.com/normal_anatomy.html) 10 Fig 2.3 Detailed top and lateral (side) view of a lumbar vertebra 12 Fig 2.4 A segment of lumbar spine revealing the internal structure of an intervertebral disc and spinal nerve 13 system (http://www.dcdoctor.com/pages/rightpages_healthconditions/yourspine) Fig 2.5 Detailed anatomy of the intervertebral disc (courtesy from the Slide Library of the Othorpaedic Surgery Department of the National University Hospital) 13 Fig 2.6 Organization of the collegan fibrils in the annulus lamella (courtesy from the Slide Library of the Othorpaedic Surgery Department of the National University Hospital) 15 Fig 2.7 The nucleus pulposus gradually loses its water content and gel-like property as the disc ages Left picture shows an adolescent disc; the middle one is a disc in its 2nd to 3rd decade; the right one is a disc of seriously aged spine (Courtesy from the Slide Library of the Othorpaedic Surgery Department of the National University Hospital) 16 Fig 2.8 Distribution of forces in the normal and abnormal disc A, when the disc functions normally, as in the early decades of life, the nucleus distributes the forces of compression and tension equally to all parts of annulus B, with degeneration, the nucleus no longer functions as a perfect gel Now the forces distributed to the annulus are less and not equal C, with advanced degeneration of the nucleus, the 17 distribution of forces to the annulus is completely lost (Anthony, 1970) Fig 2.9 The first model of an intervertebral disc and adjacent vertebrae developed by Belytschko et al in 1974 20 The model is axisymmetric with a horizontal plane of symmetry (Belytschko et al, 1974) Fig 2.10 The three-dimensionalnon-linear model of the L2–L3 disc body unit developed by Shirazi-Adl et al in 1983 Because of symmetry, only a quarter of the joint was modelled, with symmetry about the sagittal plane and mid-horizontal plane (Shirazi-Adl et al., 1984) 21 Fig 2.11 An exploded view of a typical motion segment model showing the vertebrae, end plates and intervertebral disc (Wang et al., 1997) 21 Fig 2.12 A full three-dimensional finite element model of the L2–L3 motion segment showing typical ligament attachments included in many of today’s models (Lu et al., 1996) 22 Fig 2.13 Finite element model of two motion segments from the lumbar spine which includes both ligaments 22 and muscles (Goel et al., 1993) Fig 2.14 Finite element model of human lumbar spine section from L2 to L4 with spinal ligaments (Smit, 1996) 23 iii List of figures Fig 3.1 A geometrically accurate model of a vertebra generated directly from CT data (Fagan, 2002) 28 Fig 3.2 Voxel mesh of a C4 vertebra obtained directly from CT data, where each voxel was converted directly into a finite element (Bozic et al., 1994) 30 Fig 3.3 Smoothened voxel mesh of a femur head used for contact analysis (Nicole, 2003) 30 Fig 3.4 Finite element model of a human skull base, a) original voxel mesh with discontinuous surface, b) mesh surface smoothened using the centroid-based algorithm (Daniel et al., 1997) 30 Fig 3.5 A reference MRI dataset was manually segmented first (upper left) The template segments (lower left picture) were then registered to a volunteer image (lower right) to generate a volunteer 3-D image Differences can be seen in the shape of the tibial plateau and femoral condyle as indicated The resultant mapping function is used to transform the template mesh into a patient-specific mesh (upper right) 32 Fig 3.6 Superimposition of the reference 3D mesh (grey) with the 3D surface target points (black) from one femur b) 3D mesh of the volunteer’s femur (shaded grey) generated from the reference 3D mesh (wire frame) 32 Fig 3.7 Application of mesh-match algorithm in generation of patient-specific facial soft tissue FE models (left: reference mesh before mapping; right: new mesh generated after mapping) 33 Fig 4.1 a) the templates lumbar vertebra mesh b) the template mesh with the surface normal vectors of each surface node represented as short truss elements 38 Fig 4.2 (a) A thin steel plate tacked at points (b) Application of TPSI in a 2-D interpolation problem 39 Fig 4.3 Creating local unit vector surface normal from all neighboring vertices 43 Fig 4.4 Normal line searching 46 Fig 4.5 Iterative local adjustment of the template mesh 47 Fig 4.6 mesh generate for a pig vertebra Left, central and right column are the top, side and perspective view of the target pig vertebra geometry, the template or template mesh; and the transformed mesh, respectively 50 Fig 4.7 Mesh generate for a human L3 vertebra Left, central and right column are the top, side and perspective view of the target L3 vertebra geometry, template mesh and the transformed mesh, respectively 51 Fig 4.8 The results of the element shape correction procedure 51 Fig 5.1 First and second row are different views of segmented lumbar motion segment and its FE model constructed, respectively 57 Fig 5.2 The effect of Poisson’s ratio of the disc nucleus on the axial stiffness of the lumbar motion segment 60 Fig 5.3 The effect of Young’s Modulus of the disc nucleus on the axial stiffness of the lumbar motion segment 61 Fig 5.4 Comparison of a) compressive and b) flexural stiffness curves HN: Hirsch & Nachemson, 1954; T/Tencer: Tencer et al, 1982; MM: Markolf & Morris, 1974; V: Virgin, 1972; M: Markolf, 1951, Panjabi: Panjabi, 1977; Schultz: Schultz, 1979 62 iv List of figures Fig 5.5 Von Mises stress distribution in the superior vertebral cortical shell of the motion segment model with a) a healthy disc nucleus or b) a degenerated disc nucleus (red, yellow, green and blue colors in order represent stress of highest value to lowest value, following figures follow the same convention) 66 Fig 5.6 Comparison of maximum Von Mises stress observed in the superior vertebral cortical shell under axial compression 66 Fig 5.7 Medial saggital section view of the Von Mises stress distribution in the cortical shell of the Degenerated model under axial compression load of 3000N 67 Fig 5.8 Medial saggital section view of the Von Mises stress distribution in the cancellous core of a) the Normal model (the disc nucleus is not shown) and b) the Degenerated model under axial compression load of 3000N (the grey color is used to represent the stress values which are higher than the stress 67 value represented by the red color) Fig 5.9 Tensile principal stress distribution in the lower endplate of the superior vertebra 68 Fig 5.10 The effects of dysfunctional collagen fibrils of the disc annulus on the motion segment flexural stiffness 69 Fig 5.11 Medial saggital section view of the Von Mises stress distribution in the cancellous core and posterior elements of the Degenerated model a) with spinal ligaments and b) without spinal ligaments when the motion segment is subjected to flexural bending moment (the grey color is used to represent the stress 71 values which are higher than the stress value represented by the red color) Fig 5.12 Comparison of leftward and rightward lateral bending stiffness of scolotic motion segment (L/R-NL: leftward/rightward bending without spinal ligaments; L/R-Lig: leftward/rightward bending with spinal ligaments) 72 v List of tables List of tables Table 3.1 Comparison of different meshing techniques 36 Table 5.1 The material properties assigned to various spinal structures in the Finite element model 57 vi Summary Summary Finite Element Method (FEM) has been widely used in the field of orthopedic biomechanics to investigate biomechanical behavior of human spine, especially the lumbar region of the spine, which is associated with various forms of spinal pathologies Patient-specificity of a finite element model of the lumbar spine in both geometry and material property proves crucial to the study of the pathogenesis of lumbar spinal disorders and to the enhancement of the simulation realism of medical surgeries on spine as well The objectives of this dissertation project are: firstly, to develop a method capable of rapidly creating FE meshes with patient-specific geometry; secondly, to study the unique biomechanical response of a lumbar motion segment as a result of its special geometry After a thorough review on the previous mesh generation methods, this dissertation proposes a novel method, named Normal Line Searching TPSI Method This method can be used to rapidly generate FE meshes of human lumbar spine motion segments with accurate geometry by mapping a template mesh onto patient-specific geometry derived from analysis of medical images, such as CT or MR images Successful mapping of human and pig lumbar vertebrae demonstrated the robustness and versatility of this method The major advantages of the proposed mesh mapping method are: mapping accuracy onto complex geometry is very good; element organization and mesh simplicity of the template mesh is inherited in the generated meshes after mapping; and the time needed for new mesh generation is short Compared with a benchmark algorithm in performing 3D mesh mapping, the octree-spline mesh-matching algorithm, the proposed method is capable of accurately mapping elongated geometrical features, such as the processes of the lumbar vertebrae Summary Using the proposed method, a lumbar spine motion segment (MS) including two lumbar vertebrae and one intervertebral disc (IVD) was constructed based on a human CT dataset It was found that the scoliotic symptom manifested by the geometry of the lumbar MS has a significant impact on its biomechanical responses under pure loadings One phenomenon is that the cortical shell of the lumbar vertebra at the scoliotic concave side sustains higher stress than that at the other side when the MS is subjected to axial compression Furthermore, the tensile principal stress distribution in the lumbar vertebra was found to be modified by the geometrical abnormality of the lumbar vertebrae as a result of the extensive osteophtye formation The mechanics of the IVD was also investigated in this study in order to improve the patientspecificity of the FE model To conclude, the works presented in this dissertation successfully achieved the objectives of this M.Sc project References Lavallee, S., Sautot, P., Troccaz, J., Cinquin, P., Merloz, P., 1995 Computer assisted spine surgery: a technique for accurate transpedicular screw "xation using CT data and a 3D optical localizer Journal of Image Guided Surgery, 1/1, page 65-73 Lavaste, F., Skalli, W., 1992 Three-Dimensional Geometricaland Mechanical Modeling of the Lumbar Spine Journal of Biomechanics, Vol 25, No 10, pp 1153-1164 Lee, K.K., TX Qiu and EC Teo, 2002 3-d finite element modeling of lumbar spine (L2/L3) using digitizer Int J of Information Technology, Sept; 8(2), (JP_08) Lu, Y M., Hutton, W C and Gharpuray, V M., 1996 Do bending, twisting and diurnal fluid changes in the disc affect the propensity to prolapse? A viscoelastic finite element model, Spine, 21, 2570¨C2579 Markolf, K L and Morris, J M., 1974 The structural components of the intervertebral disc J Bone Jt Surg., 56A(4), 675¨C687 Markolf, K L., 1972 Deformation of the thoracolumbar intervertebral joints in response to external loads J Bone Jt Surg., 54A, 511¨C533 Martinez, J B., Oloyede, V O A and Broom, N D., 1997 Biomechanics of load bearing of the intervertebral disc: an experimental and finite element model Med Engng Phys., 19, 145¨C156 Matthieu Chabanas, Vincent Luboz, Yohan Payan, Patient specific finite element model of the face soft tissues for computer-assisted maxillofacial surgery, Medical Image Analysis, vol 7, page 131-151, 2003 McCarthy, A.D., I.D Wilkinson, D.R Hose, D.C Barber, S Wood, G Darwent, D Chan, D.R Bickerstaff., 2002 Musculo-Skeletal Simulation: Finite Element Meshes Derived From Magnetic Resonance Volumes Proceedings of the International Society for Magnetic Resonance in Medicine, May 18-24 Meakin, J.R., Hukins, D.W.L., 2000 Effect of removing the nucleus pulposus on the deformation of the annulus fibrosus during compression of the intervertebral disc Journal of Biomechanics, 33, 575-580 MIMICS (Materialise NV, Leuven) Nicole M Grosland Douglas R Pedersen Thomas D Brown, 2003 An anatomical voxelbased FE contact analysis formulation unpublished materials Panjabi, M M., Krag, M H., White, A A., Southwick, W O., 1977 EVects of preload on load¨Cdisplacement curves of the lumbar spine Orthop Clin North Am., 8, 181-C192 Photoshop (Adobe Systems, Inc., San Jose) 80 References Schultz, A B., Warwick, D N., Berkson, M H., Nachemson, A L., 1979 Mechanical properties of human lumbar spine motion segments Part I: responses in flexion, extension, lateral bending and torsion J Biomech Engng, 101, 46-C52 Shirazi-Adl A., Shrivastava S.C., Ahmed A.M., 1984 Stress analysis of the lumbar discbody unit in compression Spine, vol 9, No.2, page 120-134 Shirazi-Adl A., Shrivastava S.C., Ahmed A.M., 1986 Mechanical response of a lumbar motion segment in axial torque alone and combined with compression Spine, vol 11, No.9, page 914-927 Shirazi-Adl, A., 1991 Finite element evaluation of contact loads on facets of an L2¨CL3 lumbar segment in complex loads, Spine, 16, 533¨C541 Simon, B R., Wu, J S S., Carlton, M W., Evans, J H.and Kazarian, L E , 1985 Structural models for human spinal motion segments based on a poroelastic view of the intervertebral disc J Biomech Engng, 107, 327¨C335 Skinner, H.B., Kim, A.S., Keyak, J.H., Mote, C.D., 1994 Femoral prosthesis implantation induces changes in bone stress depend on the extent of porous coating, Journal of Orthopedic Research 12(4), 553-563 Smit, T.H., 1996 The mechanical significance of the trabecular bone architecture in a human vertebra, Phd dissertation Spiker, R L A., 1982 Simplified hybrid-stress finite element model of the intervertebral disc In Finite Elements in Biomechanics (Eds R H Gallagher, B R Simon, P C Bradford, D S Johnson and J F Gross), pp 295¨C312 Szeliski, R., Lavallee, S., 1996 Matching 3-D anatomical surfaces with non-rigid deformations using octree-splines International Journal of Computer Vision 18 (2), 171186 Tan, J.S., 1998 Finite element modelling of an intervertebral disc under pure and mixed loadings, dissertation (M.Eng.), Dept of Mechanical and Production Engineering, Faculty of Engineering, National University of Singapore Tanaka, N., An H.S., Lim T.H., Fujiwara A., Jeon C.H., Haughton V.M., 2001 The relationship between disc degeneration and flexibility of the lumbar spine Spine J., 1(1), 47-56 Taylor WR, Warner MD, Clift SE., 2003 Finite element prediction of endosteal and periosteal bone remodelling in the turkey ulna: effect of remodeling signal and dead-zone definition Proc Inst Mech Eng [H], 217(5): page 349-56 81 References Tencer, A F., Ahmed, A M and Burke, D L., 1982 Some static mechanical properties of the lumbar intervertebral joint, intact and injured J Biomech Engng, 104, 193¨C201 Virgin, W J., 1951 Experimental investigations into the physical properties of the intervertebral disc J Bone Joint Surgery, 33B, 607¨C611 Vollmer D, Meyer U, Joos U, Vegh A, Piffko J, 2000 Experimental and finite element study of a human mandible, J Craniomaxillofac Surg Apr; 28(2):91-6 Wang, J L., Parnianpour, M., Shirazi-Adl, A., Engin, A E., Li, S and Patwardhan, A., 1997 Development and validation of a viscoelastic finite element model of an L2/L3 motion segment Theor Appl Fracture Mechanics, 28, 81¨C93 Zienkiewicz, O.C., Taylor, R.L., 1989 The Finite Element Method, Basic Formulation and Linear Problems MacGraw-Hill, Maidenhead, UK 82 Appendix Appendix A.1 Matlab coded program for normal line searching procedure function nor=nor7 s1=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s1.txt',','); s2=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s2.txt',','); s3=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s3.txt',','); s4=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s4.txt',','); s5=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s5.txt',','); s6=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s6.txt',','); element=load('C:\GY\Matlab6p5\work\bian\we\constant\element.txt',','); % N by matrix node=load ('C:\GY\Matlab6p5\work\bian\we\1premapping\alignout.out',',');%input nodes!!!! ctnode=load('C:\GY\Matlab6p5\work\bian\we\constant\ctnode.txt',','); edgenode=load('C:\GY\Matlab6p5\work\bian\we\constant\edgenode.txt',','); % N by CT nodes edgenode=unique(edgenode); Els1=unique(s1); Els2=unique(s2); Els3=unique(s3); Els4=unique(s4); Els5=unique(s5); Els6=unique(s6); [re,ce] = size(element); elnode=element(1:re,2:ce); eleID=element(1:re,1); for s=1:length(Els1) [row, col] = find(element(:,1)==Els1(s)); facet1(s,:)=element(row,[2 3]); end for s=1:length(Els2) [row, col] = find(element(:,1)==Els2(s)); facet2(s,:)=element(row,[6 9]); end for s=1:length(Els3) [row, col] = find(element(:,1)==Els3(s)); facet3(s,:)=element(row,[2 6]); end for s=1:length(Els4) [row, col] = find(element(:,1)==Els4(s)); facet4(s,:)=element(row,[3 7]); end for s=1:length(Els5) [row, col] = find(element(:,1)==Els5(s)); facet5(s,:)=element(row,[4 8]); end for s=1:length(Els6) [row, col] = find(element(:,1)==Els6(s)); facet6(s,:)=element(row,[5 9]); end Appendix facet=[facet1;facet2; facet3; facet4; facet5; facet6]; %all surface facets defined by nodes, N by [rf,cf] = size(facet); [rn,cn] = size(node); jj=1; for s=1:rn [row, col] = find(facet==node(s,1)); if and(length(row)=1) surfnode(jj,:)=node(s,:); %surface nodes shared by jj=jj+1; end end [r1,c1] = size(surfnode); for s=1:r1 [row, col] = find(facet==surfnode(s,1)); nodefacet(s,1)=surfnode(s,1); % surfnode with N(1-5) pairs of adjacent nodes in anti-closewise order(each adj node appears two times) for j=1:length(row) if col(j)==4 nodefacet(s,2*j:2*j+1)=facet(row(j),[3,1]); elseif col(j)==1 nodefacet(s,2*j:2*j+1)=facet(row(j),[4,2]); else nodefacet(s,2*j:2*j+1)=facet(row(j),[col(j)1,col(j)+1]); end end if length(nodefacet(s,:))==1 nodefacet(s,:) end end ndnormal=zeros(r1,4); for s=1:r1 [row, col] = find(nodefacet(s,:)>0); for j=1:(length(col)-1)/2 ndnormal(s,1)=nodefacet(s,1);% surface normal vector at each surfnode4 node(node id, vecter) N by [row, col] = find(node(:,1)==nodefacet(s,1)); %surfnode4(:,1)=nodefacet(:,1)=ndnormal(:,1) [row1, col1] = find(node(:,1)==nodefacet(s,2*j)); [row2, col2] = find(node(:,1)==nodefacet(s,2*j+1)); normal=cross(node(row2,2:4)-node(row,2:4),node(row1,2:4)node(row,2:4)); ndnormal(s,2:4)=ndnormal(s,2:4)+normal; end if norm(ndnormal(s,2:4))==0 ndnormal(s,:) nodefacet(s,:) end ndnormal(s,2:4)=ndnormal(s,2:4)/norm(ndnormal(s,2:4));%normalize the normal vector end Appendix for j=1:rf side(4*j-3,:)=facet(j,[1 2]); side(4*j-2,:)=facet(j,[2 3]); side(4*j-1,:)=facet(j,[3 4]); side(4*j,:)=facet(j,[4 1]); end [side,IX] = sort(side,2); side=unique(side,'rows'); [rs,cs] = size(side); for j=1:rs ro1=find(edgenode==side(j,1)); ro2=find(edgenode==side(j,2)); if and(length(ro1)==1,length(ro2)==1) sidenode(j,8)=1; end [row2, col2] = find(node(:,1)==side(j,2)); [row1, col1] = find(node(:,1)==side(j,1)); sidenode(j,2:4)=0.5*(node(row2,2:4)+node(row1,2:4)); [row2, col2] = find(ndnormal(:,1)==side(j,2)); [row1, col1] = find(ndnormal(:,1)==side(j,1)); sidenode(j,5:7)=(ndnormal(row2,2:4)+ndnormal(row1,2:4))/norm(ndnormal(r ow2,2:4)+ndnormal(row1,2:4)); end for j=1:rf [row1, [row2, [row3, [row4, col1] col2] col3] col4] = = = = find(node(:,1)==facet(j,1)); find(node(:,1)==facet(j,2)); find(node(:,1)==facet(j,3)); find(node(:,1)==facet(j,4)); centernode(j,2:4)=0.25*(node(row1,2:4)+node(row2,2:4)+node(row3,2:4)+no de(row4,2:4)); [row1, col1] = find(ndnormal(:,1)==facet(j,1)); [row2, col2] = find(ndnormal(:,1)==facet(j,2)); [row3, col3] = find(ndnormal(:,1)==facet(j,3)); [row4, col4] = find(ndnormal(:,1)==facet(j,4)); centernode(j,5:7)=ndnormal(row1,2:4)+ndnormal(row2,2:4)+ndnormal(row3,2 :4)+ndnormal(row4,2:4); centernode(j,5:7)=centernode(j,5:7)/norm(centernode(j,5:7)); end centernode(:,8)=0; extranode(:,2:8)=[sidenode(:,2:8);centernode(:,2:8)];%N by node (extraNdId,x,y,z,normal vector) [rex,cex] = size(extranode); extranode(:,1)=[12001:12000+rex]'; surfnode=extranode(:,1:4); ndnormal=extranode(:,[1 8]); clear centernode sidenode extranode nodefacet facet side [r1,c1] = size(surfnode); [rct,cct] = size(ctnode); Appendix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for s=1:r1 if ndnormal(s,5)==0 %%%%%%%%%%%%%%%%%%%% ii=1; for j=1:rct if norm(ctnode(j,2:4)-surfnode(s,2:4))=3 Appendix move=mean(ctnode([posNor(length(row),1) posNor(length(row-1),1) posNor(length(row-2),1)],2:4)); tran(s,:)=surfnode(s,2:4)+dot(movesurfnode(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); else tran(s,:)=surfnode(s,2:4)+dot(ctnode(posNor(length(row),1),2:4)surfnode(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); end else negNor=mini; negNor=sortrows(negNor,3); if rmini>=3 move=mean(ctnode([negNor(rmini,1) negNor(rmini-1,1) negNor(rmini-2,1)],2:4)); tran(s,:)=surfnode(s,2:4)+dot(movesurfnode(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); else tran(s,:)=surfnode(s,2:4)+dot(ctnode(negNor(rmini,1),2:4)surfnode(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); end end end end cont(s,:)=surfnode(s,2:4); elseif ndnormal(s,5)==1 %%%%%%%%%%%%%%%%%%%% jj=1; for j=1:rct if norm(ctnode(j,2:4)-surfnode(s,2:4))5 mini(k:rmini,:)=[]; break end end mini=sortrows(mini,3);%then sequence the 100 ct nodes with smallest distance to the normal line according to their projection ot the surface node normal [rmini,cmini] = size(mini); [row, col] = find(mini(:,3)>=0); Appendix if length(row)>0 %negNor=mini(1:rmini-length(row),:); posNor=mini(rmini-length(row)+1:rmini,:); %negNor=sortrows(negNor,3); posNor=sortrows(posNor,3); tran(s,:)=ctnode(posNor(length(row),1),2:4); %tran(s,:)=surfnode4(s,2:4)+dot(ctnode(posNor(length(row),1),2:4)surfnode4(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); else negNor=mini; negNor=sortrows(negNor,3); tran(s,:)=ctnode(negNor(rmini,1),2:4); %tran(s,:)=surfnode4(s,2:4)+dot(ctnode(negNor(rmini,1),2:4)surfnode4(s,2:4),ndnormal(s,2:4))*ndnormal(s,2:4); end cont(s,:)=surfnode(s,2:4); end %%%%%%%%%%%%%%%%%%%% clear mini ndline negNor posNor end [row, col] = find(tran(:,1)==10000); tran(row,:)=[]; cont(row,:)=[]; node=plate(node,cont,tran); dlmwrite('Final.out',node,',') Appendix A.2 Matlab coded program for iterative alignment procedure function align=align s1=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s1.txt',','); s2=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s2.txt',','); s3=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s3.txt',','); s4=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s4.txt',','); s5=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s5.txt',','); s6=load('C:\GY\Matlab6p5\work\bian\we\constant\allfacet\s6.txt',','); element=load('C:\GY\Matlab6p5\work\bian\we\constant\element.txt',','); % N by matrix node=load ('C:\GY\Matlab6p5\work\bian\we\1premapping\mapa.out',','); % N by matrix std FE nodes ctnode=load('C:\GY\Matlab6p5\work\bian\we\constant\ctnode.txt',',');%mi mics nodes allsurfnd=load('C:\GY\Matlab6p5\work\bian\we\constant\allsurfnd.txt',', '); Els1=unique(s1); Els2=unique(s2); Els3=unique(s3); Els4=unique(s4); Els5=unique(s5); Els6=unique(s6); LLprocess=load('C:\GY\Matlab6p5\work\bian\we\constant\LLprocess.txt',', '); LLprocess=unique(LLprocess); RLprocess=load('C:\GY\Matlab6p5\work\bian\we\constant\RLprocess.txt',', '); RLprocess=unique(RLprocess); LsupN=load('C:\GY\Matlab6p5\work\bian\we\constant\LsupN.txt',','); LsupN=unique(LsupN); RsupN=load('C:\GY\Matlab6p5\work\bian\we\constant\RsupN.txt',','); RsupN=unique(RsupN); LinfN=load('C:\GY\Matlab6p5\work\bian\we\constant\LinfN.txt',','); LinfN=unique(LinfN); RinfN=load('C:\GY\Matlab6p5\work\bian\we\constant\RinfN.txt',','); RinfN=unique(RinfN); SpProcess=load('C:\GY\Matlab6p5\work\bian\we\constant\SpProcess.txt',', '); SpProcess=unique(SpProcess); [re,ce] = size(element); for s=1:length(Els1) [row, col] = find(element(:,1)==Els1(s)); facet1(s,:)=element(row,[2 3]); end for s=1:length(Els2) [row, col] = find(element(:,1)==Els2(s)); facet2(s,:)=element(row,[6 9]); end for s=1:length(Els3) [row, col] = find(element(:,1)==Els3(s)); facet3(s,:)=element(row,[2 6]); Appendix end for s=1:length(Els4) [row, col] = find(element(:,1)==Els4(s)); facet4(s,:)=element(row,[3 7]); end for s=1:length(Els5) [row, col] = find(element(:,1)==Els5(s)); facet5(s,:)=element(row,[4 8]); end for s=1:length(Els6) [row, col] = find(element(:,1)==Els6(s)); facet6(s,:)=element(row,[5 9]); end facet=[facet1;facet2; facet3; facet4; facet5; facet6]; %all surface facets defined by nodes, N by [rf,cf] = size(facet); [rn,cn] = size(node); [ra,ca] = size(allsurfnd); for i=1:5 [rIL,cIL] = size(LinfN); jj=1; ii=1; for s=1:rIL [row, col] = find(facet==LinfN(s,1)); [rown, coln] = find(node(:,1)==LinfN(s,1)); if and(length(row)=1) surfnodeIL(jj,:)=node(rown,:); jj=jj+1; end end [tranIL,contIL]=nor(surfnodeIL,node); [r,c] = size(tranIL); diff=tranIL-contIL; vector=mean(diff,1); for j=1:r tranIL(j,:)=contIL(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rIR,cIR] = size(RinfN); jj=1; ii=1; for s=1:rIR [row, col] = find(facet==RinfN(s,1)); [rown, coln] = find(node(:,1)==RinfN(s,1)); if and(length(row)=1) surfnodeIR(jj,:)=node(rown,:); jj=jj+1; end end [tranIR,contIR]=nor(surfnodeIR,node); Appendix [r,c] = size(tranIR); diff=tranIR-contIR; vector=mean(diff,1); for j=1:r tranIR(j,:)=contIR(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rL,cL] = size(LLprocess); jj=1; ii=1; for s=1:rL [row, col] = find(facet==LLprocess(s,1)); [rown, coln] = find(node(:,1)==LLprocess(s,1)); if and(length(row)=1) surfnodeL(jj,:)=node(rown,:); jj=jj+1; end end [tranL,contL]=nor(surfnodeL,node); [r,c] = size(tranL); diff=tranL-contL; vector=mean(diff,1); for j=1:r tranL(j,:)=contL(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rR,cR] = size(RLprocess); jj=1; ii=1; for s=1:rR [row, col] = find(facet==RLprocess(s,1)); [rown, coln] = find(node(:,1)==RLprocess(s,1)); if and(length(row)=1) surfnodeR(jj,:)=node(rown,:); jj=jj+1; end end [tranR,contR]=nor(surfnodeR,node); [r,c] = size(tranR); diff=tranR-contR; vector=mean(diff,1); for j=1:r tranR(j,:)=contR(j,:)+vector; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rsL,csL] = size(LsupN); jj=1; Appendix ii=1; for s=1:rsL [row, col] = find(facet==LsupN(s,1)); [rown, coln] = find(node(:,1)==LsupN(s,1)); if and(length(row)=1) surfnodeSL(jj,:)=node(rown,:); jj=jj+1; end end [r1,c1] = size(surfnodeSL); for s=1:r1 [row, col] = find(surfnodeL(:,1)==surfnodeSL(s,1)); if length(row)>0 surfnodeSL(s,1)=0; end end [row, col] = find(surfnodeSL(:,1)==0); surfnodeSL(row,:)=[]; [tranSL,contSL]=nor(surfnodeSL,node); [r,c] = size(tranSL); diff=tranSL-contSL; vector=mean(diff,1); for j=1:r tranSL(j,:)=contSL(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rsR,csR] = size(RsupN); jj=1; ii=1; for s=1:rsR [row, col] = find(facet==RsupN(s,1)); [rown, coln] = find(node(:,1)==RsupN(s,1)); if and(length(row)=1) surfnodeSR(jj,:)=node(rown,:); jj=jj+1; end end [r1,c1] = size(surfnodeSR); for s=1:r1 [row, col] = find(surfnodeR(:,1)==surfnodeSR(s,1)); if length(row)>0 surfnodeSR(s,1)=0; end end [row, col] = find(surfnodeSR(:,1)==0); surfnodeSR(row,:)=[]; [tranSR,contSR]=nor(surfnodeSR,node); [r,c] = size(tranSR); diff=tranSR-contSR; vector=mean(diff,1); for j=1:r Appendix tranSR(j,:)=contSR(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rsP,csP] = size(SpProcess); jj=1; ii=1; for s=1:rsP [row, col] = find(facet==SpProcess(s,1)); [rown, coln] = find(node(:,1)==SpProcess(s,1)); if and(length(row)=1) surfnodeSP(jj,:)=node(rown,:); jj=jj+1; end end [tranSP,contSP]=nor(surfnodeSP,node); [r,c] = size(tranSP); diff=tranSP-contSP; vector=mean(diff,1); for j=1:r tranSP(j,:)=contSP(j,:)+vector; end clear diff vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% surfnode=[surfnodeL;surfnodeR;surfnodeSL;surfnodeSR;surfnodeIL;su rfnodeIR;surfnodeSP]; [rs,cs] = size(surfnode); for s=1:ra [row, col] = find(surfnode(:,1)==allsurfnd(s,1)); if length(row)==0 [rown, coln] = find(node(:,1)==allsurfnd(s,1)); other(ii,:)=node(rown,:); ii=ii+1; end end tran=[tranL;tranR;tranSL;tranSR;tranIL;tranIR;tranSP;other(:,2:4) ]; cont=[contL;contR;contSL;contSR;contIL;contIR;contSP;other(:,2:4) ]; node=plate(node,cont,tran); for s=1:rs [rown, coln] = find(node(:,1)==surfnode(s,1)); if length(rown)==0 surfnode(s,1) end Newsurfnode(s,:)=node(rown,:); error(s,1)=norm(Newsurfnode(2:4)-surfnode(2:4)); end if max(error)[...]... lumbar motion segment consists of a vertebra, a disc, and another vertebra connected by the appropriate muscles, ligaments and other soft tissue Many research efforts have been devoted into FE modeling of the lumbar motion segment 2.2.1 Previous finite element models The first finite element analysis of a spinal motion segment was conducted by Belytschko et al in 1974 (Belytschko, 1974) (Fig 2.9) The. .. behavior of the lumbar motion segment is crucial to the study of pathogenesis of various spinal disorders The experimental and computational simulations have been utilized to investigate the biomechanical behavior of the lumbar motion segment The advantage of experimental study is that the data collected closely reflect the real characteristics of the tested anatomy structures provided that the testing... well-organized elements and minimum amount of distorted elements The model’s realistic geometry reduces the amount of the premapping processing works The distinctive organization of the elements in the Smit’s mesh, which are important in modeling different anatomical components of the spine, can be inherited in the children meshed generated from mesh-mapping The minimum number of distorted elements in the Smit... to all parts of annulus B, with degeneration, the nucleus no longer functions as a perfect gel Now the forces distributed to the annulus are less and not equal C, with advanced degeneration of the nucleus, the distribution of forces to the annulus is completely lost (Anthony, 1970) 2.2 Review on lumbar spine modeling The basic component of the lumbar spine section is the lumbar motion segment or functional... by the lack of patient- specificity in the geometrical shapes of the anatomical structures Secondly and probably more significantly, since the materials properties used in the generic models are only empirical values the modeling results cannot be interpreted as the exact behaviors of any individual subject even if the model has the exact geometrical appearance as the specific subject Because of these... which gives accurate results Due to the geometry of the modeled domain, elements may become distorted in an effort to force a mesh to comply with the boundary of the model When elements are distorted from their ideal shape they become less accurate Therefore, the shape of the elements should be kept as near to the ideal element shape as possible when creating a mesh 1.3.3 Element Limitations Triangles and... at achieving the objectives of this dissertation project Chapter 4 elaborates on the proposed novel mesh mapping method which achieves the first objective of this master project Chapter 5 describes the construction of a finite 7 Chapter 1 element model for a lumbar motion segment using the proposed mesh mapping method and reports the results of a comprehensive finite element study on the constructed... 2.11 An exploded view of a typical motion segment model showing the vertebrae, end plates and intervertebral disc (Wang et al., 1997) 21 Chapter 2 Fig 2.12 A full three-dimensional finite element model of the L2–L3 motion segment showing typical ligament attachments included in many of today’s models (Lu et al., 1996) Fig 2.13 Finite element model of two motion segments from the lumbar spine which includes... different sections of the spine have distinctively different geometrical shapes and hence biomechanical behaviors The lumbar section of the human spine have been under the focus of intensive research because it is the main load-bearing region of the entire vertebral column and its abnormality contributes to the development of an array of the pathological symptoms, such as low back pain The lumbar vertebrae... balance the swelling pressure of the nucleus Tensile stiffness of the collagen fibrils increases radially from inner region to outer region 14 Chapter 2 Fig 2.6 Organization of the collegan fibrils in the annulus lamella (courtesy from the Slide Library of the Othorpaedic Surgery Department of the National University Hospital) 2.1.3.4 The Endplates As a component of cartilaginous joints of the spine, the ... 5.2 The effect of Poisson’s ratio of the disc nucleus on the axial stiffness of the lumbar motion segment 60 Fig 5.3 The effect of Young’s Modulus of the disc nucleus on the axial stiffness of the. .. Spondylolisthesis, Lordosis and Osteoarthritis also occur at the lumbar region of the spine Determining the mechanical behavior of the lumbar motion segment is crucial to the study of pathogenesis of. .. efforts have been devoted into FE modeling of the lumbar motion segment 2.2.1 Previous finite element models The first finite element analysis of a spinal motion segment was conducted by Belytschko

Ngày đăng: 28/11/2015, 13:32

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan