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

📄 wavel.c

📁 seismic software,very useful
💻 C
字号:
#include <par.h> void wavel(int n1, int n2, int n3, float d1, float d2, float d3,	int time, float *wl, float ***v)/*************************************************************************Compute minimum wavelengths for individual dimension and total*************************************************************************/{	int  i1,i2, i3;	float  k=0, k1=0, k2=0, k3=0, dv1, dv2, dv3, dv, vel, ovel;	float ddv1, ddv2, ddv3, ddv, scal;	float od1=1.0/d1, od2=1.0/d2, od3=1.0/d3;	float o2d1=od1*od1, o2d2=od2*od2, o2d3=od3*od3;	float d2v1, d2v2, d2v3;     	for(i3=0; i3<n3; ++i3)  	    for(i2=0; i2<n2; ++i2)		for(i1=0; i1<n1; ++i1){			vel = v[i3][i2][i1];			ovel = 1.0/vel;			if(i1==0||i1==n1-1) d2v1 = ddv1 = 0.;			else {				dv1 = (vel-v[i3][i2][i1-1])*od1*ovel;				d2v1 = dv1*dv1;				ddv1 = (v[i3][i2][i1-1]-2.0*vel+					  v[i3][i2][i1+1])*o2d1*ovel;				if(ddv1<0) ddv1 = -ddv1;			}			if(i2==0||i2==n2-1)  d2v2 = ddv2 = 0.;			else {				dv2 = (vel-v[i3][i2-1][i1])*od2*ovel;				d2v2 = dv2*dv2;				ddv2 = (v[i3][i2-1][i1]-2.0*vel+					  v[i3][i2+1][i1])*o2d2*ovel;				if(ddv2<0) ddv2 = -ddv2;			}			if(i3==0||i3==n3-1) d2v3 = ddv3 = 0.;			else {				dv3 = (vel-v[i3-1][i2][i1])*od3*ovel;				d2v3 = dv3*dv3;				ddv3 = (v[i3-1][i2][i1]-2.0*vel+					  v[i3+1][i2][i1])*o2d3*ovel;				if(ddv3<0) ddv3 = -ddv3;			} 			if(time) {				scal = 2000.*ovel;				scal = scal*scal;			}			if(time==1) {				d2v1 *= scal;				ddv1 *= scal;			}			else if(time==2){				d2v2 *= scal;				ddv2 *= scal;			} 			else if(time==3){				d2v3 *= scal;				ddv3 *= scal;			}  			if(k1<d2v1) k1 = d2v1;			if(k1<ddv1) k1 = ddv1;  			if(k2<d2v2) k2 = d2v2;			if(k2<ddv2) k2 = ddv2;  			if(k3<d2v3) k3 = d2v3;			if(k3<ddv3) k3 = ddv3;  	 		dv = d2v1+d2v2+d2v3;			ddv = ddv1+ddv2+ddv3; 			if(k<dv)  k = dv; 			if(k<ddv) k = ddv;  		}	 	wl[0] = (k)? 2.0*PI/sqrt(k): -1;	wl[1] = (k1)? 2.0*PI/sqrt(k1): -1;	wl[2] = (k2)? 2.0*PI/sqrt(k2): -1;	wl[3] = (k3)? 2.0*PI/sqrt(k3): -1;}

⌨️ 快捷键说明

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