分享

CAD中“非流形体”几何简介

 多物理场仿真 2023-07-09 发布于上海

在使用CAD建模工具和各种仿真软件中,可能会碰到类似如下警告:

The geometry is non-manifold...

Non-manifold vertixs exist...

关于Non-manifold(非流形体),数学解释比较复杂。通俗讲该几何现实中不存在或无法制造。最典型的例子就是两个相同的立方体,完全相互接触,接触所在的共享面就是非流形体。该共享面既不能独立存在,也不能单独归在两个实体中的一个。在实践中,拓扑面下的几何数据相同。

在三维CAD建模中,如果出现非流形体,也就意味着几何有重叠,干涉。

以下内容来自网络:

流形(manifold)是一个几何拓扑术语,意思是:允许不相交的块存在于单个逻辑体中。

非流形(Non-manifold )则意味着:所有不相交的块必须是它们自己的逻辑体。

当然,这个定义往往更令人困惑,所以也许考非流形和流形的最佳方式是这样的:流形本质上意味着“可制造的”,非流形意味着“不可制造的”。换句话说,流形的意思是:你可以用一块金属加工出形状,对于非流形,你不能。

当使用诸如CATIA V5之类的非流形建模应用程序时,例如,在创建非常大且复杂的部件时,可能会从布尔、混合、清扫、放样、抽壳等操作中无意中创建非流形对象。将这些非常大且复杂的非流形实体保存为流形建模格式时,这些对象需要在非流形位置进行“拆分”。当不能创建实体时,就创建一个表面模型。一般的模型检查器也会检查此类问题,给出报告。

以上内容来自网络

在仿真中,非流形体是一个非常重要的概念。结构中不同单元连接,接触,复合材料,散热,CFD多流场,EDA,TCAD,在这些分析中,最大的特点是不同属性(不同的材料,几何层,业务属性等)的几何要在一起分析,而且不同属性的几何之间相互接触!

在以网格作为输入的仿真中,输入数据的网格单元必须是conformal(整体网格连接性要保持完整),即网格中不能存在多余的点和线,需要全部是相互连接的网格,否则求解器端就需要进行额外的插值处理,以保证计算区域的连续性。

传统意义上的几何表达无法处理非流形体,所以在仿真处理中,一般是不同的几何分别生成网格,然后对网格进行合并。还有一种处理方法是在几何中引入新的属性,ACIS中叫元胞(Cell),OCC中也有类似的概念。

Cell结构的特点是,在进行布尔并运算之后,原有的几何都保留,属性也保留,以刚才的两个立方体为例,进行布尔运算之后,公共面会被保留,而且只会保留一个面,两个实体的信息分别存储在各自的Cell信息中。

传统意义上的布尔并运算则会将公共面去掉。

对于网格引擎而言,只要处理单纯的面即可,在生成实体单元过程中,查询对应的Cell信息,就能给出原始几何的属性信息,这种方法相比网格合并要简单,而且网格质量也更优。

下图是在FasCAD中进行非流形体布尔并运算:


CAD和几何其实不是公众号介绍的重点,但是由于仿真往往和几何CAD紧密关联,所以不可避免的需要涉及,也是工业设计仿真软件的基础。目前CAD软件里融入数值仿真功能,一些等几何无网格数值方法的应用,生成式设计等,也是在强化CAD和仿真之间的无缝集成。

翻了下公众号以往的内容,几何和CAD也占了相当多内容,后续根据实际情况再单独打印一本书,主要还是以软件研发为主。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多