找回密码
 注册
Simdroid-非首页
查看: 295|回复: 7

[建模和网格划分] 最新发现:提高ANSYS计算效率的策略

[复制链接]
发表于 2008-12-28 16:52:21 | 显示全部楼层 |阅读模式 来自 四川大学
在计算机配置、有限元模型一定的情况下如何提高ANSYS的计算效率?
也许这个问题的解决方法很多,最近我无意中发现一个非常有效的方法,与大家共享.
使用条件:模型足够大,计算机配置低
方法:1)首先按照ANSYS的基本建模步骤建立有限元模型---几何模型,材料模型,划分网格,边界条件,载荷等.
      2)采用APDL语言得到有限元模型的所有信息---节点信息(编号,坐标),单元信息(单元类型,单元节点组成,材料编号等),边界条件信息,载荷信息等.这些信息保存在自定义的数组中.
   3)将原有限元模型、几何模型等全部删除.
   4)采用最原始的方式建立有限元模型---根据节点信息建立节点,再根据单元信息建立单元,施加边界条件和载荷.
   5)求解.
以上措施看起来很多余,但是对提高计算效率很有用,举例如下:
前段时间用ANSYS做锦屏一级拱坝在地震荷载作用下的动水压力分析(流固耦合),单元总数约18000,节点总数约23000,计算时长10s,时间步长0.02s,共500步,计算机配置:CPU为P4 2.4G,内存!G(配置较差),采用常规计算步骤计算时间约10小时.采用以上方法可在7小时内计算完,原因可能是因为:相比之下,模型占用的内存减小了.
   

评分

1

查看全部评分

发表于 2008-12-28 17:15:04 | 显示全部楼层 来自 瑞典
Simdroid开发平台
感谢分享。
写个marco文件,这个过程应该不难。
回复 不支持

使用道具 举报

发表于 2008-12-29 18:20:32 | 显示全部楼层 来自 江苏南京
学习了,顶一下!
回复 不支持

使用道具 举报

发表于 2008-12-30 16:06:49 | 显示全部楼层 来自 重庆沙坪坝区
2)采用APDL语言得到有限元模型的所有信息---节点信息(编号,坐标),单元信息(单元类型,单元节点组成,材料编号等),边界条件信息,载荷信息等.这些信息保存在自定义的数组中.
这步怎摸实现?
回复 不支持

使用道具 举报

 楼主| 发表于 2008-12-30 17:34:18 | 显示全部楼层 来自 四川大学
allsel,all
numnode=8
*get,nn,node,,count
*get,ne,elem,,count
*dim,nodeinfo,array,nn,4
*dim,eleminfo,array,ne,numnode+3
allsel,all
*do,i,1,nn,1
    *get,nmin,node,,num,min
    *SET,nodeinfo(i,1),nmin
    *SET,nodeinfo(i,2),nx(nmin)
    *SET,nodeinfo(i,3),ny(nmin)
    *SET,nodeinfo(i,4),nz(nmin)
    nsel,u,node,,nmin
*enddo  
allsel,all
*do,i,1,ne,1
    *get,emin,elem,,num,min
    eleminfo(i,1)=emin
    *get,eleminfo(i,numnode+2),elem,emin,attr,type
    *get,eleminfo(i,numnode+3),elem,emin,attr,mat
    *do,j,1,numnode,1
        *get,eleminfo(i,j+1),elem,emin,node,j
    *enddo
    esel,u,elem,,emin
*enddo
以上是获取节点、单元信息的命令
边界条件和荷载信息类似,比如:对于边界条件,首先将需要定义边界条件的节点选出来,然后把他们的编号放到一个自定义的数组就行了.

当所有信息获取完后,执行以下命令:
ddele,all,all
sfdele,all,all
vclear,all
vdele,all,,,1
*do,i,1,nn,1
    n,nodeinfo(i,1),nodeinfo(i,2),nodeinfo(i,3),nodeinfo(i,4)
*enddo
*do,i,1,ne,1
    type,eleminfo(i,numnode+2)
    mat,eleminfo(i,numnode+3)
    en,eleminfo(i,1),eleminfo(i,2),eleminfo(i,3),eleminfo(i,4),eleminfo(i,5),eleminfo(i,6),eleminfo(i,7),eleminfo(i,8),eleminfo(i,9)
*enddo
然后选择边界节点(根据边界条件自定义数组里的编号)施加边界条件,荷载类似.

以上命令适用于实体8节点单元,可推广到其他类型单元或有多种单元的情况.

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-2-15 23:06:00 | 显示全部楼层 来自 广东广州
这确定是一个思路!
类似于WINDOWS->DOS!
回复 不支持

使用道具 举报

发表于 2012-4-13 11:21:48 | 显示全部楼层 来自 北京
好办法,去华取实
回复 不支持

使用道具 举报

发表于 2012-4-13 13:32:01 | 显示全部楼层 来自 武汉大学
方法虽然不错,不过真要这么多单元的话,不如减少单元数目节约时间更实在?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-25 03:23 , Processed in 0.041018 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表