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

htbbzzg的博客

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

 
 
 

日志

 
 

答网友:立方体划分网格时如何使节点有规律的编号 (2)  

2011-11-18 07:20:17|  分类: 问与答 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

      然后再将这些节点沿 y 方向进行拷贝,拷贝 6 次 (因为 y 方向的线段设置为划分 5 个单元,即一条线有 6 个节点),距离为 10,节点编号增量为 35:

                             答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 

 以下是 Y 向各层节点的编号情况:

底层 (第一层, Y = 0)

                         答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 第二层, Y = 10

                         答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 第五层, Y = 40

                         答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 顶层 (第六层  Y = 50)

                        答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 可以看到节点编号满足了前面提出的要求。接下来可以使用这些节点采用 E 命令手工定义节点,但比较麻烦且容易出错。为了方便,仍对立方体划分网格,然后采用合并节点的办法使立方体上的节点编号符合前面的要求。

为了保证合并节点成功,立方体各边划分的单元数必须与自定义节点时各边的单元数一致 (边节点数 - 1)。

立方体划分网格的结果,可以看到节点编号均大于前面形成的节点的最大编号 210,但不符合前面对节点编号的要求:

                        答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 然后执行合并节点,但是选择保留编号较小的节点:

                       答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 合并的结果,看来好像满足了前面的要求:

                     答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 进一步检查一下 Y 向各层节点的编号:

                     答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

                     答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

                     答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

                     答网友:立方体划分网格时如何使节点有规律的编号 (2) - htbbzzg - htbbzzg的博客

 显然可以满足前面的要求。

注意这个示例有一定局限性,但可以作为类似情况的参考。

 

 

二、 方法 2:

另一种方法:

首先对立方体划分网格,然后使用 APDL 语言编程修改节点编号一满足前面的要求,基本思路是 (假设已对立方体划分网格):

1.  选择所有实体,用 *get 命令获取节点总数 ncount:

    Allsel

    Numcmp, node

    *GET,  ncount,  NODE,  0,  count              !  节点个数

2.  将所有节点编号偏移 ncount (或更大),菜单项:

    Main Menu > Numbering Ctrls > Add Num Offset > Nodes

命令:

    Numoff,  node,  ncount

然后获取新的节点编号的最大和最小编号值:

    *get,  nmax,  NODE,  0,  NUM,  max        !   最大节点编号

    *get,  nmin,  NODE,  0,  NUM,  min          !   最小节点编号

3.  定义数组 node_sort 用于存放所有节点编号,开始时与立方体上的节点顺序编号相同:

    *DIM, node_sort, array, ncount

    *do, i, 1, ncount

        node_sort(i) = nmin+i-1

    *enddo

4.  将各节点分别按三个坐标值进行排序,排序的同时调整数组 node_sort 中的节点编号,最终使其与排序结果一致。

5.  根据数组 node_sort 中的节点编号顺序,定义新的节点,其坐标值与数组中节点编号的坐标值相同,新节点按照顺序连续编号,从 1 开始。

6.  合并节点,在被合并的节点中,选择保留编号相同的节点。

这个方法需要对 APDL 语言和命令流比较熟悉,感兴趣的网友可以自己试试看。

不过,由于使用 APDL 语言对节点排序可能会花费大量时间,这个办法未必是个好办法。

  评论这张
 
阅读(1240)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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