首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于c#的由Midas导入3DEC的模型转换方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国科学院武汉岩土力学研究所

摘要:本发明公开了一种基于c#的由Midas导入3DEC的模型转换方法,该方法包括以下步骤:首先利用MidasGTS软件对三维地质实体模型进行建模,通过MidasGTS自带的网格划分模块划分模型网格,并以文本文件的形式输出模型的节点信息和单元信息;随后对输出的模型信息基于c#编程语言实现Midas的模型信息文本的转换,形成3DEC生成块体的命令流形式;并导入3DEC中生成块体,通过缝合不必要的接触面得到所需节理面,最终实现复杂地质模型的离散元求解。

主权项:1.一种基于c#的由Midas导入3DEC的模型转换方法,其特征在于,包括如下步骤:S01、利用MidasGTS软件对三维实体模型进行建模,采用Midas中几何图形的布尔运算将模型进行分割得到不同岩性分区,将节理面作为岩性分界面,对几何模型进行分块分区;并通过MidasGTS自带的网格划分模块进行模型网格的划分,通过四面体网格生成器和混合网格生成器生成映射网格或者混合网格,并对不同岩性网格单元赋予不同的材料属性;S02、利用c#编程语言编写的接口软件实现Midas的模型信息文本的转换:Midas中三维仿真模型建立完成后,利用Midas工具中的模型信息表单功能以文本文件的形式输出模型的节点信息和单元信息;利用基于C#的节点文件读取函数,读入节点数据,生成节点结构体,并存储到节点结构体数组中;利用基于C#的单元文件读取函数,读入单元数据,生成单元结构体,并存储到单元结构体数组中;采用3DEC命令流中几何块体的形成方式,将单元节点数据以生成块体的形式写入.txt或.dat命令流文件中,得到转换模型文本文件;S03、用3DEC读取步骤S02中得到的转换模型文本文件生成块体,根据3DEC网格划分模块进行模型网格的划分,将划分网格的边长调整大于块体边长,得到与Midas相同的网格模型;S04、利用3DEC软件对步骤S04得到的网格模型进行接触面缝合:保留不同属性岩体间的岩性分界面或节理面,缝合同属性岩体间的接触面;S05、利用3DEC软件对步骤S05中不同岩体性和结构面分别赋予对应的材料属性,施加荷载及边界条件后,即可进行离散元计算。

全文数据:一种基于c#的由Midas导入3DEC的模型转换方法技术领域本发明属于岩土工程的仿真模拟研究领域,更具体涉及一种基于c#的由Midas导入3DEC的模型转换方法,它弥补了3DEC前处理建模的缺陷。背景技术自然界的岩体为不连续的离散介质,具有不同岩性属性的岩块连续体和地质结构面非连续特征两者构成,在外力作用下,岩块可以表现为非连续介质力学行为,岩块之间则通过结构面实现相互作用,当结构面受力超过其承载极限时,岩块即表现为相互剪切错动或张开等破坏现象。大型三维离散元软件3DEC中可以将结构面作为岩块间的边界条件,允许岩块发生大变形和分离,可以较为真实的模拟节理岩体的非线性变形强度特征,但其较弱的前处理,一直难以满足复杂模型建模的需要。3DEC中建立曲面地形时,根据实际地形中采集的数据点,以三角形形成地表区域的方式,依次将各个三角形区域的顶点输入至3DEC,确定模拟区域范围后依次利用3DEC自带的柱体形成命令做成三棱柱块体,形成实体模型,该建模过程及其麻烦,并且根据实际结构面产状,采用3DEC自带的节理生成命令对实体模型进行节理面切割时,节理面对三棱柱块体的切割会产生狭长或者扁平的块体,如图1中方框内的局部结构图所示,一旦划分网格,会产生畸形单元,会导致3DEC的变形块体分析出现计算错误,图2为图1中局部结构图放大后的示意图,三棱柱块体的局部被节理面分割成了畸形块体。Midas-GTS作为一款优秀的岩土有限元分析软件,有着强大的前处理功能,几何建模方便,网格划分易于控制,借助其前处理优势,为3DEC计算进行前处理准备则是一个很好的选择。发明内容本发明的目的在于针对现有技术中3DEC较弱的前处理技术中的缺陷,提供了一种基于c#的由Midas导入3DEC的模型转换方法,该技术方案中包括如下步骤:S01、利用MidasGTS软件对三维实体模型进行建模,采用Midas中几何图形的布尔运算将模型进行分割得到不同岩性分区,将节理面作为岩性分界面,对几何模型进行分块分区;并通过MidasGTS自带的网格划分模块进行模型网格的划分,通过四面体网格生成器和混合网格生成器生成映射网格或者混合网格,并对不同岩性网格单元赋予不同的材料属性;具体的包括:先利用MidasGTS软件对三维地质实体模型进行建模:根据需要建立三维实体模型关键几何控制点与剖面信息,利用MidasGTS的几何前处理模块绘制几何实体模型,对于更为复杂的三维实体模型,采用autoCAD处理得到的.dxf格式的地形图或者剖面图文件进行建模;在三维实体模型建好后,采用Midas中几何图形的布尔运算将模型进行分割得到不同岩性分区,将节理面作为岩性分界面,对几何模型进行分块分区;使后续步骤3DEC中对模型多余的接触面缝合时,以岩性分界面或者结构面为边界,防止3DEC生成块体后再进行岩性或者节理面分割时,使生成的块体被切割成畸形块体;在三维实体模型分块分区后,通过MidasGTS自带的网格划分模块划分模型网格,通过四面体生成器生成四面体网格,或者混合生成器生成映射网格或者混合网格,并实现不同分区间网格节点的耦合;网格划分完毕后对不同部分赋予不同的材料属性;S02.利用c#编程语言编写的接口软件实现Midas的模型信息文本的转换:Midas地质实体模型建立完毕后,利用Midas工具中的模型信息表单功能以文本文件的形式输出模型的节点信息和单元信息;利用基于C#的节点文件读取函数,读入节点数据,生成节点结构体,并存储到节点结构体数组中;利用基于C#的单元文件读取函数,读入单元数据,生成单元结构体,并存储到单元结构体数组中;采用3DEC命令流中几何块体的形成方式,将单元节点数据以生成块体的形式写入.txt或.dat命令流文件中,得到转换模型文本文件;具体地定义单元与节点结构体,节点结构体成员包括节点编号与节点坐标,单元结构体成员包括单元编号、单元类型、材料属性以及各节点编号;分别定义单元与节点文件读取函数,其功能主要是对网格节点数据文件进行格式处理,删除不必要的信息,然后将单元节点生成相应的结构体;调用节点文件读取函数,读入节点数据,生成节点结构体,并存储到节点结构体数组中;调用单元文件读取函数,读入单元数据,生成单元结构体,并存储到单元结构体数组中,分别保存到.txt或.dat文件中,用3DEC读取即可生成六面体、三棱柱、金字塔与四面体块体,且块体顶点与Midas中建立的六面体、三棱柱、金字塔与四面体单元节点相顺序相对应,3DEC中具体的生成块体命令如下:1六面体块体:顶点按逆时针排列坐标顺序如下Polyprism&aX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3X4,Y4,Z4&bX5,Y5,Z5X6,Y6,Z6X7,Y7,Z7X8,Y8,Z82三棱柱块体:顶点按逆时针排列坐标顺序如下Polyprism&aX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3&bX4,Y4,Z4X5,Y5,Z5X6,Y6,Z63金字塔块体:顶点按逆时针排列坐标顺序如下PolyfaceX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3X4,Y4,Z4&faceX5,Y5,Z5X2,Y2,Z2X1,Y1,Z1&faceX5,Y5,Z5X3,Y3,Z3X2,Y2,Z2&faceX5,Y5,Z5X4,Y4,Z4X3,Y3,Z3&faceX5,Y5,Z5X1,Y1,Z1X4,Y4,Z44四面体块体:顶点按逆时针排列坐标顺序如下PolyfaceX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3&faceX4,Y4,Z4X2,Y2,Z2X1,Y1,Z1&faceX4,Y4,Z4X3,Y3,Z3X2,Y2,Z2&faceX4,Y4,Z4X1,Y1,Z1X3,Y3,Z3S03.用3DEC读取步骤S02中得到的转换模型文本文件生成块体,根据3DEC网格划分模块进行模型网格的划分,将划分网格的边长调整大于块体边长,得到与Midas相同的网格模型;Midas的相邻单元之间共用节点,可给定节点实现不同分区间网格节点的耦合来进行划分网格,而3DEC中块体与块体之间通过接触面接触不共用节点。若进行变形块体的离散元计算,还需要重新划分网格;若要得到与原来的Midas网格一样或类似的网格,以四面体块体为例,将划分网格的边长调整为大于四面体边长,即可使一个四面体块体划分为一个四面体单元,使得到的单元与原来用Midas划分出的网格大小形状相同,便于将四面体块体整个用于块体变形计算;S04.利用3DEC软件对步骤S03得到的网格模型进行接触面缝合:保留不同属性岩体间的岩性分界面和节理面,缝合同属性岩体间的接触面;网格模型导入3DEC之后,所有单元之间均存在接触面,单元也包含计算所需要的节理面,因此需要将不需要的接触面进行缝合,在Midas的建模中,节理面作为岩性分界面,其两侧岩体具有不同的材料属性,而其余单元接触面则没有此特征,因此可根据材料属性的差异和地质结构特征,将多余接触面缝合,只留下计算所需要的接触面,即岩性分界面和节理面,此外,该方法对于不规则接触面的建立也很有效;S05.利用3DEC软件对步骤S04中不同岩性和结构面分别赋予对应的材料属性,施加荷载及边界条件后,即可进行离散元计算。本发明的有益效果是:在Midas中根据地质几何模型划分节理面,将节理面作为岩性分界线,并据此划分网格,然后导入3DEC进行计算,可避免在3DEC中划分节理面与块体之间切割形成细长的畸形块体与单元,根据C#编写模型转换接口程序,使Midas中所建复杂模型可以用3DEC进行离散元计算。附图说明图1为现有技术的3DEC中建立复杂模型时产生的畸形单元示意图;图2为图1中畸变单元的放大示意图;图3为本发明的3DEC中六面体块体单元节点顺序;图4为本发明的3DEC中三棱柱块体单元节点顺序;图5为本发明的3DEC中金字塔块体单元节点顺序;图6为本发明的3DEC中四面体块体单元节点顺序;图7为本发明的基于c#的由Midas导入3DEC的模型转换方法流程图;图8为本发明的MidasGTS软件三维地质简单实体模型;图9为本发明的MidasGTS软件三维地质复杂实体模型;图10为本发明步骤S04中输出的节点和单元文件;图11为本发明步骤S04中接口软件打开界面;图12为本发明的读取节点文件信息窗口;图13为本发明的读取单元文件信息窗口;图14为本发明的3DEC中合并不必要的接触面后得到的节理面;图15为本发明的MidasGTS软件中单元与节点的示意图;图16为本发明的3DEC软件中单元与节点的示意图;图17为需要用本发明提供的模型转换方法进行离散元分析的复杂的地形地貌示意图。具体实施方式为了使本发明的技术优点更加清楚明了,结合以下实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅用以解释本发明,并不用于限定本发明,本发明所述的基于MidasGTS软件的操作工具引用自《Midas_GTS技术培训-工程实例》.陈培帅.中国科学院武汉岩土力学研究所.2010,和《GTS操作指南》,基于3DEC软件的操作工具引用自《3DEC用户手册》。实施例1具体流程如图7所示。步骤一:利用MidasGTS软件对三维地质实体模型进行建模:简单模型时,可根据需要建立的三维实体模型关键几何控制点与剖面信息,利用MidasGTS软件的几何前处理模块输入几何顶点,由点生成线,由线生成面,由面生成体,最终形成几何实体模型见图8,也可以直接在3DEC中由顶点生成;也可以采用autoCAD处理得到地形图或者剖面图建立三维地质复杂实体模型见图9;S01.将autoCAD编辑处理得到的地形图导入MidasGTS软件建立实体模型;根据实际节理界面,采用Midas中几何图形的布尔运算将模型分割得到不同岩性分区;对于节理面,尽管节理两侧可能岩性相同,但为了方便后期节理的生成,也将节理面作为岩性分界面,对几何模型进行分块分区;S02.建立符合实际地质情况的三维模型后,通过MidasGTS自带的网格划分模块划分模型网格,通过四面体生成器生成四面体网格,同时实现不同分区间网格节点的耦合,同时对岩性分界面或节理面分割的网格组赋予不同的材料属性;由于此处具体材料参数只是用来区分不同的岩体部分,并非用于计算,因此参数可以任意取值;步骤二:基于c#编程语言编写的接口软件实现Midas的模型信息文本的转换:S03.Midas地质实体模型建立完毕后,利用Midas工具中的模型信息表单功能以文本文件的形式输出模型的节点信息和单元信息,并分别保存到.txt或.dat文件中见图10;分别定义单元与节点结构体,节点结构体成员包括节点编号与节点坐标,单元结构体成员包括单元编号、单元类型、各节点编号以及材料属性,其中单元类型和各节点编号顺序如图3-6中对应所示,材料属性的分组为后期3DEC中多余结构面的缝合提供便利;分别定义单元与节点文件读取函数,其功能主要是对网格节点数据文件进行格式处理,删除不必要的信息,然后将单元节点生成相应的结构体。具体地,打开接口软件界面如图11所示;打开节点文件读取节点信息见图12,调用节点文件读取函数,读入节点数据,生成节点结构体,并存储到节点结构体数组中;打开单元文件读取单元信息见图13,调用单元文件读取函数,读入单元数据,生成单元结构体,并存储到单元结构体数组中;分别读取单元与节点结构体,定义结构体组数,节点结构体要定义节点编号和节点坐标,单元结构体要定义单元编号、单元类型、材料属性、各节点编号,根据3DEC命令流中几何块体的形成方式,如下所示:1六面体块体:顶点按逆时针排列坐标顺序如下见图3Polyprism&aX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3X4,Y4,Z4&bX5,Y5,Z5X6,Y6,Z6X7,Y7,Z7X8,Y8,Z82三棱柱块体:顶点按逆时针排列坐标顺序如下见图4Polyprism&aX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3&bX4,Y4,Z4X5,Y5,Z5X6,Y6,Z63金字塔块体:顶点按逆时针排列坐标顺序如下见图5PolyfaceX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3X4,Y4,Z4&faceX5,Y5,Z5X2,Y2,Z2X1,Y1,Z1&faceX5,Y5,Z5X3,Y3,Z3X2,Y2,Z2&faceX5,Y5,Z5X4,Y4,Z4X3,Y3,Z3&faceX5,Y5,Z5X1,Y1,Z1X4,Y4,Z44四面体块体:顶点按逆时针排列坐标顺序如下见图6PolyfaceX1,Y1,Z1X2,Y2,Z2X3,Y3,Z3&faceX4,Y4,Z4X2,Y2,Z2X1,Y1,Z1&faceX4,Y4,Z4X3,Y3,Z3X2,Y2,Z2&faceX4,Y4,Z4X1,Y1,Z1X3,Y3,Z3将单元节点数据以生成块体的形式写入.txt或.dat命令流文件中,用3DEC读取即可生成块体且块体顶点与Midas中建立的单元节点顺序对应,Midas的单元和节点示意图与3DEC中块体与顶点示意图对比如图15和图16所示;步骤三.S04.3DEC中生成块体并重新划分网格:将接口转换软件生成的命令流文件,采用3DEC的导入接口直接读取命令流文件,Midas的单元在导入3DEC之后则变成块体,若进行变形块体的离散元计算,还需要重新划分网格,将划分网格的边长调整大于块体边长,使一个块体划分为一个单元,得到与Midas中相同的较好的网格质量,即不产生畸变,如图9所示。步骤四.S05.3DEC中接触面进行缝合得到所需节理面:网格模型导入3DEC之后,所有单元之间均存在接触面,单元也包含计算所需要的节理面,因此需要将不需要的接触面进行缝合,在Midas的建模中,节理面作为岩性分界面,其两侧岩体具有不同的材料属性,而一般的单元接触面则没有此特征,因此可根据材料属性的差异,将多余接触面缝合,只留下计算所需要的接触面即可见图14;步骤五:S06.设置3DEC离散元计算条件:对导入的3DEC模型的单元与接触面赋予具体的材料属性,施加荷载及边界条件,即可进行离散元计算。本发明的基于c#的由Midas导入3DEC的模型转换方法的应用,用于为复杂地质结构建模,模拟地质结构的变形和分离,计算节理岩体非线性变形强度特征。其技术效果是,可对图17中的原始复杂地质形貌图进行建模,利用3DEC建立如图9的整体地质结构模型,不同岩性结构体间保留图14中的离散元接触面,而同属性的岩性结构体内为有限元接触的接触方式,可进行变形和分离,计算节理岩体非线性变形强度特征。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

权利要求:1.一种基于c#的由Midas导入3DEC的模型转换方法,其特征在于,包括如下步骤:S01、利用MidasGTS软件对三维实体模型进行建模,采用Midas中几何图形的布尔运算将模型进行分割得到不同岩性分区,将节理面作为岩性分界面,对几何模型进行分块分区;并通过MidasGTS自带的网格划分模块进行模型网格的划分,通过四面体网格生成器和混合网格生成器生成映射网格或者混合网格,并对不同岩性网格单元赋予不同的材料属性;S02、利用c#编程语言编写的接口软件实现Midas的模型信息文本的转换:Midas中三维仿真模型建立完成后,利用Midas工具中的模型信息表单功能以文本文件的形式输出模型的节点信息和单元信息;利用基于C#的节点文件读取函数,读入节点数据,生成节点结构体,并存储到节点结构体数组中;利用基于C#的单元文件读取函数,读入单元数据,生成单元结构体,并存储到单元结构体数组中;采用3DEC命令流中几何块体的形成方式,将单元节点数据以生成块体的形式写入.txt或.dat命令流文件中,得到转换模型文本文件;S03、用3DEC读取步骤S02中得到的转换模型文本文件生成块体,根据3DEC网格划分模块进行模型网格的划分,将划分网格的边长调整大于块体边长,得到与Midas相同的网格模型;S04、利用3DEC软件对步骤S04得到的网格模型进行接触面缝合:保留不同属性岩体间的岩性分界面或节理面,缝合同属性岩体间的接触面;S05、利用3DEC软件对步骤S05中不同岩体性和结构面分别赋予对应的材料属性,施加荷载及边界条件后,即可进行离散元计算。

百度查询: 中国科学院武汉岩土力学研究所 一种基于c#的由Midas导入3DEC的模型转换方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。