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

[问题讨论] 请大家帮我看看这个命令什么地方不对?谢谢了

[复制链接]
发表于 2013-1-17 15:24:12 | 显示全部楼层 |阅读模式 来自 福建福州
选取面52,在面上的所有节点加载函数应力,但是程序提示有问题

asel,s,52                !选取面52
nsla,s,1                 !选取面上所有节点
*get,nmax,node,,num,max,    !最大节点号
*get,nmin,node,,num,min,      !最小节点号
*do,i,nmin,nmax
*if,nsel(i),eq,1,then
nsel,,num,,i                    !选择第i个节点
*get,xn,node,i,loc,x            
*get,yn,node,i,loc,y            
*get,zn,node,i,loc,z            
P=100*(xn+xy+xz)
sf,i,1,pres,P
*endif                   !判断结束
*enddo


发表于 2013-1-17 19:54:19 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
本帖最后由 senja 于 2013-1-18 09:32 编辑

出现问题最好把错误信息一并发上来!!

asel,s,,,52
nsla,s,1
*get,nnum,node,,count      !获取选择的节点总数
*get,nmin,node,,num,min
*do,i,1,nnum
*get,xn,node,nmin,loc,x
*get,yn,node,nmin,loc,y
*get,zn,node,nmin,loc,z
P=100*(xn+yn+zn)
sf,nmin,pres,P
nmin=ndnext(nmin)   !在选择的节点范围内选择下一个节点
*enddo

PS:没有会错楼主的意思的话,上面这段命令应该就是你需要的

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2013-1-17 19:54:44 | 显示全部楼层 来自 湖北武汉
本帖最后由 lscookie 于 2013-1-17 20:00 编辑

错误提示是什么?选面命令不是那样的,sf命令检查下格式SF, Nlist, Lab, VALUE, VALUE2,加载的里面的参数不对应xy没有出现,
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-17 23:46:42 | 显示全部楼层 来自 福建福州
senja 发表于 2013-1-17 19:54
出现问题最好把错误信息一并发上来!!

asel,s,,,52

谢谢版主的修改,现在加载提示sf命令错误,说Nlist不能为i

具体提示“The Nlist field of (I) on the SF command is invalid. Only the labels of ALL, blank, P, P51X, or a COMPONENT name are allowed. The SF command is ignored."

我把命令流改成如下:
asel,s,,,52
nsla,s,1
*get,nnum,node,,count      !获取选择的节点总数
*get,nmin,node,,num,min
*do,i,1,nnum
*get,xn,node,nmin,loc,x
*get,yn,node,nmin,loc,y
*get,zn,node,nmin,loc,z
P=100*(xn+yn+zn)
nsel,s,node,,nmin               !选择第i个节点
sf,p51x,pres,P
nmin=ndnext(nmin)   !在选择的节点范围内选择下一个节点
*enddo

但是又出现新的错误:“Specified range of 0 to 0 is not permitted. The NESL command is ignored."

是不是我改的不对?
回复 不支持

使用道具 举报

发表于 2013-1-18 08:47:14 | 显示全部楼层 来自 欧洲
sf是施加面载荷的命令,但是在进行这个操作之前,你好像选择的是节点,怎么施加呢?
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 08:55:20 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 08:47
sf是施加面载荷的命令,但是在进行这个操作之前,你好像选择的是节点,怎么施加呢? ...

谢谢回复,sf是施加节点载荷,sfa是施加面载荷,应该是这样吧
回复 不支持

使用道具 举报

发表于 2013-1-18 09:36:37 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 08:55
谢谢回复,sf是施加节点载荷,sfa是施加面载荷,应该是这样吧

Are you sure?

又仔细看了一下你得命令流,你只选择了一个节点,然后就想施加压力,试想:一个节点可以属于不同单元,或者不同的面,而压力是需要方向的,只有节点的话,你施加哪个方向的呢
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 09:50:40 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 09:36
Are you sure?

又仔细看了一下你得命令流,你只选择了一个节点,然后就想施加压力,试想:一个节点可以 ...

谢谢提醒,这个问题忘记考虑了,一直认为会和面载荷一样,默认垂直所选面的法线方向。
请问事实是不是这样?需要设置节点载荷方向吗?
查了书了,sf是节点载荷,sfa是面载荷
回复 不支持

使用道具 举报

发表于 2013-1-18 10:00:39 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 09:50
谢谢提醒,这个问题忘记考虑了,一直认为会和面载荷一样,默认垂直所选面的法线方向。
请问事实是不是这 ...

Still ' A u sure?"

I think it is better to explain in English.
Sf is a command for applying surface load onto nodes, such as pressure, heat flux,..etc. Pls pay attention that it is ' nodes', not 'node'.
Sfa is a command for applying surface load onto areas.

可见,sfa是将面载荷施加到面上,sf是将面载荷施加到节点集(注意,是节点集)上。前者对几何模型,后者对有限元模型

点评

谢谢前辈提醒,我自己也忽略了这个问题,直接写命令了  发表于 2013-1-18 10:57

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 10:11:01 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 10:00
Still ' A u sure?"

I think it is better to explain in English.

非常感谢,我理解片面了,您的解释很对,是应该为nodes
请问节点施加载荷的命令是什么?或者您觉得要实现我的目的有什么方法更合适?
回复 不支持

使用道具 举报

发表于 2013-1-18 10:24:02 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 10:11
非常感谢,我理解片面了,您的解释很对,是应该为nodes
请问节点施加载荷的命令是什么?或者您觉得要实现 ...

如果压力变化可以用坐标的函数来表示的话,最好的办法是使用函数进行压力的施加。
如果不能用函数表示的话,比如来自于CFX计算结果,能否通过将CFX的结果文件直接施加到结构上
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 11:51:44 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 10:24
如果压力变化可以用坐标的函数来表示的话,最好的办法是使用函数进行压力的施加。
如果不能用函数表示的 ...

我用函数编辑器编辑了载荷函数:Result = -100*({X}+{Y}+{Z}),在面52上加载没有问题,但是程序好像使用的是面52的x,y,z坐标,导致面上所有节点的载荷一样。
所以用命令流:
asel,s,,,52
nsla,s,1
选取了面52上所有的节点,生成节点组,再用载荷函数加载在节点组上,出现下面错误提示:
“Accumulation of load defined with tabular boundary conditions is not permitted。 Use the *TOPER command 同change tabular loads.”
请问这个是什么原因,怎么修改?谢谢
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 13:02:08 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 10:24
如果压力变化可以用坐标的函数来表示的话,最好的办法是使用函数进行压力的施加。
如果不能用函数表示的 ...

所以用命令流:
asel,s,,,52
nsla,s,1
选取了面52上所有的节点,生成节点组,再用载荷函数加载在节点组上,出现下面错误提示:
“Accumulation of load defined with tabular boundary conditions is not permitted。 Use the *TOPER command to change tabular loads.”

产生这个错误是因为我在与面52相连并垂直的两个面上施加了对称载荷,导致面52有两条边上的节点先受到受到对称载荷,而我之前又设置了载荷施加模式为替代,导致不能在面52有两条边上的节点再施加函数载荷。

修改成载荷累加之后就可以加载了,但是一运行求解,出现3个警告(这个加恒定载荷也出现,确认之后运算正常),确认之后程序直接就自动关闭退出了,这个真是无语了,

唉,感觉已经山穷水尽了,前辈
回复 不支持

使用道具 举报

发表于 2013-1-18 13:07:42 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 13:02
所以用命令流:
asel,s,,,52
nsla,s,1

使用函数加载方式可以直接在面上加载,不需要选择节点。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 13:18:50 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 10:24
如果压力变化可以用坐标的函数来表示的话,最好的办法是使用函数进行压力的施加。
如果不能用函数表示的 ...

就算只在底面加约束,上表面加函数载荷,这种简单的加载模式,一运行求解,出现3个警告,确认之后程序还是直接就自动关闭退出了,泪奔
回复 不支持

使用道具 举报

发表于 2013-1-18 13:25:33 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 13:18
就算只在底面加约束,上表面加函数载荷,这种简单的加载模式,一运行求解,出现3个警告,确认之后程序还 ...

能一次把问题解释清楚吗?什么警告?什么内容?

另外,涉及到软件版本的问题,有的模型在9.0运行的话会退出,但是在11.0就没问题
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 14:04:46 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 13:25
能一次把问题解释清楚吗?什么警告?什么内容?

另外,涉及到软件版本的问题,有的模型在9.0运行的话会 ...

就是普通的警告:“A check of your model data produced 3 warnings. Should the solv command be executed.”

一般点确认运算没有什么问题,但是加载函数载荷就不行。

另外试了一下在节点组上加载固定载荷-100Pa,也出现同样问题。

我加的载荷是随着坐标变化而变化,试过直接加在面上,运算成功,但是看结果里面52上所有节点的应力怎么都一样?

我的版本是13.0

回复 不支持

使用道具 举报

发表于 2013-1-18 14:15:32 | 显示全部楼层 来自 欧洲
xiaolaou 发表于 2013-1-18 14:04
就是普通的警告:“A check of your model data produced 3 warnings. Should the solv command be execu ...

命令流文件拿来看看
回复 不支持

使用道具 举报

 楼主| 发表于 2013-1-18 22:39:40 | 显示全部楼层 来自 福建福州
njweiwei2 发表于 2013-1-18 14:15
命令流文件拿来看看

载荷函数加载面上可以,我之前球坐标转化弄错了一处,所以一致不正常,谢谢您的建议
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 08:18 , Processed in 0.045370 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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