




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#define fm 30#define dt 0.001#define PI 3.#define Nt 401#define Nx 200#define Nz 200/-加载震源,雷克子波-void fun(float source)FILE *fp;int it,i;float t1,t2,t0;for(i=0;iNt;i+) sourcei=0.0;t0 = 1.0/fm;printf(t0 = %fn, t0); fp=fopen(ricker.txt,w);for(it=0;itNt;it+)t1=it*dt;t2=t1-t0;sourceit=(1.0-2.0*pow(PI*fm*t1,2.0)*exp(-pow(PI*fm*t1,2.0);fprintf(fp,%.8f %.8fn,t1,sourceit);fclose(fp);/-主程序,差分算子-void main() FILE *fp, *fpwf;int it,ix,iz, order,N;int nsx,nsz; float a0,a1,a2,a3,a4,a5,a6;int flag;float dx,dz; float UnNxNz, UnmNxNz, UnpNxNz, vNxNz,recordNxNt;/Un表示n时刻,Unm表示n-1时刻,Unp表示n+1时刻波场 float sourceNt;nsx=Nx/2;nsz=0.0;/震源位置 N=6;order=2*N;/精度 if(order = 2)a0=-2.00000;a1=1.00000;a2=0;a3=0;a4=0;a5=0;a6=0;if(order = 4) a0=-2.50000;a1=1.33333;a2=-8.33333e-2;a3=0;a4=0;a5=0;a6=0;if(order = 6)a0=-2.72222;a1=1.50000;a2=-1.50000e-1;a3=1.11111e-2;a4=0;a5=0;a6=0; if(order = 8)a0=-2.84722;a1=1.60000;a2=-2.00000e-1;a3=2.53968e-2;a4=-1.78571e-3;a5=0;a6=0; if(order = 10)a0=-2.92722;a1=1.66667;a2=-2.38095e-1;a3=3.96825e-2;a4=-4.96032e-3;a5=3.17460e-4;a6=0; if(order = 12)a0=-2.98278;a1=1.71429;a2=-2.67857e-1;a3=5.29101e-2;a4=-8.92857e-3;a5=1.03896e-3;a6=-6.01251e-5; /*for (ix=0;ixNx;ix+) for (iz=0;iz(Nz*2/5);iz+) vixiz=2000;for (iz=(Nz*2/5);iz(Nz*3/5);iz+) vixiz=3000;for (iz=(Nz*3/5);izNz;iz+) vixiz=4000;/给速度赋值 */ for (ix=0;ixNx;ix+) for (iz=0;izNz/2;iz+)vixiz=4000; for (iz=Nz/2;izNz;iz+)vixiz=4000; dx=10.0;dz=10.0;/赋值for(ix=0;ixNx;ix+)for(iz=0;izNz;iz+)Unixiz=0.0;Unmixiz=0.0;Unpixiz=0.0;fun(source);fpwf = fopen(Wavefieldall.dat, wb);for(it=0;itNt;it+)for(ix=6;ix(Nx-6);ix+)for(iz=6;iz(Nz-6);iz+) Unpixiz=2*Unixiz-Unmixiz+0.5*vixiz*vixiz*dt*dt/(dx*dx)*(a0*Unixiz+a1*(Unix+1iz+Unix-1iz)+a2*(Unix+2iz+Unix-2iz)+a3*(Unix+3iz+Unix-3iz)+a4*(Unix+4iz+Unix-4iz)+a5*(Unix+5iz+Unix-5iz)+a6*(Unix+6iz+Unix-6iz) +0.5*vixiz*vixiz*dt*dt/(dz*dz)*(a0*Unixiz+a1*(Unixiz+1+Unixiz-1)+a2*(Unixiz+2+Unixiz-2)+a3*(Unixiz+3+Unixiz-3)+a4*(Unixiz+4+Unixiz-4)+a5*(Unixiz+5+Unixiz-5)+a6*(Unixiz+6+Unixiz-6); Unpnsxnsz+=sourceit;for(ix=0;ixNx;ix+)for(iz=0;izNz;iz+) Unmixiz=Unixiz;Unixiz=Unpixiz;for(ix=0;ixNx;ix+) recordixit=Unixnsz; /-记录文件-/-记录Un文件-for(ix=0; ixNx; ix+)fwrite(Unix, sizeof(float), Nz, fpwf);if(it=400) fp=fopen(wavefield.dat,wb);for(ix=0; ixNx; ix+)fwrite(Unix, sizeof(float), Nz, fp);fclose(fp);if(it%20=0) printf(it=%dn, it);fclose(fpwf); /-记录record文件- fp=fopen(record.dat,wb); for(ix=0;ixNx;ix+) fwrit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 16481:2025 EN Sustainable mobility and transportation - Digital governance - Strategic needs regarding ISO 37101 purposes of sustainability
- 集体五一活动方案
- 邯郸市丰富多彩活动方案
- 锅炉电工考试题及答案
- 古代导游考试题及答案
- 环境噪声污染治理措施承诺书7篇范文
- 客户服务回访标准化操作流程
- 肺炎护理考试题及答案
- 放射读片考试题及答案
- 防护外电考试题及答案
- 《银行业金融机构安全评估标准》
- 《糖尿病性黄斑水肿》课件
- 人教版小学英语三年级下册·单词表(带有音标)
- 参观稻渔空间课程设计
- 2024新人教版英语七年级上单词默写单(小学部分)
- 中医(中西医结合科)工作制度与岗位职责
- 住院精神疾病患者自杀风险护理
- 三年级美术上册全册教案(湘教版)
- 同等学力英语申硕考试词汇(第六版大纲)电子版
- 光伏项目投标方案(技术方案)
- GB/T 44395-2024激光雷达测风数据可靠性评价技术规范
评论
0/150
提交评论