声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6317|回复: 13

[Virtual.Lab] [原创]一种将Ansys瞬态计算的时间-位移结果转化为频率-位移fr...

[复制链接]
发表于 2006-4-20 20:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 wdhd 于 2016-5-10 09:18 编辑

  /POST26

  NSOL,2,81984,U,Y,UY_2 ! 定义第二个变量为UY_2,值为10号节点Y方向的位移,节点可任选,但要保证其值非0

  XVAR,1 ! 定义时间变量为坐标横轴

  PLVAR,2

  *GET,num_var,VARI,0, NSETS ! 将变量长度值赋给变量num_var

  *DIM,SYSNOISE_TITLE,CHAR,5,4

  SYSNOISE_TITLE(1,1)='SYSNOISE '

  SYSNOISE_TITLE(1,2)=' DISPLAC '

  SYSNOISE_TITLE(1,3)='EMENTS '

  SYSNOISE_TITLE(1,4)=' FILE'

  SYSNOISE_TITLE(2,1)='Rev 5.5 '

  SYSNOISE_TITLE(2,2)=' IBM P2E '

  SYSNOISE_TITLE(2,3)='SSL 11'

  SYSNOISE_TITLE(2,4)='-AUG-02 '

  SYSNOISE_TITLE(3,1)='DISPLACE'

  SYSNOISE_TITLE(3,2)='MENT_St'

  SYSNOISE_TITLE(3,3)='ructure '

  SYSNOISE_TITLE(4,1)='11-AUG-2002 '

  SYSNOISE_TITLE(4,2)=' 10:07 '

  SYSNOISE_TITLE(4,3)=':13 '

  SYSNOISE_TITLE(5,1)='FREQUEN'

  SYSNOISE_TITLE(5,2)='CY'

  *CFOPEN,DISP,fre ! 定义数据结果文件,DISP.fre

  *VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNOISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)

  %C%C%C%C

  *get,nmax,node,,num,max, !得到节点编号的最大数

  FM=30 !频率个数

  FILLDATA,10,1,FM,1,50,50, !定义变量10为频率值,起始为50,增量50,共FM个

  k=3e-5 !瞬态计算时间步长

  *DIM,T_U,ARRAY,FM,4! 定义保存时间历程结果的矩阵T_U,有FM行,4列

  VGET,T_U(1,1,1),10 ! 矩阵的第一列保存频率变量

  *dim,num_t,,1,5 !定义一个数组

  *DIM,SYSNOISE_SUBT1,CHAR,1,4

  SYSNOISE_SUBT1(1,1)='NODAL DI'

  SYSNOISE_SUBT1(1,2)='SPLACEME '

  SYSNOISE_SUBT1(1,3)='NT VALU'

  SYSNOISE_SUBT1(1,4)='ES'

  *do,i,1,FM,1

  num_t(1,1)=T_U(i,1,1) !按次序取频率值

  *VWRITE,num_t(1,1)

  %20.8E

  *VWRITE,SYSNOISE_SUBT1(1,1) ,SYSNOISE_SUBT1(1,2) ,SYSNOISE_SUBT1(1,3) ,SYSNOISE_SUBT1(1,4)

  %C%C%C%C

  *do,j,1,nmax,1

  NSOL,3,j,U,X,UX ! 定义第3个变量为UX,值为j号节点X方向的位移

  RESP,4,10,3,1,0.02,k,,, !将时间_位移数值转化为频率_位移数据

  VGET,T_U(1,2,1),4 ! 矩阵的第2列保存第4个时间历程变量

  num_t(1,2)=T_U(i,2,1) !将与i对应的j节点的X值赋给num_t的第2列

  NSOL,5,j,U,Y,UY ! 定义第5个变量为UY,值为j号节点Y方向的位移

  RESP,6,10,5,1,0.02,k,,, !将时间_位移数值转化为频率_位移数据,0.02为阻尼比,最后为计算步长

  VGET,T_U(1,3,1),6 ! 矩阵的第3列保存第6个时间历程变量

  num_t(1,3)=T_U(i,3,1) !将与i对应的j节点的Y值赋给num_t的第3列

  NSOL,8,j,U,Z,UZ ! 定义第8个变量为UZ,值为j号节点Z方向的位移

  RESP,9,10,8,1,0.02,k,,, !将时间_位移数值转化为频率_位移数据

  VGET,T_U(1,4,1),9 ! 矩阵的第4列保存第9个时间历程变量

  num_t(1,4)=T_U(i,4,1) !将与i对应的j节点的Z值赋给num_t的第4列

  num_t(1,5)=j

  *VWRITE,num_t(1,5),num_t(1,5),num_t(1,2),0,num_t(1,3) ! 将频率_位移结果数据写到数据结果文件中,0为虚部及旋转自由度值

  %10I%10I%20.8E%20.8E%20.8E

  *VWRITE,0,num_t(1,4),0

  (20X,E20.8,E20.8,E20.8)

  *VWRITE,0,0,0

  (20X,E20.8,E20.8,E20.8)

  *VWRITE,0,0,0

  (20X,E20.8,E20.8,E20.8)

  *enddo

  *IF,i,EQ,FM,THEN

  *EXIT

  *ENDIF

  *VWRITE,SYSNOISE_TITLE(1,1) ,SYSNOISE_TITLE(1,2) ,SYSNOISE_TITLE(1,3) ,SYSNOISE_TITLE(1,4)

  %C%C%C%C

  *enddo

  *CFCLOS

  FINISH

  yiby兄:

  请问可以只将Ansys实体网格的表面节点位移值写为fre文件。然后在Sysnoise中由FEA输入进行插值计算吗?这样数据量就大大减少了!

  只是不知道Ansys实体的内部节点是否参加Sysnoise中的插值计算?

  另外能否把您扩展的Sysnoise 5.6 接口发给我?谢谢!!!

  dzy666666@sina.com
回复
分享到:

使用道具 举报

发表于 2006-4-23 16:07 | 显示全部楼层

回复:(haohaosir)[原创]一种将Ansys瞬态计算的时间...

应该只有耦合面上的位移数据参与计算
发表于 2008-3-6 16:29 | 显示全部楼层
请问如果是简谐响应结果怎么办呢?
这个能用么?
发表于 2008-3-13 16:58 | 显示全部楼层
是在,谐响应怎么办啊?求助帮忙
发表于 2008-4-26 15:25 | 显示全部楼层

回复 3楼 的帖子

将Ansys谐响应-位移结果转化为频率-位移fre文件的命令流搞定没
发表于 2008-4-26 15:25 | 显示全部楼层

回复 4楼 的帖子

将Ansys谐响应-位移结果转化为频率-位移fre文件的命令流搞定没
发表于 2008-4-26 19:30 | 显示全部楼层
其实是一样的,只是需要将指定节点的位移导出,格式可以参考pengweicai的帖子,或者自己带开一个fre文件,照猫画虎就可以了.
发表于 2009-6-7 21:10 | 显示全部楼层
本帖最后由 wdhd 于 2016-5-10 09:19 编辑
原帖由 haohaosir 于 2006-4-20 20:43 发表
/POST26
NSOL,2,81984,U,Y,UY_2   ! 定义第二个变量为UY_2,值为10号节点Y方向的位移,节点可任选,但要保证其值非0XVAR,1         ! 定义时间变量为坐标横轴PLVAR,2*GET,num_var,VARI,0, NSETS ! 将变量长度值赋给变量 ...

  楼主的代码写得很不错,值得学习!
  另外暂不论代码是否有优化的可能(不用优化也是可以执行的!),在此提几个弱弱的问题:
  1、以下四行代码:
  NSOL,2,81984,U,Y,UY_2 ! 定义第二个变量为UY_2,值为10号节点Y方向的位移,节点可任选,但要保证其值非0
  XVAR,1 ! 定义时间变量为坐标横轴
  PLVAR,2
  *GET,num_var,VARI,0, NSETS ! 将变量长度值赋给变量num_var
  看似没什么用,但是假若不事先这样执行,批处理读进去后,输出的频率都是0,而且“FILLDATA...”及“VGET”这两行无法执行,不知何故?
  2、楼主是时域转化为频域,仅输出了UX、UY及UZ,还有ROTX、ROTY及ROTZ没有输出来,不知何故?另外使用ansys的生成的谱为何没有虚部?而且楼主将UX、UY及UZ的虚部都设置为0,这又是为何?
  3、ansys进行时域分析后,按照楼主的意思,打印出来的 FREQUENCY 就是ansys时域计算的各个计算时间,这个怎么能作为频率呢?不是时域结果经过fft变换之后的到的频率值吧?
  ————————以上三点希望高手指点,谢谢!
  [ 本帖最后由 zhxunxun 于 2009-6-7 21:25 编辑 ]
回复 支持 1 反对 0

使用道具 举报

发表于 2009-7-22 16:08 | 显示全部楼层
我也有楼上的那些疑问,请问楼上的解决没有呀,请楼主也帮忙解释一下
发表于 2009-7-23 18:00 | 显示全部楼层
还没有试过楼主的代码,但是先顶一个

愿意分享的就是好贴!!
发表于 2010-9-5 11:18 | 显示全部楼层
mark之 谢谢lz
发表于 2011-7-7 18:40 | 显示全部楼层
等下试试
发表于 2012-9-1 21:37 | 显示全部楼层
我在看这些代码时也有这样的疑问,求解答
发表于 2012-12-10 14:28 | 显示全部楼层
好犀利,先顶一个
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 13:05 , Processed in 0.061413 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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