- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
做过有限元分析的家人们第一眼看到这个题目,内心里的第一想法是:有限元网格转实体?倒反天罡!
??能有这个想法非常好,说明家人已经熟练的掌握批判了,而人不能没有批判精神,就像吃蛋挞不能不撒胡椒面。
??但是,家人们就不想知道我是怎么一本正经的扯淡吗?
概述
??帖子给有限元网格转几何实体提供了一条思路,即:将网格处理为stl文件,然后在stl文件的基础上重建几何实体。帖子首先分析了stl文件的数据组织方式,然后讲解了abaqus中的C3D4单元的表面抽取方式,最终以C3D4单元和C3D8单元为例,在matlab平台编制程序,将四面体和六面体网格处理为stl数据,最后将重建的几何实体划分网格,验证了思路的正确性。
stl文件格式
??STL(Stereolithography)文件是一种常用的三维模型文件格式,主要用于3D打印和计算机辅助设计(CAD)。该文件通过仅仅记录几何实体的表面记录几何信息,但是要保证记录的表面必须是水密表面,否则就会报错。
??stl文件通常有两种方式:二进制格式和字符型格式,其中,二进制格式不可以直接读,需要借助程序或者专用的商业软件读写,而字符型格式可以直接用文本编辑器打开查看,这两种格式各有优劣,本次帖子主要以字符型为例讲解stl文件的格式。
stl文件将几何实体的表面分割成大量的三角面片,面片的数量决定了stl文件的精度,stl文件的关键就是记录这些三角面片,下面是一个三角面片。
首先是三个角点的坐标,就是九个浮点数字,然后是三角面片的外法向量,这个“外”是相对于几何实体的内部来讲的,即法向量的指向和三个节点的排布顺序要满足右手法则。所以,记录一个三角面片需要十二个浮点数字。一个完整的stl文件如下所示
下面是一些需要注意的地方
facetnormal和outerloop中都有空格,end开头的关键字都没有空格。
缩进必须用空格,不允许使用tab。
符号?表示大括号中的内容可以重复一次或多次。
斜体符号是要替换为用户指定值的变量。
平面法线和顶点线中的数值数据是单精度浮点数,例如1.23456E+789。
面法线坐标可能有一个前导减号;顶点坐标可能不会。
外法向量是归一化后的向量。
C3D4单元面抽取
??abaqus中的一阶四面体单元的节点排布顺序非常有讲究,事实上每一个单元的节点排布都有说道,这里只介绍如何抽取C3D4单元的面信息。下面是一个一阶四面体单元
如果家人曾经给模型施加过面荷载,而且仔细瞅过inp文件的话,当然,假如你没有看过也没有关系,因为我会掰着手指头给你讲清楚,学不会别说看过我的帖子。abaqus给一阶四面体单元定义面的时候,通常会有这样的关键字,
*Elset,elset=_water_S3,internal
...
*Elset,elset=_water_S2,internal
...
*Elset,elset=_water_S4,internal
...
*Elset,elset=_water_S1,internal
...
*Surface,?type=ELEMENT,name=water
_water_S3,S3
_water_S2,S2
_water_S4,S4
_water_S1,S1
??相信家人们看到“s1”那几个关键字,顿时好奇心就起来了,那是什么玩意儿???
????我们知道,在有限元中,无论是什么荷载,都需要换算到节点上,因此,节点的抽取至关重要!abaqus的cae工程师就设计出通过抽取单元的面来抽取节点的方式,上面的四个面就对应了四面体的四个面,而每个具体的面又对应了了节点排布里面的节点编号。
??假如上面的四面体单元节点的排布顺序为
40,1,2,3,4
??那么,这个四面体的四个面就分别为
s1-123
s2-142
s3-243
s4-341
??好了,上面是C3D4单元的面抽取方式,C3D8单元的抽取方式我就不赘述了,留给你们当家庭作业了,明天抽查。
例子
??下面以一个三维坝体-库水-地基的模型为例(这东西很难搞,别向我要,我不给)。下面是这个几何模型的示意
这里我们首先把它划分成C3D4网格,或者C3D8网格,都无所谓,搞清楚了abaqus的面抽取方法,都好写程序,这里以C3D4和C3D8单元为例。下面是整体网格。
?下面是地基的网格,采用C3D4单元离散。
下面是拱坝坝体的网格,采用C3D8单元离散。
下面是库水的网格,同样采用C3D8单元离散。
然后,在matlab平台编制程序,将上述的C3D4和C3D8混合的网格处理为stl文件,将坝体、库水和地基分成三个部分创建stl,下面是坝体的stl文件剖面
下面是库水的stl文件剖面。
??下面是地基的stl文件剖面。
现在有了stl文件
原创力文档


文档评论(0)