24小时热门版块排行榜    

查看: 1706  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Ego悄吟

新虫 (初入文坛)

[求助] 基于有限差分的波场模拟,pml边界,震源为单力源已有2人参与

本人最近在做波场模拟的程序设计,在波场分离的时候遇到下图问题,震源附近发生突变,有没有大佬能够指出问题所在?
模型大小500x500x500,vp为3200km/s,vs为vp/1.732,密度为2250kg/m^3,震源位于中心,采用雷克子波,中心频率为50hz。

基于有限差分的波场模拟,pml边界,震源为单力源
水平.jpg


基于有限差分的波场模拟,pml边界,震源为单力源-1
3D.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

明显是正演的递推过程没写对。。
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
6楼2019-04-19 19:21:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
Ego悄吟: 金币+5, ★★★★★最佳答案 2019-04-21 09:30:08
送你段例子代码吧,直接运行即可


% Finite-differences in time domain(FDTD) acoustic wave propagation in 2D
% medium

close all;
% Output every ... time steps
IT_DISPLAY = 10;

%% MODEL
% Model dimensions
nx = 401;
nz = 401;
dx = 10;    % [m]
dz = 10;    % [m]

% Elastic parameters
vp = 3300.0 * ones(nz, nx);         % velocity of compressional waves, [m/s]

%% TIME STEPPING
t_total = .55;                      % [sec] recording duration
dt = 0.7 * min(dx,dz)/max(vp();   % min grid space / max velocity
nt = round(t_total/dt);             % number of time steps
t = [0:nt]*dt;

CFL = max(vp() * dt / min(dx,dz);
%% SOURCE
f0 = 10.0;                          % dominant frequency of the wavelet
t0 = 1.20 / f0;                     % half Ricker wavelet excitation time
factor = 1e10;                      % amplitude coefficient
angle_force = 90.0;                 % spatial orientation of source
                                    % (not relevant for acoustic case)
jsrc = round(nz/2);                 % source location along OZ
isrc = round(nx/2);                 % source location along OX

a = pi*pi*f0*f0;
dt2 = dt^2;
source_term = factor * exp(-a*(t-t0).^2);                            % Gaussian

force_x = sin(angle_force * pi / 180) * source_term * dt2 / (dx * dz);

min_wavelengh = 0.5*min(vp(vp>330))/f0;     % shortest wavelength bounded by velocity in the air


%% SUMMARY
fprintf('#################################################\n');
fprintf('2D acoustic FDTD wave propagation in isotripic \nmedium in displacement formulation\n');
fprintf('#################################################\n');
fprintf('Model:\n\t%d x %d\tgrid nz x nx\n\t%.1e x %.1e\t[m] dz x dx\n',nz, nx, dz,dx);
fprintf('\t%.1e x %.1e\t[m] model size\n',nx*dx, nz*dz);
fprintf('\t%.1e...%.1e\t[m/s] vp\n', min(vp(), max(vp());
fprintf('Time:\n\t%.1e\t[sec] total\n\t%.1e\tdt\n\t%d\ttime steps\n',t_total,dt,nt);
fprintf('Source:\n\t%.1e\t[Hz] dominant frequency\n\t%.1f\t[sec] index time\n',f0,t0);
fprintf('Other:\n\t%.1f\tCFL number\n', CFL);
fprintf('\t%.2f\t[m] shortest wavelength\n\t%d, %d\t points-per-wavelength OX, OZ\n', min_wavelengh, floor(min_wavelengh/dx), floor(min_wavelengh/dz));
fprintf('#################################################\n');

%% ALLOCATE MEMORY FOR WAVEFIELD
p3 = zeros(nz+2,nx+2);            % Wavefields at t
p2 = zeros(nz+2,nx+2);            % Wavefields at t-1
p1 = zeros(nz+2,nx+2);            % Wavefields at t-2
% Coefficients for derivatives
co_dxx = 1/dx^2;
co_dzz = 1/dz^2;

%% Loop over TIME
tic;
for it = 1:nt
    p3 = zeros(size(p2));
    % Second-order derivatives
    dp_dxx = co_dxx * (p2(2:end-1,1:end-2) - 2*p2(2:end-1,2:end-1) + p2(2:end-1,3:end));
    dp_dzz = co_dzz * (p2(1:end-2,2:end-1) - 2*p2(2:end-1,2:end-1) + p2(3:end,2:end-1));
    % U(t) = 2*U(t-1) - U(t-2) + G dt2/rho;
    p3(2:end-1,2:end-1) = 2.0*p2(2:end-1,2:end-1) - p1(2:end-1,2:end-1) + (vp.^2).*(dp_dxx + dp_dzz).*dt2;
    % Add source term
    p3(jsrc, isrc) = p3(jsrc, isrc) + force_x(it);
    % Exchange data between t-2 (1), t-1 (2) and t (3) and apply ABS
    p1 = p2 .* weights;
    p2 = p3 .* weights;
    % Output
    if mod(it,IT_DISPLAY) == 0
        fprintf('Time step: %d \t %.4f s\n',it, single(t(it)));
        imagesc(p3); colorbar;
        axis equal tight; colormap jet;
        title(['Step = ',num2str(it),'/',num2str(nt),', Time: ',sprintf('%.4f',t(it)),' sec']);
        drawnow;
    end
end
toc; disp('End');
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
8楼2019-04-20 10:36:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

表情的地方  是冒号 :
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
9楼2019-04-20 10:38:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Ego悄吟 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 寻找高分子领域博导 +8 小政雅图 2024-05-14 8/400 2024-05-15 23:29 by xu48
[基金申请] 连续3年国社科青年本子都没中,今年最后一次青年了,写本子完全浪费时间 +9 ddkk3000 2024-05-15 12/600 2024-05-15 23:23 by 老虎当猫养
[硕博家园] 北京航空航天大学计算机学院罗洪斌课题组招收2024年学术型博士研究生 +3 yanfeienter 2024-05-12 7/350 2024-05-15 22:52 by yanfeienter
[基金申请] 国自然青基把共同第一作者标成了唯一第一作者 +23 1137025804 2024-05-15 25/1250 2024-05-15 22:35 by zyugiec
[基金申请] 面上项目代表作必须有通讯作者文章吗? +27 zlxnnx111 2024-05-09 46/2300 2024-05-15 22:33 by 星火12
[教师之家] 谁要做个人网站,可以交流啊! +10 hjc404 2024-05-14 26/1300 2024-05-15 21:50 by hjc404
[考博] 深度学习申博 +3 酸菜鱼. 2024-05-15 3/150 2024-05-15 21:29 by Youjun02
[教师之家] 宋凯 +9 yexuqing 2024-05-14 9/450 2024-05-15 19:22 by otani
[基金申请] 祈福第三次青基 +17 lylylyheart 2024-05-09 27/1350 2024-05-15 15:30 by lylylyheart
[考研] 求考研导师(24年底我才考,材料类,提前联系) +5 笑笑宝公主 2024-05-12 6/300 2024-05-15 10:53 by 13096145
[基金申请] F06送审了吗? +5 昂首走 2024-05-11 9/450 2024-05-15 06:53 by yp_nupt
[论文投稿] 七个月了,还在selecting for review +3 g9522 2024-05-14 6/300 2024-05-14 19:00 by lizhengke06
[有机交流] 无水硫酸钠除水 80+3 桃桃PXS 2024-05-13 4/200 2024-05-14 16:49 by binzy
[电化学] 水系电池正极制作 +7 shangfujun 2024-05-09 7/350 2024-05-14 14:05 by 研选仪器耗材Lin
[硕博家园] 哈工大硕博招生! +4 nailooo 2024-05-12 5/250 2024-05-13 22:04 by yuanjijoy
[基金申请] 再谈一作和二作 +19 jklily 2024-05-10 33/1650 2024-05-13 17:12 by mierbushiwo
[基金申请] NSFC函评几月几日截止提交评审意见? +9 瞬息宇宙 2024-05-11 9/450 2024-05-12 19:53 by 20081002
[基金申请] 科研之友老是给我发消息 +6 问君611 2024-05-11 8/400 2024-05-12 17:24 by 淀粉搬运工
[基金申请] 基金函评会不会跨学部的送啊 +7 cls512 2024-05-09 7/350 2024-05-12 15:36 by 一路向东
[有机交流] 常见的固体有机酸由哪些呢? 40+4 whw818 2024-05-09 8/400 2024-05-11 18:45 by mapenggao
信息提示
请填处理意见