枕寰枢复合体有限元仿真模型的建模研究

2010-07-17 03:18郑洪海孟春玲
食品科学技术学报 2010年1期
关键词:实体模型小孔骨骼

郑洪海, 孟春玲, 杨 生, 王 鹏

(1.北京工商大学 机械工程学院, 北京 100048; 2.中国人民解放军总医院 神经外科, 北京 100853)

自20世纪50年代初期有限元分析方法诞生以来,由于其对复杂的结构、载荷以及材料等问题求解的优越性,一直广泛应用于生物力学领域的研究. 有限元方法的分析结果受诸多因素的影响,建立精确的有限元模型是进行有限元分析的基础和前提.

目前在脊柱外科,对腰椎的有限元研究比较深入,而有限元方法在颈椎方面的应用则起步较晚. 由于寰枢椎结构复杂,目前常见的几种建模方法存在着一定的问题. 三维坐标仪建模的方法只能获得骨骼外表面的点云,无法对内部结构进行测量和建模;组织切片法很难控制切片的均匀厚度,精度难以保证;近年来主流的基于CT、MRI医学图像的建模方法[1],需要人工把CT胶片上的每一张图像转换为计算机能识别的位图格式,并且需要在图像处理软件中人工准确对位,需要花费大量的人力、物力,而且在通过胶片扫描以及格式转换传递数据的过程中容易丢失很多信息;傅栋,靳安民[2]等(注意首先使用此技术的并非该作者)采用的薄层CT扫描技术,Dicom医学数字图像通讯标准和Mimics软件辅助建模的方法,克服了人工对位耗时耗力和数据传递中信息丢失的问题,能够更为快捷、精确地建立有限元模型,但是该方法建立的有限元模型只包含节点和单元,并不包含点、线、面、体等实体模型,无法与后期所建立的软骨、韧带等模型进行布尔运算,因而无法建立与实际结构完全一致的多种组织的有限元分析模型.

本方法首先采用Mimics辅助建立枕寰枢复合体骨骼的包含节点和单元的有限元模型,然后辅以C语言编程处理节点和单元数据文件,得到相应的Ansys命令流,通过该命令流生成与之对应的关键点和体,之后通过布尔运算分别得到C0,C1,C2的骨骼实体模型. 在此基础之上添加与之相关的各条韧带,建立关节和与之对应的接触对,最后施加载荷和约束进行求解、分析.

该方法建立的新的实体模型并不与Mimics建立的有限元模型相关联,但是它可以增加由于功能的特殊性而在Ansys中新建立的横韧带、关节软骨的实体模型,这种建模方法快捷、准确,又实现了枕寰枢复合体骨骼和横韧带、关节软骨等多组织实体模型的组合,从而得到更加符合实际结构的有限元仿真模型,为可靠的有限元分析奠定了基础.

1 枕寰枢复合体有限元仿真模型的建立

1.1 数据采集

选取健康男性志愿者1名,年龄20岁,身高172 cm,体重62.5 kg,无头颈部外伤、手术或其它疾病史. 采用6排多层螺旋CT(GE MEDICAL SYSTENS/Lightspeed16,GE公司,美国)对志愿者进行轴位(水平面)连续扫描,扫描范围从枕骨(C0)粗隆上缘至C2~C3椎间盘. 得到512×512的CT图像,像素大小0.576 2 mm,层厚0.625 mm,重建层间距0.4 mm,共358层,扫描数据以标准DICOM格式直接存储并刻录光盘.

1.2 建模过程

将获取的CT图像导入Mimics中,使用threshold工具分离骨骼和软组织,编辑所关心的骨骼的mask,包括区域增长、单块骨骼的分离和骨骼小孔的填充等操作. 使用3D calculate工具将编辑好的mask生成3D模型,并对其进行remesh操作,平滑骨骼表面,减少模型的三角形面块的个数,并将模型保存为Ansys可以识别的.lis文件.

将.lis文件导入Ansys,利用tet mesh命令,通过面网格生成体网格,利用自己编写的程序将体网格转换成小体,在Ansys中将小体分别通过加运算(add运算)相加得到对应的C0~C2骨骼三个大体. 建立横韧带实体模型韧带,利用剪切运算(subtract运算)和粘结运算(glue运算)裁减横韧带模型,并将其与C1大体粘结. 建立好主要的几个实体模型之后,删除原有的与体不相关联的单元和节点,并对新生成的体划分单元.

按照要求导出C0~C2骨骼模型的节点文件和单元文件,并编写前处理文件,再将新生成的体网格模型导入Mimics中,根据CT图像中的灰度值给骨骼赋材料参数,得到包含材料参数的单元文件,根据这个文件编制程序,生成修改单元材料属性的命令流,导入Ansys中修改骨骼材料参数.

根据解剖研究数据,确定除横韧带之外的其他韧带的F-D曲线[3-9],使用Ansys的非线性弹簧单元建立韧带模型,弹簧单元的端点均按照韧带的解剖学附着位置定义在对应的点上,所有的弹簧单元均只能承受轴向张力. 弹簧单元端点处的节点通过CEINTF命令与相邻近的单元建立约束方程.

最后使用拉伸面单元的方法建立关节软骨的实体模型,选择关节软骨的表面节点建立节点组件,并利用Ansys的接触对管理器建立对称的接触对,模型的主要单元类型见表1.

所建立的有限元仿真模型见图1~4.

表1 主要单元类型Tab.1 Main element type

图1 寰枢椎有限元模型正面观Fig.1 Front view of Occipitoatlantoaxial finite element model

图2 寰枢椎有限元模型侧面观Fig.2 Lateral view of Occipitoatlantoaxial finite element model

图3 韧带模型正面观Fig.3 Front view of ligament model

图4 关节软骨模型正面观Fig.4 Front view of articular cartilage model

2 建模过程中几个关键问题的处理

在有限元仿真模型的建模过程中,要充分考虑到下面的一些关键性的技术问题,只有掌握这些问题的处理方法,才可以快速精确地建立有限元模型.

2.1 关于mask的操作

对于多块骨骼,先对处于中间位置的骨骼编辑mask,利用整体骨骼的mask与其进行布尔运算,可以得到与之相邻的多块骨骼的部分边界.

在使用threshold分离骨骼和软组织之后,会发现骨骼的mask中有许多的小孔,这些小孔的存在可能导致有限元模型无法建立. 因此,在对mask进行3D calculate之前,必须用edit mask工具的draw命令来填补这些小孔. 在填补小孔时,要调整合适的图像对比度,以便于观察小孔是否填补完全,参见图5.

图5 小孔的填补Fig.5 To fill the holes

在每编辑好一块骨骼的mask后,应该使用region growing工具再次对mask进行区域增长. 在编辑mask的过程中,由于人为的误差会产生一些离散的杂点,区域增长可以将它们和骨骼主体分离开来.

2.2 关于remesh的操作

在remesh的过程中一定要将坏的三角形面块全部去除,必要时可以选用较大的容错范围,牺牲一部分模型的精度,以保证后续模型导入Ansys中可以正常地划分网格.

若在Ansys中出现无法使用Tet mesh划分体网格的情况,一般来说需要对mask进一步remesh,直到能正常划分网格为止. 有些时候由于小孔填补工作的失误,部分小孔没有被填补完全,导致骨骼内部存在三角形面块,这样从外表看没有丝毫问题的面网格也无法在Ansys中划分体网格,因此如果经过多次remesh还是无法导入Ansys划分体网格时,应该重新检查mask的小孔是否填补好,或者检查面网格内部有没有冗余面网格.

若Mimics版本支持,尽量在导出时使用Ansys的element文件格式,这一格式直接将remesh得到的面以Ansys的shell 93单元格式存储,大大简化了后续的体网格划分的过程.

2.3 关于体网格转化为小体

为了后续布尔运算的需要,必须将体网格转化为小体. 转化的思路是通过体网格的节点(Node)所在的位置生成关键点(KeyPoint),用Ansys的Knode命令和*Repeat命令来实现;再依据单元(Element)文件获取构成每个单元的节点编号,对应的用相同的关键点编号创建与单元大小和位置均相同的小体(Volume),使用Ansys的V命令来实现.

由于节点和单元的数目巨大,采用人工编写Ansys命令流,耗时易出错,故而采用C语言编写程序. 程序流程见图6.

图6 程序流程Fig.6 Program flow chart

3 结 论

本研究提出的基于CT扫描图像,利用Mimics和Ansys软件,以及C语言程序的一种高效精确建立寰枢椎有限元仿真模型的方法,不仅适用于枕寰枢复合体有限元仿真模型的建立,也可以应用在数据量巨大,人工处理耗时的其它结构,从而使得复杂结构的有限元模型的建立更加方便快捷、更加符合实际情况,为进一步的有限元分析奠定基础.

猜你喜欢
实体模型小孔骨骼
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
作战想定仿真实体模型构建方法研究
小孔何时无法成像
小波阈值去噪在深小孔钻削声发射信号处理中的应用
为什么花盆底部要开一个小孔
骨骼和肌肉
建筑设计中的实体模型
OCr18Ni9不锈钢的微小孔钻削
骨骼是如何生长的