#include #include #include #include #define VN 4 #define pi M_PI #define M 4 #define DN 512 #define delta 0.2 #define n 11 #define theta pi/4.0 #define shift pi/4.0 #define base pi/4.0 #define epsilon 0.0 void uv_p(double *g, double *vx, double *vy, double *vz, double *uvx, double *uvy, double *uvz ); void uv_s(double *g, double *sx[], double *sy[], double *sz[], double *vx, double *vy, double *vz, double *usx[], double *usy[], double *usz[] ); void us_ps(double *w, double *vx, double*vy, double *vz, double *sx[], double *sy[], double *sz[], double *uvx1, double *uvy1, double *uvz1, double *usx1[], double *usy1[], double *usz1[]); void smallx(double *w, double *g, double *vx, double *vy, double *vz, double *fx, double *fy, double *fz, double *uvx, double *uvy, double *uvz, double *uvx1, double *uvy1, double *uvz1, double *sx[], double *sy[], double *sz[], double *usx1[], double *usy1[], double *usz1[]); void largex(double *w, double *g, double *sx[], double *sy[], double *sz[], double *gx[], double *gy[], double *gz[], double *usx[], double *usy[], double *usz[], double *usx1[], double *usy1[], double *usz1[], double *vx, double *vy, double *vz, double *uvx1, double *uvy1, double *uvz1); void rk4_m(double a, double *w, double *vx, double *vy, double *vz, double *uvx, double *uvy, double *uvz, double *uvx1, double *uvy1, double *uvz1, double *usx[], double *usy[], double *usz[], double *usx1[], double *usy1[], double *usz1[], double *sx[], double *sy[], double *sz[], double *g); int main(){ int i,k; double a=0.0; double *vx, *vy, *vz, *g; double z[M],*w; double **sx, **sy, **sz; double *uvx, *uvy, *uvz; double **usx, **usy, **usz; double *uvx1, *uvy1, *uvz1; double **usx1, **usy1, **usz1; double **gx, **gy, **gz; double *fx, *fy, *fz; vx=FFTmallocDbl1D(VN); vy=FFTmallocDbl1D(VN); vz=FFTmallocDbl1D(VN); g=FFTmallocDbl1D(VN); w=FFTmallocDbl1D(M); uvx=FFTmallocDbl1D(VN); uvy=FFTmallocDbl1D(VN); uvz=FFTmallocDbl1D(VN); uvx1=FFTmallocDbl1D(VN); uvy1=FFTmallocDbl1D(VN); uvz1=FFTmallocDbl1D(VN); fx=FFTmallocDbl1D(VN); fy=FFTmallocDbl1D(VN); fz=FFTmallocDbl1D(VN); sx=FFTmallocDbl2D(M,DN); sy=FFTmallocDbl2D(M,DN); sz=FFTmallocDbl2D(M,DN); usx=FFTmallocDbl2D(M,DN); usy=FFTmallocDbl2D(M,DN); usz=FFTmallocDbl2D(M,DN); usx1=FFTmallocDbl2D(M,DN); usy1=FFTmallocDbl2D(M,DN); usz1=FFTmallocDbl2D(M,DN); gx=FFTmallocDbl2D(M,DN); gy=FFTmallocDbl2D(M,DN); gz=FFTmallocDbl2D(M,DN); for(i=0; i