資源簡(jiǎn)介
一個(gè) 地震數(shù)據(jù)全波形反演FWI軟件包,可以直接運(yùn)行查看結(jié)果,由于受文件大小限制,把所有的地震記錄刪除了,需要先模擬地震記錄,雷克子波主頻在反演代碼里面可以找到。
代碼片段和文件信息
%%?This?script?is?used?to?perform?calculation?on?the?gradient
function?[gradienterr]?=?calculateGradient(dimssourcetrueRecmodelunextuuprev)
????recording?=?zeros(dims.ntlength(dims.recPos)‘single‘);
????gradient??=?zeros(dims.nydims.nx‘single‘);
????forwardField?=?zeros(dims.mydims.mxdims.nt‘single‘);?
????adjointField?=?zeros(dims.mydims.mxdims.nt‘single‘);
????err?=?0;
????for?s?=?1:dims.ds:length(dims.srcPos)
????????%%?Run?forward?simulation?on?background?model
????????uprev(:)=0;?u(:)=0;?unext(:)=0;
????????for?t?=?1:dims.nt
????????????%?Solve?wave?equation
????????????unext?=?solveWaveEqn(modeldimsdims.srcPos(s)sourcetunextuuprev);
????????????%?Update?u(xt)
????????????uprev?=?u;?u?=?unext;
????????????%?Check?wave?equation?stability
????????????r?=?model*dims.dt/dims.dx?+?model*dims.dt/dims.dy;
????????????if?r>1
????????????????break
????????????end
????????????%?Record?traces
????????????recording(t:)?=?u(dims.recPos);
????????????%?Save?forward?field?for?use?in?correlation
????????????forwardField(::t)?=?u(dims.modelydims.modelx);
????????end
????????%%?Calculate?difference?and?error
????????chi?=?recording-trueRec(::s);
????????%?Time?reversal
????????chi?=?flipud(chi);
????????%?Error?calculation
????????err?=?err?+?norm(chi);
????????%%?Run?adjoint?simulation
????????uprev(:)=0;?u(:)=0;?unext(:)=0;
????????for?t?=?1:dims.nt
????????????%?Solve?wave?equation?using?the?difference?(chi)?as?sources
????????????unext?=?solveWaveEqn(modeldimsdims.recPoschitunextuuprev);
????????????%?Update?u(xt)
????????????uprev?=?u;?u?=?unext;
????????????%?Check?wave?equation?stability
????????????r?=?model*dims.dt/dims.dx?+?model*dims.dt/dims.dy;
????????????if?r>1
????????????????break
????????????end
????????????%?Save?adjoint?field?for?use?in?correlation
????????????adjointField(::dims.nt-t+1)?=?u(dims.modelydims.modelx);
????????end
????????%%?Correlate
????????for?t?=?2:dims.nt-1
????????????%?Calculate?the?time?derivative?of?the?displacement?to?gradient.
????????????dadt=(adjointField(::t+1)?-?adjointField(::t))/dims.dt;
????????????dfdt=(forwardField(::t+1)?-?forwardField(::t-1))/dims.dt;
????????????gradient(dims.modelydims.modelx)=gradient(dims.modelydims.modelx)+dadt.*dfdt;??????????????????
????????end
????end
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????2315??2018-11-11?22:39??FWI-MATLAB\calculateGradient.m
?????文件???????1304??2018-11-11?22:39??FWI-MATLAB\calculateStepLength.m
?????文件???????4633??2018-11-11?22:39??FWI-MATLAB\calculateStepLengthGoldenRatio.m
?????文件??????17435??2018-11-11?22:39??FWI-MATLAB\Model?result?-?4?hz?-?grid?distance?5-10022-10024.mat
?????文件??????17315??2018-11-11?22:39??FWI-MATLAB\Model?result?-?4681012?hz?-?grid?distance?1-10022-10024.mat
?????文件??????17320??2018-11-11?22:39??FWI-MATLAB\Model?result?-?4681012?hz?-?grid?distance?5-10022-10024.mat
?????文件??????17353??2018-11-11?22:39??FWI-MATLAB\Model?result?-?4681012101210121012?hz?grid?distance?10-10022-10024.mat
?????文件????????196??2018-11-11?22:39??FWI-MATLAB\README.md
?????文件????????305??2018-11-11?22:39??FWI-MATLAB\rickerWave.m
?????文件???????2596??2018-11-11?22:39??FWI-MATLAB\runFWI.m
?????文件???????2673??2018-11-11?22:39??FWI-MATLAB\runFWIGoldenRatio.m
?????文件???????1018??2018-11-11?22:39??FWI-MATLAB\solveWaveEqn.m
?????文件????????307??2018-11-11?22:39??FWI-MATLAB\taperGradient.m
?????目錄??????????0??2020-04-19?21:01??FWI-MATLAB
-----------?---------??----------?-----??----
????????????????84770????????????????????14
- 上一篇:多算法CFAR一維恒虛警檢測(cè)
- 下一篇:混沌tent映射tent分叉程序
評(píng)論
共有 條評(píng)論