[发明专利]包含多种构件的三维有限元网格自动剖分方法无效
| 申请号: | 201210036900.2 | 申请日: | 2012-02-17 |
| 公开(公告)号: | CN102622467A | 公开(公告)日: | 2012-08-01 |
| 发明(设计)人: | 周德成;刘学增;朱合华;刘新根;齐磊;张杰;蔡永昌 | 申请(专利权)人: | 上海同岩土木工程科技有限公司 |
| 主分类号: | G06F17/50 | 分类号: | G06F17/50 |
| 代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 宣慧兰 |
| 地址: | 200092 上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 包含 多种 构件 三维 有限元 网格 自动 方法 | ||
1.包含多种构件的三维有限元网格自动剖分方法,其特征在于,包括以下步骤:
(1)获取前处理对象的几何信息和网格控制参数;
(2)按体、面、线、点对前处理对象进行分类网格化,建立初始网格对象拓扑关系树;
(3)求交并打断所有网格对象,更新网格对象拓扑关系树;
(4)按体、面、线、点的网格化顺序依次剖分所有叶子节点网格对象;
(5)根据构件的前处理对象和其拓扑关系填充单元分组;
(6)设置单元分组的有限元属性,该有限元属性与构件的前处理对象相同;
(7)存储并输出网格自动剖分结果。
2.根据权利要求1所述的包含多种构件的三维有限元网格自动剖分方法,其特征在于,所述的步骤(3)的具体步骤如下:
(301)创建求交器,初始化求交器数据,添加整体控制参数和总施工步数;
(302)初始化体、面、线、点四个拓扑树数组;
(303)将所有输入的网格对象的拓扑数据进行分类,分别存放在四个拓扑树数组中;
(304)体与体求交:遍历所有网格体进行两两相交计算,保存网格体之间的公共面、公共线、公共点,并建立拓扑关系;
(305)体与面求交:遍历所有的网格体和所有拥有前处理对象引用的网格面,进行体面两两相交计算,保存所述的网格体和面对像之间的公共面、公共线、公共点,并建立拓扑关系;
(306)面与面求交:遍历所有拥有前处理对象引用的网格面,进行两两相交计算,保存网格面之间的公共面、公共线、公共点,并建立拓扑关系;
(307)整理体中的子面:遍历所有的网格体,获取每个网格体中所有的子面数据,若所述的子面不是底层面,则通过网格对象拓扑关系树获取对应的底层面进行替换;
(308)整理面中的子面:遍历所有的网格面,获取每个网格面中所有的子面数据,若所述的子面不是底层面,则通过网格对象拓扑关系树获取对应的底层面进行替换;
(309)线与体求交:遍历所有的网格体和所有拥有前处理对象引用的网格线,进行体线两两相交计算,保存所述的网格体和线对象之间的公共线、公共点并建立拓扑关系;
(310)线与面求交:遍历所有的网格面和所有拥有前处理对象引用的网格线,进行面线两两相交计算,保存所述的网格面和线对象之间的公共线、公共点并建立拓扑关系;
(311)提取底层面的边框线:遍历所有的面对像,提取面对像中所有底层面的边框线,将该边框线创建成网格线,并建立所述网格线与对应底层面的拓扑关系;
(312)线与线求交:遍历所有网格线,将所述的网格线两两相交计算,打断生成相互之间不存在重叠的子线,并将该子线创建成新的网格线,并与生成该子线的网格线建立拓扑关系;
(313)整理体中的子线:遍历所有网格体,获取网格体在网格对象拓扑关系树上对应的所有子线数据,若所述的子线不是底层线,则通过网格对象拓扑关系树获取对应的底层线进行替换,然后对网格体内所有的子面进行遍历,判断所述的子线是否有在所述的子面上,若为是,则将所述的子线添加到对应的子面中,作为该子面的子线,并删除所述子线与对应网格体的拓扑关系;
(314)整理面中的子线:遍历所有网格面,获取网格面在网格对象拓扑关系树上对应的所有子线数据,若子线不是关系树中的底层线,则通过网格对象拓扑关系树获取对应的底层线进行替换,然后判断当前的网格面是否为底层面,若为否,则获取该面对像的所有底层面,再分别遍历每个面对像获得的底层线,判断所述的底层线是否在底层面上,若为是,则将所述的底层线添加到该底层线所在的底层面内,并删除所述底层线与对应网格面的拓扑关系;
(315)整理线中的子线:遍历所有网格线,获取每个有前处理对象引用的网格线,将该网格线在网格对象拓扑关系树中对应的所有的子线替换成底层线;
(316)整理体中的子点:遍历所有的网格体中的子面和子点,判断所述的子点是否在所述的子面上,若为是,则将所述的子点添加到其所在的子面上,并删除所述子点与对应网格体的拓扑关系;
(317)整理面中的子点:遍历所有的网格面,若网格面不是底层面,则获取该面对像的底层面,判断的所述面对像上的子点是否在底层面上,若为是,则将所述的子点添加到其所在的底层面上去,并删除所述子点与对应网格面的拓扑关系,然后重新遍历所有面底层,获得底层面上的子线和子点,判断子点是否在子线上,若为是,则将所述的子点添加到所在的子线上,并删除所述子点与对应底层面的拓扑关系;
(318)整理线中的子点:遍历所有的网格线,如果网格线不是底层线,则获取所述网格线的底层线,判断网格线的子点是否在底层线上,若为是,则所述的子添加到其所在的底层线上,并删除所述子点与对应网格线的拓扑关系,然后重新遍历所有底层线,获得底层线上的所有子点,将所述组子点按其在曲线上的u参数排序、去重,并剔除与底层线端点重叠的子点;
(319)添加边界条件关键点:遍历所有输入的边界条件的关键点,将其创建成几何拓扑点,添加到点拓扑树数组中;
(320)整理所有点:获取所有网格对象的关键点数据,同时记录相关映射信息,对所有关键点数据进行坐标排序、去重,然后遍历去重后的关键点数据,将每一个关键点创建成拓扑点,通过映射表中的信息,将拓扑点的引用回填到相应的网格对象中并建立拓扑关系;
(321)整理孤立点:判断孤立点是否与求交生成的交点重叠,若为是,则不需要再建立拓扑关系,若为否,则判断所述孤立点是否位于参与剖分的网格对象上,若为是,则与对应的网格对象建立拓扑关系;
(322)输出数据:遍历所有拥有前处理对象引用的网格对象拓扑关系树顶层的网格对象,将网格对象标记为可导出,然后遍历所述网格对象的所有子对象,并标记为可导出,将标记为可导出的网格对象分类,并分别导出到对应的拓扑树数组重,删除未标记为可导出的对象数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海同岩土木工程科技有限公司,未经上海同岩土木工程科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210036900.2/1.html,转载请声明来源钻瓜专利网。





