完美匹配层:在1994年,Berenger J. P. 从求解电磁场的麦克斯韦方程组出发,提出了另一个吸收边界的策略,叫做完美匹配层(perfect matched layer, PML)。他的想法是基于有限电导率的介质中的电磁波存在的衰减行为。若在求解域边界上放置这样一层损耗层,并想办法抑制掉损耗层交界处的反射,那么就能够达到吸收掉出射波的目的。在声波和弹性波中完美也具有类似的完美匹配层的概念。关于完美匹配层的详细解释可以参考这篇引用过万的文章:Berenger, J.-P. (1994). A perfectly matched layer for the absorption of electromagnetic waves. J. Comput. Phys. 114, 185–200.
计算模型:本文模型是一个具有声平面波的管道,如下图1所示,采用声学单元FLUID30进行网格划分。两端为PML层设置。这里PML层的设置是通过FLUID30单元的KETOPT(4)进行设置的,即:et,2,30,,1,,1。相应KETOPT如图2所示。
(完整的APDL命令流在文后,读者可自行提取进行练习。)
技能掌握:
基本网格划分模型建立
PML层的设置
结果提取路径设置
声学单元使用
节点耦合
谐响应求解分析
图1:计算模型及声压提取路径
图2:FLUID30单元的KEYOPT设置详情
计算结果:若设置PML层,波在管道中传播时是没有幅度损失,我们沿着管道路径提取了相应的声压幅值,如图3,表面声压无损失,表明了PML在这种情况下的应用。
图3:沿管道路径的声压幅值提取
完成的APDL命令流:
finish
/clear
MAT_SONC = 343
MAT_DENS = 1.2
VAL_FREQ = 10000
VAL_WAVE = MAT_SONC/VAL_FREQ
DIM_RADIUS = 0.01
DIM_LENGTH = 0.05
DIM_MESH = VAL_WAVE/20
VAL_KR = 2*acos(-1)*DIM_RADIUS/VAL_WAVE
VAL_IMP = MAT_DENS*MAT_SONC
/view,1,1,1,1
/pnum,type,1
/num,1
/prep7
et,1,30,,1
! *** PML
et,2,30,,1,,1 !通过keyopt4进行PML层设置
r,1
r,2
mp,sonc,1,MAT_SONC !声速度
mp,dens,1,MAT_DENS
mpcopy,,1,2
cylind,,DIM_RADIUS,,DIM_LENGTH,,90
cylind,,DIM_RADIUS,DIM_LENGTH,DIM_LENGTH+VAL_WAVE,,90
cylind,,DIM_RADIUS,,-VAL_WAVE,,90
nummrg,kp
vsel,u,loc,z,0,DIM_LENGTH
vatt,2,2,2
vsel,all
esize,DIM_MESH
vmesh,all
! *** PML
asel,s,loc,z,-VAL_WAVE
asel,a,loc,z,DIM_LENGTH+VAL_WAVE
nsla,s,1
d,all,pres,0
asel,s,loc,z,0
nsla,s,1
cp,next,pres,all
f,ndnext(0),flow,1
finish
/solu
antype,harmic
harfrq,0,VAL_FREQ
nsubst,1
kbc,1
allsel,all
solve
finish
/post1
set,last,,,ampl
path,AXIAL,2,,100
ppath,1,,0,0,0
ppath,2,,0,0,DIM_LENGTH
pdef,PRES,pres
/yrange,0,40 !Y轴坐标范围
/title,Should be constant value
plpath,PRES