资源简介

用有限差分方法求解波动方程,画出波场快照,模拟波在地下传播

资源截图

代码片段和文件信息

#  include
#  include
#  include
#  include
# define pi 3.1415926535898

union Head{
    int h4[60];
    short int h2[120];
};

int main()
{


      int n=2;
      //short int ddt=400;    // ddt=400us=0.4ms
      float dt=0.0005;
      int tmax=3000;

      float h=5;
      float dz=h;
      float dx=h;
      int nx=801;
      int nz=801;

      int trace_itrace_btrace_etrace_step;
      trace_b=0;
      trace_e=1;
      trace_step=40;
      int trace_s[10]={680760800880920960600640720840};

      int sx=200;
      int sz=100;

      int source_type=3;

      int rec_Depth=sz;

      int f0=30;
      float omiga0=f0*2*pi;
      float alpha=2.0;
      float tdelay=0.1;

for (trace_i=trace_b;trace_i{
        //sx=sx+trace_i*trace_step;
        sx=200;
      printf(“trace_i=%d nx=%d nz=%d tmax=%d dt=%f\n“trace_inxnztmaxdt);
      printf(“********************************  \n FD_PML is running!\n“);

      float *vp;
      vp=(float *)malloc(sizeof(float)*nx*nz);

      float *vs;
      vs=(float *)malloc(sizeof(float)*nx*nz);
//      float *vp_a;
//      vp_a=(float *)malloc(sizeof(float)*nx*nz);
//      float *vs_a;
//      vs_a=(float *)malloc(sizeof(float)*nx*nz);
      float *od_a;
      od_a=(float *)malloc(sizeof(float)*nx*nz);
      float *od;
      od=(float *)malloc(sizeof(float)*nx*nz);
//      float od_a[100][100];

      int pml_thickness=40;
//      float d0[2][101];
      float *d0;
      d0=(float *)malloc(sizeof(float)*2*(nz+1));
      float alphax0=pi*f0;

      int L=2;
      float *tau_1_e_1;
      tau_1_e_1=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_1_e_2;
      tau_1_e_2=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_1_s_1;
      tau_1_s_1=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_1_s_2;
      tau_1_s_2=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_2_e_1;
      tau_2_e_1=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_2_e_2;
      tau_2_e_2=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_2_s_1;
      tau_2_s_1=(float *)malloc(sizeof(float)*nx*nz);
      float *tau_2_s_2;
      tau_2_s_2=(float *)malloc(sizeof(float)*nx*nz);

      float *tau_1_e_1_t;
      tau_1_e_1_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_1_e_2_t;
      tau_1_e_2_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_1_s_1_t;
      tau_1_s_1_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_1_s_2_t;
      tau_1_s_2_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_2_e_1_t;
      tau_2_e_1_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_2_e_2_t;
      tau_2_e_2_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_2_s_1_t;
      tau_2_s_1_t=(float *)malloc(sizeof(float)*(nx+1)*(nz+1));
      float *tau_2_s_2_t;
      tau_2_s_2_t=(float *)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      53800  2013-05-19 09:51  有限差分程序\FDM_600.c

     文件     201936  2014-07-10 22:25  有限差分程序\FDM_bodywave\Debug\FDM_bodywave.pch

     文件      33792  2014-07-10 22:26  有限差分程序\FDM_bodywave\Debug\vc60.idb

     文件      36864  2014-07-10 22:25  有限差分程序\FDM_bodywave\Debug\vc60.pdb

     文件    2566404  2013-05-19 10:09  有限差分程序\FDM_bodywave\dwtc1200

     文件    2566404  2013-05-19 10:13  有限差分程序\FDM_bodywave\dwtc1500

     文件    2566404  2013-05-19 10:17  有限差分程序\FDM_bodywave\dwtc1800

     文件    2566404  2013-05-19 10:20  有限差分程序\FDM_bodywave\dwtc2100

     文件    2566404  2013-05-19 10:24  有限差分程序\FDM_bodywave\dwtc2400

     文件    2566404  2013-05-19 10:27  有限差分程序\FDM_bodywave\dwtc2700

     文件    2566404  2013-05-19 09:58  有限差分程序\FDM_bodywave\dwtc300

     文件    2566404  2013-05-19 10:30  有限差分程序\FDM_bodywave\dwtc3000

     文件    2566404  2013-05-19 10:02  有限差分程序\FDM_bodywave\dwtc600

     文件    2566404  2013-05-19 10:06  有限差分程序\FDM_bodywave\dwtc900

     文件      48980  2013-05-19 11:45  有限差分程序\FDM_bodywave\FDM_bodywave.c

     文件        532  2014-07-10 22:26  有限差分程序\FDM_bodywave\FDM_bodywave.dsw

     文件      63540  2013-05-19 11:45  有限差分程序\FDM_bodywave\FDM_bodywave.exe

     文件      33792  2014-07-10 22:26  有限差分程序\FDM_bodywave\FDM_bodywave.ncb

     文件      51560  2013-05-19 11:45  有限差分程序\FDM_bodywave\FDM_bodywave.o

     文件       2635  2014-07-15 10:03  有限差分程序\FDM_bodywave\FDM_INSTALL_bodywave.m

     文件    7075244  2014-07-10 22:24  有限差分程序\FDM_bodywave\install

     文件    5001840  2013-05-19 10:30  有限差分程序\FDM_bodywave\rec_u200.sgy

     文件    5001840  2013-05-19 10:30  有限差分程序\FDM_bodywave\rec_w2001.sgy

     文件    2566404  2014-07-10 22:26  有限差分程序\FDM_bodywave\vp

     文件        706  2013-04-25 11:24  有限差分程序\FDM_bodywave\程序说明.txt

     文件        535  2013-04-25 10:54  有限差分程序\FDM_Rayleighwave\display_c.m

     文件       2636  2013-04-25 08:57  有限差分程序\FDM_Rayleighwave\FDM_INSTALL_Rayleighwave.m

     文件      48621  2013-04-25 08:58  有限差分程序\FDM_Rayleighwave\FDM_Rayleigh.c

     文件        829  2013-04-25 11:22  有限差分程序\FDM_Rayleighwave\程序说明.txt

     目录          0  2014-07-10 22:25  有限差分程序\FDM_bodywave\Debug

............此处省略6个文件信息

评论

共有 条评论