⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdraytrace.c

📁 射线追踪程序
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <assert.h>#include <eve.h>#include <sismoutil.h>#include "tomo3d.h"#define ijk2l(i,j,k) (NZ*NY*(i) + NX*(j) + (k))#define TIME(i,j,k)   T[ijk2l(i,j,k)]#define SLOW(i,j,k)  HS[ijk2l(i,j,k)]#define NVNV(i,j,k)  NV[ijk2l(i,j,k)]#define MAX(a,b) ((a>b)?(a):(b))#define MIN(a,b) ((a<b)?(a):(b))clock_t __lclock=0;#define PROGRESS(k,N) { if (clock()>__lclock+CLOCKS_PER_SEC) { fprintf(stderr,"%6d/%6d",k,N); __lclock=clock(); } }#define RE 6371.#define STEPALLOC 50#define INFINITY 1.e+19/* time-3d: */float HS_EPS_INIT=1.e-3;      /* tolerated model heterogeneity */int MSG=1;                    /* verbosity level */float XS,YS,ZS;               /* source */int NX,NY,NZ;                 /* Dimensions of the timefields */float *HS,*HS2;               /* model */float *T;                     /* time filed */int *NV,MISSING;              /* temporaire (init) */float Hlength=40.;             /* time grid unit length */float maxdepth=-1;extern int time_3d(float *HS, float *T, int NX, int NY, int NZ, float                XS, float YS, float ZS, float HS_EPS_INIT, int MSG);int init_grids(struct event_t *ev,struct data_t *dat){        float pm,azm;        float A,B,C,Z0,VEL;        int i,j,k;        int zmax=0;        int zmin=NZ;        /* initialiastion de T */        printlog("Init T\n");        /* les rais sont suppos閟 arriver sous le mod鑜e sur un front         * d'onde plan, avec comme param鑤re de rai la moyenne de tous         * les rais.  Ensuite, on propage les rais dans la grille de         * temps calcul閑 via time_3d jusqu'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -