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

[声学] 【分享】声学分析的例子

[复制链接]
gb7258 该用户已被删除
发表于 2003-1-17 14:12:45 | 显示全部楼层 |阅读模式 来自 重庆南岸区
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2003-1-17 16:08:26 | 显示全部楼层 来自 河南郑州

回复: 【求助】声学分析的例子

Simdroid开发平台
(Example of acoustic radiating sphere. Comparison w/ hand calculations. )
  
/com, Sample input file for acoustics
/com, Radiating sphere problem (simple case), compare w/ theory
/com,
  
!------------------------------------------------------------
! Check if running file in batch or interactive mode
! If batch mode, redirect plots to GRPH file
!------------------------------------------------------------
*get,STATGUI,active,,int
*if,STATGUI,eq,0,then
/show,file
*endif
!------------------------------------------------------------
! Define variables for problem:
! Radiating Sphere of Radius SPHRRADS with uniform surface
! velocity of VELOCITY oscillating at FREQUENC
!------------------------------------------------------------
*set,FREQUENC,3000
*set,VELOCITY,0.005
*set,PI ,acos(-1)
*set,SPHRRADS,0.1
!------------------------------------------------------------
! Fluid properties:
! Density, Speed of sound in water, Reference pressure
!------------------------------------------------------------
*set,WATRDENS,1000
*set,WATRSONC,1500
*set,REFEPRES,1e-6
!------------------------------------------------------------
! Geometry info
! Infinite radius at INFIRADS meters
! INFIXOFF, INFIYOFF not used right now...
!------------------------------------------------------------
*set,INFIRADS,5
*set,INFIXOFF,0.0
*set,INFIYOFF,0.0
!------------------------------------------------------------
! Mesh info
! Use mapped mesh? YES=1 NO=0 (use NO for now)
! Elements per wavelength (EPW)
!------------------------------------------------------------
*set,MAPDMESH,0
*set,TRIMESH ,1
*set,EPW ,15
!------------------------------------------------------------
! Graphics settings
! Set title and subtitles
! Make sure the legend is always on (/plopt,info,on)
! Put global triad at right top corner (/triad,rtop)
! Turn on Full Graphics because of DDTSREP#16215
!------------------------------------------------------------
/title,Uniformly Radiating Sphere, EPW=%EPW%
/stitle,1,Sphere radius of %SPHRRADS%m
/stitle,2,Frequency at %FREQUENC%Hz
/stitle,3,Uniform velocity of %VELOCITY%m/s
/stitle,4,Infinite Boundary of %INFIRADS%m at (%INFIXOFF%,%INFIYOFF%)
/plopt,info,on
/triad,rtop  
/graphics,full
!------------------------------------------------------------
! Enter Preprocessor
!------------------------------------------------------------
/prep7  
!------------------------------------------------------------
! Define elements
! 1 = fluid w/ structure
! 2 = fluid no structure
! 3 = infinite fluid
! Define elements and keyopts (et) (keyopt)
! Define real constants (r)
! Define material properties (mp)
!------------------------------------------------------------
et,1,fluid29
keyopt,1,2,0
keyopt,1,3,1
et,2,fluid29
keyopt,2,2,1
keyopt,2,3,1
et,3,fluid129
keyopt,3,3,1
r,1,REFEPRES
r,2,REFEPRES
r,3,INFIRADS,0,0,  
mp,dens,1,WATRDENS
mp,sonc,1,WATRSONC
mp,dens,2,WATRDENS
mp,sonc,2,WATRSONC
mp,sonc,3,WATRSONC
!------------------------------------------------------------
! Create geometry
! Create five 90 degree quarter circles (pcirc)
! Merge keypoints (nummrg,kp)
!------------------------------------------------------------
pcirc,1,SPHRRADS,0,90,
pcirc,2,1,0,90,  
pcirc,3,2,0,90,  
pcirc,4,3,0,90,  
pcirc,5,4,0,90,  
nummrg,kp  
!------------------------------------------------------------
! Mesh
! Set global element size based on EPW above
! Map with quads, quad-dominant for free mesh (mshape,0)
! Mesh mapped or free (mshkey)
! Set area attributes (aatt)
! Mesh all areas (amesh)
! Set plot controls based on element type number
!------------------------------------------------------------
esize,(WATRSONC/FREQUENC)/EPW
mshape,TRIMESH
mshkey,MAPDMESH
aatt,2,2,2  
amesh,all
/pnum,type,1
/num,1
/auto
eplot
!------------------------------------------------------------
! Rotate all nodes in cylindrical CS
!------------------------------------------------------------
csys,1  
nrotate,all  
!------------------------------------------------------------
! Change elements near center to fluid with struct present
!------------------------------------------------------------
type,1
real,1
mat,1
nsel,s,loc,x,SPHRRADS
esln
nsle
emodif,all
!------------------------------------------------------------
! Apply struct boundary conditions on element type 1
! Constrain all translation DOF (the "free" DOF)
! Reapply velocity as displacement on inner nodes in radial dir. (ux)
! Apply FSI (fluid-struct interface) flag to active
!------------------------------------------------------------
d,all,uy
d,all,ux
nsel,s,loc,x,SPHRRADS
d,all,ux,0,-VELOCITY/(2*PI*FREQUENC)
sf,all,fsi
!------------------------------------------------------------
! Mesh Infinite fluid domain
! Instead of meshing, use ESURF to generate elements on existing mesh
!------------------------------------------------------------
type,3
real,3
mat,3
esel,all
nsel,s,loc,x,INFIRADS,INFIRADS+0.0001
esurf,all  
allsel,all
finish  
!------------------------------------------------------------
! solution options
! Full harmonic analysis
! frequency at FREQUENC
! select everything & solve
!------------------------------------------------------------
/solu  
antype,harm  
hropt,full  
hrout,on
lumpm,0  
!eqslv,front
eqslv,sparse
harfrq,FREQUENC
nsubst,
kbc,0  
allsel,all
solve  
finish  
!------------------------------------------------------------
! postprocessing w/ annotations
! Load real (set,1,1,1,0) and plot pressure
! Load imag (set,1,1,1,1) and plot pressure
! do a load case comb. to SRSS for pressure magnitude
!------------------------------------------------------------
/post1
/tsp,,0.75
/ann,dele
/tla,-.90,.90,Plot of real part of pressure
/dscale,1,off  
set,1,1,1,0
plnsol,pres  
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
  
/tsp,,0.75
/ann,dele
/tla,-.90,.90,Plot of imag part of pressure
set,1,1,1,1
/replot
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
  
/tsp,,0.75
/ann,dele
/tla,-.90,.90,Plot of magnitude of pressure
lcdef,1,1,1,0
lcoper,srss,1
/replot
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
/ann,dele
!------------------------------------------------------------
! path operations
! this part gets ugly...
!------------------------------------------------------------
csys,0
lsel,s,loc,x,0
nsll,s,1
*get,NCOUNT,node,,count
csys,1
nsel,s,loc,x,SPHRRADS
nsel,r,loc,y,90,90.0001
STRTNODE=ndnext(0)
nsel,s,loc,x,INFIRADS,INFIRADS+0.0001
nsel,r,loc,y,90,90.0001
FININODE=ndnext(0)
allsel,all
path,RADIAL,2,30,(NCOUNT-1)
ppath,1,STRTNODE
ppath,2,FININODE
avprin,0,0,  
set,1,1,1,0
pdef,REALPRES,pres,,noavg  
set,1,1,1,1
pdef,IMAGPRES,pres,,noavg
!plpath,REALPRES,IMAGPRES
paget,tracpoin,poin  
paget,tracdata,tabl  
paget,traclabl,labe  
*dim,RADSPATH,table,NCOUNT,7
*do,ICOUNT,1,NCOUNT
WAVENUMB=2*PI*FREQUENC/WATRSONC
CURRRADS=TRACDATA(ICOUNT,2,1)
TEMPAMPL=WATRDENS*WATRSONC*VELOCITY*WAVENUMB*(SPHRRADS**2)/CURRRADS
TEMPAMPL=TEMPAMPL/(1+(WAVENUMB*SPHRRADS)**2)
TEMPAMRC=WAVENUMB*SPHRRADS*cos(WAVENUMB*(CURRRADS-SPHRRADS))
TEMPAMRS=sin(WAVENUMB*(CURRRADS-SPHRRADS))
TEMPAMIC=cos(WAVENUMB*(CURRRADS-SPHRRADS))
TEMPAMIS=-WAVENUMB*SPHRRADS*sin(WAVENUMB*(CURRRADS-SPHRRADS))
RADSPATH(ICOUNT,1)=TRACDATA(ICOUNT,2,1)
RADSPATH(ICOUNT,2)=TRACDATA(ICOUNT,5,1)
RADSPATH(ICOUNT,3)=TEMPAMPL*(TEMPAMRC+TEMPAMRS)
RADSPATH(ICOUNT,4)=TRACDATA(ICOUNT,6,1)
RADSPATH(ICOUNT,5)=TEMPAMPL*(TEMPAMIC+TEMPAMIS)
RADSPATH(ICOUNT,6)=sqrt(TRACDATA(ICOUNT,5,1)**2+TRACDATA(ICOUNT,6,1)**2)
TEMP1 =TEMPAMPL*(TEMPAMRC+TEMPAMRS)
TEMP2 =TEMPAMPL*(TEMPAMIC+TEMPAMIS)
RADSPATH(ICOUNT,7)=sqrt(TEMP1**2+TEMP2**2)
*enddo
  
/gcolumn,1,ANSYS
/gcolumn,2,Theory
/axlab,x,Radial Distance  
/axlab,y,Real Pressure (Pa)
*vplot,RADSPATH(1,1),RADSPATH(1,2),3
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
  
/axlab,y,Imaginary Pressure (Pa)
*vplot,RADSPATH(1,1),RADSPATH(1,4),5
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
  
/axlab,y,Magnitude of Pressure (Pa)
*vplot,RADSPATH(1,1),RADSPATH(1,6),7
*if,STATGUI,eq,2,then
*ask,Paused,Press Enter to Continue,'pause'
*endif
  
!parsav,all
finish
*del,TEMPAMPL
*del,TEMPAMRC
*del,TEMPAMRS
*del,TEMPAMIC
*del,TEMPAMIS
*del,TEMP1
*del,TEMP2
*del,CURRRADS
*del,WAVENUMB
  
!=(DENSITY*SPEED_OF_SOUND*VELOCITY*WAVE_NUMBER*RADIUS*(RADIUS/C2)/(1+(WAVE_NUMBER*RADIUS)^2))*(WAVE_NUMBER*RADIUS*COS(WAVE_NUMBER*(C2-RADIUS))+SIN(WAVE_NUMBER*(C2-RADIUS)))
!=(DENSITY*SPEED_OF_SOUND*VELOCITY*WAVE_NUMBER*RADIUS*(RADIUS/C2)/(1+(WAVE_NUMBER*RADIUS)^2))*(COS(WAVE_NUMBER*(C2-RADIUS))-WAVE_NUMBER*RADIUS*SIN(WAVE_NUMBER*(C2-RADIUS)))
*if,STATGUI,eq,0,then
/exit
*endif
  
Acoustic Superelements  
Q: Has anybody got superelements to work with fluid 29/30 (acoustic, pressure DOF) elements?
  
A: Yes, superelements work fine w/ acoustic elements, too. Useful for those nasty 3D models -- even w/ 2D radiation problems, it works fine and is helpful.
  
There are many "gotchas" when doing this, so be careful and start off with a simple model. For example, in the GEN pass, you shouldn't define any fluid29 w/ structure present (i.e., if you use top-down substructuring, null FLUID29 w/ structure present). Any model in the GEN pass containing unsymm elements uses that for the SE which means that only stiffness is stored, not mass. In other words:
  
You can have mass & stiffness (& damping) for symm matrices for SE or  
You can have stiffness only for unsym matrices for SE part -- basically, trying to substructure FSI part is unusable for modal or harmonic.  
However, in the USE pass, you can use unsymm matrices for non-SE portions (i.e., in the USE pass, define your FLUID29 with FSI). A simple modal analysis input file (acoustic_se.inp) is attached. I didn't spend much time on it, so it's not fancy, but I hope you get the idea.
  
Another one for those doing piezo is that VOLT and UX/UY/UZ can't be MDOF together, mainly because VOLT has no mass or damping equivalent. Instead of applying voltage as a load vector after the GEN pass, I usually do this as a non-SE element in the USE pass.
  
I've use a combination of superelements and non-superelements with pretty good success in modal and harmonic acoustic analyses. Like I mentioned above, there are some things which may not be intuitive, so try simple models first. Chop up your fluid domain into repeatable sections except for infinite boundary or FSI areas. Then, you can use SE in those areas (SETRAN, etc.). Make sure you have M not only at boundaries of SE but inside, too, since you need proper mass characterization (mass and damping are reduced via Guyan reduction which is approximate, instead of being exact like the stiffness matrix because stiffness can be directly condensed to a reduced matrix w/o problems -- damping and mass have time derivatives of DOF which make this very ugly, hence Guyan reduction is used instead for those terms).
  
Anyways, that's my two cents on the above. Like I mentioned above, it can be done, but be careful of  the procedure and  selecting MDOF.

评分

1

查看全部评分

风逝 该用户已被删除
发表于 2003-12-7 10:31:03 | 显示全部楼层 来自 同济大学
提示: 作者被禁止或删除 内容自动屏蔽
天涯孤星 该用户已被删除
发表于 2005-3-24 20:59:07 | 显示全部楼层 来自 山东潍坊
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-5-30 14:43:35 | 显示全部楼层 来自 上海交通大学

Re:【分享】声学分析的例子

thanks
发表于 2005-6-1 16:56:19 | 显示全部楼层 来自 陕西西安

请教孙老师问题:Re:【分享】声学分析的例子并请教一个问题。

在声学分析中,我想问一下孙老师,如果我在流固耦合界面施加一个平面声波,声波垂直做用在耦合交界面处,请问该声波如何施加。声波是随频率变化的。谢谢!
发表于 2006-3-22 16:41:14 | 显示全部楼层 来自 山东东营

Re:【分享】声学分析的例子

Thank you very much!
GavinLee 该用户已被删除
发表于 2006-5-18 16:37:53 | 显示全部楼层 来自 江苏南京
提示: 作者被禁止或删除 内容自动屏蔽
GavinLee 该用户已被删除
发表于 2006-5-18 16:40:54 | 显示全部楼层 来自 江苏南京
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-8-22 10:51:44 | 显示全部楼层 来自 重庆
请问孙老师,有关微型客车车内噪声方面的分析例子!
发表于 2007-7-18 04:21:20 | 显示全部楼层 来自 北京

回复 #3 的帖子

w/ hand
w/ theory
是什么意思啊,请高手指点
回复 不支持

使用道具 举报

发表于 2007-9-23 17:08:40 | 显示全部楼层 来自 北京
学习学习
回复 不支持

使用道具 举报

发表于 2007-9-27 20:57:08 | 显示全部楼层 来自 山东济南
声学的例子的确不好找,谢谢
回复 不支持

使用道具 举报

发表于 2007-10-15 16:11:25 | 显示全部楼层 来自 重庆沙坪坝区
学习
回复 不支持

使用道具 举报

发表于 2007-10-18 19:53:12 | 显示全部楼层 来自 北京

不知道那里有ANSYS的声学专著

不知道那里有ANSYS的声学专著
回复 不支持

使用道具 举报

发表于 2012-2-5 10:18:21 | 显示全部楼层 来自 浙江宁波
经典,可惜我看不懂啊!
回复 不支持

使用道具 举报

发表于 2012-3-20 10:18:51 | 显示全部楼层 来自 上海松江区
多谢分享,研究中。。。。
回复 不支持

使用道具 举报

发表于 2013-3-19 08:39:46 | 显示全部楼层 来自 北京
好好学习,天天向上!
回复 不支持

使用道具 举报

发表于 2013-3-19 08:58:07 | 显示全部楼层 来自 黑龙江哈尔滨
16楼,亮了,晃瞎了我的狗眼……
回复 不支持

使用道具 举报

发表于 2013-3-30 14:20:15 | 显示全部楼层 来自 浙江杭州
这个例子我分析过,确实不错。要是加上声辐射的后处理,就更加完美了
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 02:13 , Processed in 0.078970 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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