对于存在多个计算域的仿真模型(比如,不同材料固体结构之间的导热、流体与固体之间的对流传热等),Star CCM 会识别体与体之间的接触面,在创建Part时会建立代表这些接触面的Contacts特征,然后在从Part创建Region时建立与Contacts特征对应的Interfaces。进行计算时,不同计算域之间的数据传递和耦合计算都是通过Interface来实现的。如果在创建Interface时失败,则在检查计算结果时就会发现物理量应该连续的地方却出现了间断。Star CMM 在从3D-CAD创建新Part时一般会自动识别不同实体之前的接触面并建立Contacts,但是这一过程并非总是能够成功,这就会导致后续的Interface也创建失败,下面就来详细阐述这一问题。
举一个简单模型的例子,如图所示,这个模型包括三个实体,一个圆柱体和两个长方体。圆柱和下面的长方体接触,两个长方体之间接触,也就是说这个模型一共有两个接触面。
既然这个模型有两个接触面,那么在生成Part时应该会创建两个Contact,然而实际上却只有一个Contact。
通过点击选中contact可以让接触面在视图窗口中高亮,如下图。(cube/cube 2 代表的是接触面两边的体的名字,Default/Default 代表的是接触面两边的面的名字)。这里唯一的接触面显示为两个长方体之间的接触面,也就是说圆柱体和长方体之间的接触面没有创建contact。
这种情况下,如果你没有注意到contact的问题就去生成Region,那么在创建Interface时,圆柱体和长方体之间也不会创建Interface,因为contact是Interface的基础。如下图,Interfaces中也只有一个。
这个例子只有两个接触面,检查起来很方便,然而对于包含很多个体计算项目,比如很多个部件之间的传热,在创建Part时会生成很多个Contact,如果其中一两个缺失了通常你也不会注意到,直到最终检查计算结果时才能发现,这样就坑了。
解决上述问题的办法就是 Imprint。
把圆柱体隐藏后,两个长方体是这样的,下图。这里你完全看不到任何圆柱体的痕迹。
现在把圆柱体和长方体进行Imprint,然后长方体上就有圆柱体的痕迹了。其实就是把方形面分成了一个圆面和剩下的部分。
然后再重新创建Part和Region,这时的Contacts和Interfaces就都是两个了。点击cube/syl可以看到高亮的部分就是圆柱和长方体的接触面,说明这次contact创建成功了。
这里还有一个问题:为什么两个长方体之间没有Imprint也能成功创建contact呢?
我的理解是,如果接触面是相同的两个面(两个长方体的接触面是同一个长方形,或着说重叠的两个长方形),那么不进行Imprint也能创建contact。像Imprint之前那种情况,长方体的方形面和圆柱体的圆面是不同的,,所以软件没有创建contact;而在Imprint后,长方体上也就有了一个和圆柱体的圆面重叠的圆面,此时contact就成功创建了。
为了闭坑,我的习惯做法:在3D-CAD中建模或处理模型后,对所有的体进行Imprint,然后再根据边界和网格划分的需要对面命名,最后再创建Part。个人经验,仅供参考!