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

[问题讨论] 求助,节点加载编号问题

[复制链接]
发表于 2012-7-2 21:52:33 | 显示全部楼层 |阅读模式 来自 北京
本帖最后由 冰映光 于 2012-9-8 15:34 编辑

纠结好多天了啊,郁闷死了,想给齿轮前后两个端面加随半径变化的对流换热系数
后端面节点是连续的,所以加上了,前端面因为节点不连续,1000到3000多,实际只有1150个节点,就成这样了!~~
求助高手啊,怎么解决,我想着是把前端面重新编号使其连续按顺序.


问题已经解决,感谢版主midasgalaxy的悉心帮助
原来我用加载载荷的方式是定义一个大小为节点数目的数组,定义整个数组的对流换热系数,
然后加载在所有节点上。
但是由于节点不连续,因为节点从最小到最大的范围溢出了数组范围,因此无法成功加载。
原代码:
NSLA,S,1
csys,1
*get,minnum,node,,num,min
*get,minmax,node,,num,max  
*get,count,node,q,count
*dim,ap,array,count

csys,1
*do,i,minnum,minmax
d1=NX(minnum)
ap(i)=a+b*d1
minnum=ndnext(minnum)
*enddo
sffun,conv,ap(1),
sf,all,conv,0,tt

经版主midasgalaxy的帮助,先将不连续的节点号提取到一个数组中,然后再根据数组中的编号
循环依次加载每个节点的对流换热系数。遇到一个问题是:对流换热系数不能加载在单个
节点上,然后我们提取面上的所有单元的编号,放到数组中,根据数组循环依次同时加载
每个单元的四个节点,大功告成,呵呵~~所有代码都是版主编的,在此非常感谢midasgalaxy!
改进后的代码:
NSLA,S,1
cm,xuanze,node
esln,s,0
eplot
*get,mini,elem,all,num,min
*get,con,elem,all,count
shuzu_elem=
*dim,shuzu_elem,array,con,1
*do,i,1,con,1
shuzu_elem(i)=mini
mini=elnext(shuzu_elem(i))
*enddo

allsel,all
*do,i,1,con,1
esel,s,,,shuzu_elem(i)
*get,nod_1,elem,shuzu_elem(i),NODE,5  !face 6
*get,nod_2,elem,shuzu_elem(i),NODE,6
*get,nod_3,elem,shuzu_elem(i),NODE,7
*get,nod_4,elem,shuzu_elem(i),NODE,8
d1=NX(nod_1)
xishu_CONV_1=ap(i)=a+b*d1
d1=NX(nod_2)
xishu_CONV_2=ap(i)=a+b*d1
d1=NX(nod_3)
xishu_CONV_3=ap(i)=a+b*d1
d1=NX(nod_4)
xishu_CONV_4=ap(i)=a+b*d1
sfe,shuzu_elem(i),6,CONV,1,xishu_CONV_1,xishu_CONV_2,xishu_CONV_3,xishu_CONV_4
sfe,shuzu_elem(i),6,CONV,2,tt,tt,tt,tt
*enddo



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

点评

用SFE加载是一个较好选择。  发表于 2012-9-9 19:02

评分

1

查看全部评分

 楼主| 发表于 2012-7-3 12:08:22 | 显示全部楼层 来自 北京
Simdroid开发平台
有没有人呢···
回复 不支持

使用道具 举报

发表于 2012-7-3 17:10:23 | 显示全部楼层 来自 湖北武汉
可以先选择该面上的节点,然后对这些节点由编号由小到大依次进行处理。
以下仅作参考:

nsel,s,...
*get,n_count,node,,count   !获取该面上的节点数量
*get,n_min,node,,num,min   !获取该区域节点的最小编号

*do,i,1,n_count
....
....                              !进行加载操作,每次对n_min节点加载
n_min=ndnext(n_min)   !获取下个节点
*emddo

点评

受教!  发表于 2012-7-7 08:28
回复 不支持

使用道具 举报

 楼主| 发表于 2012-7-6 22:43:59 | 显示全部楼层 来自 北京
senja 发表于 2012-7-3 17:10
可以先选择该面上的节点,然后对这些节点由编号由小到大依次进行处理。
以下仅作参考:

谢谢哈,最近没上网,期望能再联系哈
回复 不支持

使用道具 举报

 楼主| 发表于 2012-7-6 23:15:58 | 显示全部楼层 来自 北京
再顶顶呢
回复 不支持

使用道具 举报

发表于 2012-7-7 21:24:43 | 显示全部楼层 来自 上海闵行区
compress 一下bumbers
回复 不支持

使用道具 举报

 楼主| 发表于 2012-7-14 18:59:47 | 显示全部楼层 来自 北京
arishen 发表于 2012-7-7 21:24
compress 一下bumbers

试过了,不行呢··
回复 不支持

使用道具 举报

发表于 2012-7-14 22:04:57 | 显示全部楼层 来自 湖北武汉
numcmp命令是压缩编号只是表示保证整体上的编号连续不会出现中间有空缺,但不能保证某一区域内编号一定是连续从小到大的,楼主按版主的方法做是完全可以实现的
回复 不支持

使用道具 举报

 楼主| 发表于 2012-7-16 10:22:02 | 显示全部楼层 来自 北京
lscookie 发表于 2012-7-14 22:04
numcmp命令是压缩编号只是表示保证整体上的编号连续不会出现中间有空缺,但不能保证某一区域内编号一定是连 ...

非常感谢!
回复 不支持

使用道具 举报

发表于 2012-7-16 21:37:35 | 显示全部楼层 来自 湖北武汉
本帖最后由 si13 于 2012-7-16 21:38 编辑

试试  sffun
表加载也是能够很容易实现的
回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-31 16:19:35 | 显示全部楼层 来自 北京
senja 发表于 2012-7-3 17:10
可以先选择该面上的节点,然后对这些节点由编号由小到大依次进行处理。
以下仅作参考:

版主,用这个貌似不行呢··郁闷
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-8 15:35:20 | 显示全部楼层 来自 北京
呵呵,让大家都看到~
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-23 01:19 , Processed in 0.051107 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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