注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

用 I-deas 对大模型进行自由网格划分 (V11 版) - 2  

2010-12-11 07:18:41|  分类: I-deas 资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

对成组的圆柱 section 划分网格

    自动创建 section 时创建了一个名为 "STACKEDSECTIONS" 的组。这些 section 由组合成一个 section 的相邻圆柱面组成。这些 section 包括 O 形环、凹槽、圆角、倒角和用以定义圆柱特征 (如螺钉、螺钉孔等) 的圆柱面。在这些 sections 上定义网格时:

    1  典型的整体单元长度为 510 mm

    2  单元类型:线性三角形。

然后在 STACKEDSECTIONS 上生成网格。同样,可能有一些 section 不能分网,但它们可以加入到 pre-process list 中。将分网失败的 sections 储存到一个组中,并采用上述的方法修改它们,使其可以分网。

 

对其余 section 划分网格

    自动创建 section 还创建了一个名为 "STANDARDSECTIONS" 的组。采用与处理 STACKEDSECTIONS中的 sections 同样的方法对这些 sections 定义网格。用对其它 sections 组同样的方法完成对这些 sections 分网的工作。

 

网格质量:狭长 (Stretch) 单元

    狭长的三角形单元会造成非常差的实体单元。这一处理过程识别狭长程度小于 0.1 的三角形。狭长值 1.0 表示一个形状好的单元,而狭长值 0.0 表示一个失败的单元。随着面三角形狭长值的增加,产生高质量实体网格的概率也提高,从而能够被成功的求解 ( Nastran 静力求解)。执行以下操作以识别差网格区域:

    (1)  选择质量检查 (Quality Checks) 图标,并选择全部单元;

    (2)  检查单元质量,设置检查条件为: Stretch < 0.1

    (3)  将未通过检查的单元储存到名为 "Stretch < 0.1" 的组中;

    (4)  将所有与这些单元有关的 sections 加入该组中 (用组管理表单中的Quick Fillets)

    (5)  显示该组。

    在识别出这些高度狭长的单元和相关的 sections 后,可以使用自动 section 编辑工具进行网格编辑。

 

网格编辑

    至此,所有或几乎所有的 section 均已划分了网格。少数不能分网的 sections,在使用 sections 编辑工具改善网格质量时也可能得到了解决。

    联合使用自动和手工工具通常可以最终修正网格质量。自动工具包括:

    · 自动合并 Sections

    · 自动消除短曲线 (I-deas 新版本中的隐藏命令)

    · 修整内角

    · 单元清理 (element collapse) (本过程中不用。可以接受,但有风险)

    手工工具通常包括所有的 section 编辑工具:

    · 从 section 中删除连接点

    · 从 section 中删除曲线

    · 从 section 中删除回路 (loop)

    · 往 section 中添加连接点

    · 往 section 中添加曲线

    · 往 section 中添加回路 (loop)

    · 替换 section 中的连接点

    · 替换 section 中的曲线

    手工工具可以在处理过程中的任意点使用。这意味着彻底清理自动工具不能正确处理的区域,因此被看作辅助的操作。

 

自动合并 Sections (Auto Merge Sections)

    自动合并 section 将识别造成狭长三角形的 section。典型地,这些狭长 section 的短边长度小于预定整体单元长度的 10%,长边的长度至少为整体单元的长度。对于狭长 section,有一个模型检查选项。显示整个模型并设置模型检查为按宽度检查小 section (Small Sections by Width),然后打开模型检查显示 (Model Check Display)。将宽度设置为整体单元尺寸的 10% 或更小。适于自动合并 sections 操作的所有狭长 section 成为高亮度。

    (6)  选择 Auto Merge Sections 图标,并选择 "Stretch < 0.1" 组中的所有 sections

    (7)  指定 section 宽度为单元长度的 10%;

    (8)  将狭长的 sections 存入一个组,或允许软件合并所有的狭长 section

    (9)  在合并 sections 后,再次检查整个网格的狭长度 (stretch)

    (10)  Quick Checks 表单中,将 新查出的狭长 sections 储存到前一次定义的组中,改写组 "Stretch < 0.1"

    (11)  在组管理表单中,添加与该组单元相关的 sections 到组中。

    将自动合并 sections 操作处理的 sections 限制在一个组中,是因为可能形成不可分网的 sections。将该命令用于整个模型是不必要的。自动合并 sections 将会减少网格中狭长 sections 的数量。由于多个狭长单元被一个好的单元所取代,它也可以减少总的单元数。

 

修整内角 (Fix Included Angles)

    修整内角的工具用于修整有很大或很小内角的单元。这一操作不破坏相关节点和单元与 section 之间的联系。仅对储存在 "Stretch < 0.1" 组中的单元使用修整内角工具。

    (12)  由菜单中选择: /FM FA (改善网格,修整内角。调出方式为:ctrl+M -> Improve Mesh -> Fix Included Angles)

      a  对四边形角度参数选择默认值 (模型中没有四边形)

      b  指定三角形的最小角度: 15 度;

      c  指定三角形的最大角度: 105 度;

      d  OK to angle smoothYES

      e  输入Surface Node Movement Limits (表面节点移动限)1

      f  输入Curve Node Movement Limits (曲线节点移动限)0

      g  对是否分割四边形 (quad splitting) 选择默认值;

      h  OK to combine failing triangles (结合失败的三角形)NO

      i  OK to swap edges of bad elements (交换差单元的边)Yes

    这一新的狭长单元和相关 sections 的组将小于第 11 步创建的组,然而有更多的整理工作要做。

 

自动清理短曲线 (Auto Collapse Short Curves)

自动清理短曲线将识别那些长度短于用户给定值的曲线并试图将该曲线简化为一个点。这是替换连接点 (Replace Connector) 的一个自动版本。不是每次使用自动清理短曲线都可以成功地进行曲线的替换。例如,如果一个狭长的 section的两侧被识别为短曲线,自动清理短曲线操作将不会清理它们,因为可能会产生退化的 section。自动清理短曲线也不会清理可以用删除连接点 (Remove Connector) 操作改正的短曲线。对这种情况会提供一个额外的连接点,很容易用删除连接点操作来删除。

在所有 I-deas 10 版本中,自动清理短曲线都是一个隐藏函数,在 I-deas 11 版本中完全支持。

(1)  显示组 "Stretch < 0.1"

(2)  发出隐含命令: /dfn nms cv acs

                    用 I-deas 对大模型进行自由网格划分 (V11 版) - 2 - htbbzzg - htbbzzg的博客
 

      (3)  选择组 "Stretch < 0.1" 中的 section

      (4)  重复步骤 9 11

    自动清理短曲线将输出一个列表,其中汇总了:

      (1)  短曲线总数;

      (2)  清理的短曲线数;

      (3)  不适宜自动清理的短曲线数。

    模型检查 (Model Check) 也支持 section 长度检查。在执行自动清理短曲线以后,打开这一选项可以看到所有剩余的短曲线在图形中变为高亮度。这一命令也可能使原来可以划分网格的 section 变成不能划分网格。可以将这些曲线留待以后清理,也可以马上进行修整。

    在所有情况下,自动清理短曲线都是用户需要执行的最后一个自动选项。到了自动选项 (如前所述) 的这一步,需要避免产生新的 section 自由曲线。比如,如果发现一条 section 编辑失败,可以删除这一 section 并重新创建。但是,在重新创建 section 时,在网格编辑时进行过自动清理短曲线、替换连接点、或者替换曲线的区域中可能形成 section 自由曲线。

 

    手工清除短曲线 (Manual Elimination od Short Curves)

    自动清理短曲线不能清理可以用手工删除连接点改正的短曲线。对这些情况,可以用手工方法继续修改:

(1)  显示组 "Stretch < 0.1"

(2)  选择要删除的连接点

(3)  删除在高亮度蓝色方盒中的连接点,包括:

          a  属于狭长单元的连接点;

     b  将模型检查时显示为高亮度的曲线定义为短曲线。

(4)  然后,重复步骤 9 11

这是单调乏味的手工修改模型的开始。由现在起,用户需要依靠对其余狭长单元及其相关 section 的图形显示来识别需要进一步编辑的区域。典型的,一个狭长单元是附着在一个非常短的 section 上或属于一个非常狭长的区域。根据不同情况,前面列出的不同手工编辑 section 工具可以用来修改拓扑或网格中的错误。附录 B 中列出了用户经常遇到的拓扑和网格错误的几个实例。

另一个检查 sections 质量的工具是曲线一致性检查 (check for Curves Coincident Within)。它将识别出 section 曲线相互非常靠近但是不相交的狭长区域,这种情况将产生狭长的三角形。

 

生成实体网格 (Generating the Solid Mesh)

    到此,网格编辑工作已经完成。模型需要通过下列条件的检验:

  (1)  没有 stretch < 0.1 的单元 (这是质量目标,并非模型失效)

       (2)  没有一致节点;

  (3)  没有一致单元;

       (4)  没有 section 自由曲线;

       (5)  没有单元自由边界。

    在通过这些质量的检查后,用户可以生成实体网格。生成实体网格最省事的方法是从壳体到实体 (Solid from Shells)。对于未完全缝合的 CAD 模型,从壳体到实体是唯一的选项。在体积 (Volumes) 上生成实体网格通常比从壳体到实体需要更多的内存,因此不能像从壳体到实体一样生成大的模型。

    不能通过前面所列的质量标准将会造成实体网格的生成失败或质量很差。造成划分实体网格失败的另三种情况是:

      (6)  三角形网格中需要清理的情况,如需要清理的圆柱; (Collapsed conditions in the triangle mesh; such as collapsed cylinders)

      (7)  几何交叉的三角形 (-边、边-面、点-边,等)

      (8)  三个或更多个三角形共享单元边界 (一种依附 "dangling" 单元或被分割的单元)

         - 仅在使用 Advancing Front 算法时失败,Delaunay 算法可以对分割单元划分网格。

    分网出错的模式 235 6 可以由 Delaunay Advancing Front 算法识别。出错的单元储存在输出组 output group 中,供用户进行分析研究。关于失败类型的诊断信息也是一个很好的参考。

    对于第 7 种出错模式,Delaunay 是极好的算法,而Advancing Front 不能执行这一检查,并可能给出虚假的失败信息。 Advancing Front 也可能混淆出错的区域,或储存在 output group 组里的单元与出错区域无关。另一方面,Delaunay 方法能够识别在几何交叉处的单元和节点,并将这些节点和单元储存在 output group 组中。然后用户很容易清理这些区域。典型的,在需要细的网格划分以防止出现交叉的区域中使用了粗的网格划分,就容易出现几何网格交叉的情况 (特别是在相对网格尺寸为高曲率和/或薄壁的区域中)

                     用 I-deas 对大模型进行自由网格划分 (V11 版) - 2 - htbbzzg - htbbzzg的博客
 

    第 8 种模式只在 Advancing Front 时出错。Delaunay 可以对 dangling 或被分割的三角形单元划分网格。

    对于每一个出错的区域,用户必须分别研究和修改底层的三角形单元。

    一个端部边界仅有两个节点的圆柱定义了一个失败的网格。因此,不是用至少一个三角形或四边形孔来表示一个圆柱,而是把圆柱表示为一个平面。但是如果将整个圆柱用两个半圆柱的 section 来定义,则情况会更坏,网格中会有两个平面,一个在另一个的上面。这一情况可以用一致单元检查来识别。

    改正圆柱上的失败网格的一个简便方法是使用 Free Mapped 网格划分。首先需要确保在圆柱端面的曲线上至少有 4 个节点,然后 Free Mapped 会确保沿圆柱长度有四个单元面,从而圆柱被表示为一个拉伸的四方形或矩形。

    必须通过细分三角形网格来正确地修改交叉几何情况的三角形网格,以使得网格更好地逼近 CAD 数据的曲率。同样,Delaunay 方法会将出错的单元储存在 output group 组里,以便用户再次生成实体网格前修复网格中所有几何交叉的情况。

    最后,应该使用 Delaunay 方法生成初始的实体网格,因为它的网格检查工具优于 Advancing Front 方法。一旦有了适用于实体网格划分的壳体网格,如果愿意的话,总是可以回过头去用 Advancing Front 方法重建实体网格。

 

关于实体网格生成的提示

    在生成实体网格时,大的 CAD 模型需要大量的内存。以下是一些有助于成功生成实体网格的提示:

      (1)  关闭 I-deas 自动内存管理;

      (2)  设置 TVM 应用内存 (TVM application memory) 为最大;

      (3)  将所有其它 TVM 内存 (all other TVM memory) 设置为最小;

      (4)  关闭单元显示过滤器 当显示内存有限时,I-deas 不能显示大型的网格;

      (5)  在即将生成实体网格前,重启 I-deas – I-deas 往往不能释放大段的可用内存;通过重启 I-deas,在进行实体网格划分时比起重启前,有更多的内存可供使用;

      (6)  对特别大的模型 (实体单元数超过 500000),重建 (rebase) I-deas DLLs 文件,以便更多连续内存块可以用于网格划分。


狭长实体检查

    在生成线性四面体实体单元后,进行一次狭长单元检查以清除扁平的四面体单元。如果存在扁平单元,重新审查该局部区域的壳体网格。可能需要修改有关的壳体单元。 I-deas 中的 Plump 命令可以用来修改狭长的四面体单元。在这一步,单元的扭曲不是问题,因为四面体单元还是线性的。

    取决于壳体网格的质量和零件特征的局部厚度,有可能 Plump 命令仍不能改正所有的狭长四面体单元。通常,狭长的实体可以通过细分 section 上的三角形网格来改正。

    以下方法可以快速识别可能需要细分的 section

    (1)  创建一个包含所有狭长实体单元的组;

    (2)  将与该组单元相关的节点加入到该组中;

    (3)  显示该组;

    (4)  通过显示相邻 (Display Adjacent) 或附近 (Display Proximity)  单元来增加显示的内容;

    (5)  当能看清相邻的三角形单元时,将这些单元加入到组中;

    (6)  将与这些单元有关的 section 加入到组中;

    (7)  显示该组;

    (8)  确定造成狭长实体单元的原因并适当修改三角形网格;

    (9)  删除所有的实体单元和相应的节点;

    (10)  重新生成实体网格。

 

将线性单元转换为二次单元

    Element ModifyOrder 命令将线性单元转换为二次单元。用户可以通过一个选项将中间节点置于单元的边中点处 (直边单元),或将中间节点投影到相关的面上 (曲边单元)。直边单元的扭曲值为 1.0,而边界存在曲率的单元也存在扭曲。改正扭曲问题有几种方法:

    ?  细分基本的三角形单元并重生成实体单元;

    ?  修改扭曲单元为直边单元;

    ?  使用 Tetra Fix 命令试图达到较高的扭曲限制。

    拉直单元边界是一个选项,但不能保留真实的 CAD 曲率数据。Tetra Fix 将尝试保留 CAD 数据中的曲率值。在解决了实体网格的扭曲和狭长问题后,大功则已告成。

  评论这张
 
阅读(886)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016