彈性波仿真分離縱、橫波的方法
瀏覽:129323
固體中的彈性波含有縱波、橫波,也有稱為膨脹波、剪切波等等,不同領域叫法不同。
特別是彈性波遇到裂縫、空洞、界面發生散射時,縱波和橫波往往會同時產生,如果單單從位移場或應力場是無法區分的
根據彈性波理論,
位移場的散度 就是膨脹波
位移場的旋度就是剪切波
所以對位移場計算一下散度和旋度就可以分別獲得膨脹波和剪切波
我只算2D的情況,這里給一個例子(matlab)
dx=0.1e-3;
dy=0.1e-3;
[x,y]=meshgrid(0:x:1e-1,-16e-3:y:-6e-3);
%時間' L3 u; H: u* J$ |: K
t=24e-6;3 A2 m8 M( u+ w% |/ o
%總位移6 {/ q( f9 v& f J+ U5 ]! U
vv=postinterp(fem,'disp_acpn',[x(:';y(:'],'T',t);
vv=reshape(vv,size(x));
subplot(3,1,1);surf(x,y,vv);axis normal;shading interp;view(0,90);title('所有波')
% return;, T( B/ l9 F: m
%縱波--膨脹波only
ux=postinterp(fem,'ux',[x(:';y(:'],'T',t);
vy=postinterp(fem,'vy',[x(:';y(:'],'T',t);
ux=reshape(ux,size(x));
vy=reshape(vy,size(x));
subplot(3,1,2);surf(x,y,ux+vy);shading interp;view(0,90);title('膨脹波')
%橫波--旋變only
uy=postinterp(fem,'uy',[x(:';y(:'],'T',t);
vx=postinterp(fem,'vx',[x(:';y(:'],'T',t);
uy=reshape(uy,size(x));
vx=reshape(vx,size(x));
subplot(3,1,3);surf(x,y,uy-vx);shading interp;view(0,90);title('切變波')
附件中容易看到散射波是剪切波(橫波)
特別是彈性波遇到裂縫、空洞、界面發生散射時,縱波和橫波往往會同時產生,如果單單從位移場或應力場是無法區分的
根據彈性波理論,
位移場的散度 就是膨脹波
位移場的旋度就是剪切波
所以對位移場計算一下散度和旋度就可以分別獲得膨脹波和剪切波
我只算2D的情況,這里給一個例子(matlab)
dx=0.1e-3;
dy=0.1e-3;
[x,y]=meshgrid(0:x:1e-1,-16e-3:y:-6e-3);
%時間' L3 u; H: u* J$ |: K
t=24e-6;3 A2 m8 M( u+ w% |/ o
%總位移6 {/ q( f9 v& f J+ U5 ]! U
vv=postinterp(fem,'disp_acpn',[x(:';y(:'],'T',t);
vv=reshape(vv,size(x));
subplot(3,1,1);surf(x,y,vv);axis normal;shading interp;view(0,90);title('所有波')
% return;, T( B/ l9 F: m
%縱波--膨脹波only
ux=postinterp(fem,'ux',[x(:';y(:'],'T',t);
vy=postinterp(fem,'vy',[x(:';y(:'],'T',t);
ux=reshape(ux,size(x));
vy=reshape(vy,size(x));
subplot(3,1,2);surf(x,y,ux+vy);shading interp;view(0,90);title('膨脹波')
%橫波--旋變only
uy=postinterp(fem,'uy',[x(:';y(:'],'T',t);
vx=postinterp(fem,'vx',[x(:';y(:'],'T',t);
uy=reshape(uy,size(x));
vx=reshape(vx,size(x));
subplot(3,1,3);surf(x,y,uy-vx);shading interp;view(0,90);title('切變波')
附件中容易看到散射波是剪切波(橫波)
縱橫波分解2.jpg
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP
1




















