younger08 发表于 2008-6-19 21:08

ansys 中算好的位移响应结果如何导入sysnoise

好多同志们都比较关心怎么将ansys 中算好的位移响应结果如何导入sysnoise,我在此将我制作成功的整个过程给大家讲讲,希望对大家有帮助。
(望此帖多多传递,为大家学习工作带来帮助!)
具体方法见附件。在此只引个开头:
Ansys中计算的响应位移结构导入sysnoise
(例子中用到的ansys为9.0版;sysnoise为5.5版)1、 网格模型的导出
将ANSYS中划好的网格模型,用cdwrite命令(命令格式如下)进行导出。
cdwrite,all,file-name,cbd
如图4-1-4所示:

图4-1-1 其中:file-name为输出文件的文件名;cbd为输出的文件格式,无须改动。
运行命令后,ANSYS会在C:\Documents and Settings\用户名下生成两个如上文件名的文件,分别为cbd格式和iges格式,在此要用到的是cbd格式的文件。
2、 响应结果的导出
在对板件进行完谐响应分析后,将网格模型每个节点的响应结果输出,同样是在ANSYS软件界面上方Ansys Commond Prompt命令栏中输入如下命令流:
/post1
nfreq=(freqe-freqb)/df+1

*get,nnod,node,,count

*dim,r,array,nnod,7,nfreq
*do,i,1,nfreq,1


set,,i



*get,nd,node,,num,min


*do,j,1,nnod,1
r(j,1,i)=nd
r(j,2,i)=ux(nd)
r(j,4,i)=uy(nd)
r(j,6,i)=uz(nd)
nd=ndnext(nd)
*enddo
set,,i,,1


*get,nd,node,,num,min


*do,j,1,nnod,1

r(j,3,i)=ux(nd)

r(j,5,i)=uy(nd)

r(j,7,i)=uz(nd)

nd=ndnext(nd)
*enddo
*enddo
*cfopen,result,fre
*do,i,1,nfreq,1

*vwrite,'SYSNOISE',' DISPLAC','EMENTS','FILE'
(a,a,a7,a4)
*vwrite,'Rev 5.5 ','IBM P2ES','SL 20-AP','R-04'
(a,a,a,a4)
*vwrite,'Displace','_Structu','re'
(a,a,a2)
*vwrite,' 20-APR-','2004 10:','07:13'

(a,a,a5)

*vwrite,'FREQUENC','Y'

(a,a1)

freq=freqb+(i-1)*df

*vwrite,freq
(e20.8)
*vwrite,'NODAL DI','SPLACEME','NT VALUE','S'
(a,a,a,a1)
*do,j,1,nnod,1
nseq=chrval(j)

a=r(j,1,i)

nd=chrval(a)


uxr=r(j,2,i)

uxi=r(j,3,i)

uyr=r(j,4,i)

uyi=r(j,5,i)

uzr=r(j,6,i)

uzi=r(j,7,i)

*vwrite,'
',nseq,'
',nd,uxr,uxi,uyr
(a2,a8,a2,a8,e20.8,e20.8,e20.8)
*vwrite,'','','',uyi,uzr,uzi
(a8,a8,a4,e20.8,e20.8,e20.8)
*vwrite,'','','',0,0,0
(a8,a8,a4,e20.8,e20.8,e20.8)
*vwrite,'','','',0,0,0
(a8,a8,a4,e20.8,e20.8,e20.8)

*enddo
*enddo

*cfclos

需要注意的是:nfreq=(freqe-freqb)/df+1一句中,freqe为要提取的截止频率,freqb为起始频率,两频率都不能超出之前在ansys中分析的频率。在输入命令之前,还要对freqe和freqb赋值。如:
/post1
freqe=500
freqb=0
df=5
nfreq=(freqe-freqb)/df+1

*get,nnod,node,,count

表示提取的频率为0~500Hz,步长为5Hz。
如此之后,就可以在C:\Documents and Settings\用户名目录下得到一名为result.fre的文件,即为响应结果文件,其fre格式为SYSNOISE所支持的格式。
3 、导出文件的整理
以上导出的文件还需要进行整理才能顺利导入SYSNOISE文件。
对于导出的网格模型文件,先将他用记事本打开,其第一行为:

/COM,ANSYS RELEASE
9.0
UP20041104
14:22:49
05/29/2008

其中9.0为ANSYS的版本号,只需将其版本号改为5.7即可,其他不用改动,然后保存关闭。
对于导出的响应文件,同样用记事本打开,可以看到开头为:

2
2
0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00

0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

其中2
2为节点信息,后面的数值为对应节点的位移信息。
此开头是不完整的,可以在之后的频率看到如下文字:

SYSNOISE DISPLACEMENTS FILE
Rev 5.5 Windows NT 30NOV2000
Displace_Structure

30-NOV-2000 10:07:13
FREQUENCY

0.65000000E+02
NODAL DISPLACEMENT VALUES

1
1
0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

2

2
0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

0.00000000E+00
0.00000000E+00
0.00000000E+00

将其开头复制到文件最开始处,修改其频率为起始频率就可以了。在此需要说明的是,由于输出响应信息不够完整,其起始频率和终止频率出的节点位移信息是错误的,我们在后面SYSNOISE提取信息时,应避免这两个频率的信息。

4、 导入SYSNOISE
打开SYSNOISE软件后,新建文件,然后选择model-option,选择BEM间接非耦合环境。如图4-4-2。
图4-1-2然后再到Tools-environment Var.中,选择ansysrevivion,将其值修改为5.7,如图4-4-3所示。
图4-1-3
以上步鄹后,网格模型和响应文件就可顺利导入sysnoise了。
先进入File-import,选择data-type为mesh,format为ansys,指定文件为刚才修改好的网格文件(.cbd),单击ok,模型导入成功(如图4-1-4)。
         图4-1-4
图4-1-5然后还要检查网格,进入gometry-check mesh,按自己要求选择然后ok。
对于有筋模型,我们还要进行gometry-coarsen mesh,其中有find rib项,选择后软件会自动将筋结构找出。由于sysnoise计算声辐射是不会考虑筋结构的影响,故此出我们要将筋删除掉,如图4-1-5所示。
修改好网格模型后,然后就导入响应文件。进入Model-Vibrating Panels-FEA,选择所有单元(图4-1-6),单击next后进入下一界面,倒入内容为displacement,然后指定提取频率(要注意避免起始和中止频率),指定文件为修改好的result.fre文件,格式为free(图4-1-7)。单击next后,进入指定网格界面,选择use other file,指定文件为模型网格文件(.cbd),格式为ansys(图4-1-8)。然后单击next,以后都用系统默认值,直到finish。
图4-1-6
图4-1-7
图4-1-8
响应文件在导入SYSNOISE中时,位移会自动被转换成节点速度。当导入完成后,我们可以在Postprocess-Deformation中,选择模型网格的velocity B.C.进行观察,看是否有错误。
至此导入过程完成,下面进行分析求解。
5、 求解
求解过程在此就不多说了,要注意的是有些模型边缘要定义成free edge形式。

younger08 发表于 2008-6-19 21:16

方法中用到的好多东西都是论坛上大哥们拿出来分享的,在此感谢他们!:@D

pengweicai 发表于 2008-6-20 09:28

确实不错! 本人最近集中精力做别的事情了,这块也关注的少。 希望版内的大家多活跃的。

gweice 发表于 2008-8-9 12:25

这个帖子是在太好了,楼主犹如我的救命恩人!!!
拜谢!!!

gweice 发表于 2008-8-9 19:17

我用FULL方法求得的谐响应结果有900多M,然后用楼主的命令流转成FRE格式,当我进行到/post1
nfreq=(freqe-freqb)/df+1

*get,nnod,node,,count

*dim,r,array,nnod,7,nfreq
*do,i,1,nfreq,1


set,,i



*get,nd,node,,num,min


*do,j,1,nnod,1
r(j,1,i)=nd
r(j,2,i)=ux(nd)
r(j,4,i)=uy(nd)
r(j,6,i)=uz(nd)
nd=ndnext(nd)
*enddo
set,,i,,1


*get,nd,node,,num,min


*do,j,1,nnod,1

r(j,3,i)=ux(nd)

r(j,5,i)=uy(nd)

r(j,7,i)=uz(nd)

nd=ndnext(nd)
*enddo
*enddo
之后,就开始报错,说不能FOUND ON THE RESTLT FILE FILE.RST

gweice 发表于 2008-8-9 19:17

哪位高人能够指点一下,万分感谢

w89986581 发表于 2008-8-11 09:17

呵呵,根据提示的错误去找一下是否有频率或者节点是不是超出设定范围了?

oyzy83scut 发表于 2008-8-15 19:34

ths
谢谢搂主

lordtomorrow 发表于 2008-12-15 10:09

楼主辛苦了,谢谢,尝试一下

hhhjjjhwc 发表于 2009-2-10 11:14

谢谢一堆。。。。。。。。

楼主辛苦了,好人

海量汪涵 发表于 2009-2-16 19:39

:handshake 太感谢了,正好要用这方面的东西

zgqhitwelding 发表于 2009-3-11 09:08

谐响应分析问题

请教各位大侠,我谐响应分析时只加位移约束行不行》?为什么我的幅频曲线都是零啊,在xyz方向都是……:'(

zgqhitwelding 发表于 2009-3-12 08:53

怎么没人……?

qyu0635 发表于 2009-3-26 16:20

.
nfreq=(freqe-freqb)/df+1中的freqb是否应该比ANSYS中的高一次啊?
不然导出的结果不对应吧?

flyiing 发表于 2009-3-29 18:01

谢谢!这个方法解决了困惑我已久的问题,真是好帖子。建议用这个方法的各位,使用批处理,即用/batch,计算起来效率更高。
页: [1] 2 3
查看完整版本: ansys 中算好的位移响应结果如何导入sysnoise