亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 并行源程序.txt

?? 計算并行運算的代碼,用mpI實現并行運算,
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
/*并行源程序*/
#include <mpi.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>

#define pi  3.1415926
#define c   2.998e-1
#define E1  8.85e-3
#define E2  2.58*E1
#define dt  0.1374642e-2
#define f0  10.5
#define dr  0.713809e-3
#define t0  0.15
#define t   0.05
#define df  1/(218*dt)
#define u   1.25e+3
#define n0  0
#define N   258
#define rn  218
#define dc  pi/90
#define ld  c/9.5
#define ita 120*pi
#define z0  35*dr
#define s   0.577
#define X1  80
#define Y   100
#define Z1  75
#define X2  20
#define Z2  100

float ex1[X1+1][Y+1][Z1+1],ey1[X1+1][Y+1][Z1+1],ez1[X1+1][Y+1][Z1+1];
float hx1[X1+1][Y+1][Z1+1],hy1[X1+1][Y+1][Z1+1],hz1[X1+1][Y+1][Z1+1];
float ex2[X2+1][Y+1][Z2+1],ey2[X2+1][Y+1][Z2+1],ez2[X2+1][Y+1][Z2+1];
float hx2[X2+1][Y+1][Z2+1],hy2[X2+1][Y+1][Z2+1],hz2[X2+1][Y+1][Z2+1];

float S_hx1[X2+1][Y+1],S_hy1[X2+1][Y+1],S_hz1[X2+1][Y+1];
float R_hx2[X2+1][Y+1],R_hy2[X2+1][Y+1],R_hz2[X2+1][Y+1];
float R_ex1[X2+1][Y+1],R_ey1[X2+1][Y+1],R_ez1[X2+1][Y+1];
float S_ex2[X2+1][Y+1],S_ey2[X2+1][Y+1],S_ez2[X2+1][Y+1];

float S_MY00_ex2[X2+1][Z2+1],S_MY00_ez2[X2+1][Z2+1];
float S_MY01_ex2[X2+1][Z2+1],S_MY01_ez2[X2+1][Z2+1];
float S_MYY0_ex2[X2+1][Z2+1],S_MYY0_ez2[X2+1][Z2+1];
float S_MYY1_ex2[X2+1][Z2+1],S_MYY1_ez2[X2+1][Z2+1];
float R_MY00_ex2[X2+1][Z2+1],R_MY00_ez2[X2+1][Z2+1];
float R_MY01_ex2[X2+1][Z2+1],R_MY01_ez2[X2+1][Z2+1];
float R_MYY0_ex2[X2+1][Z2+1],R_MYY0_ez2[X2+1][Z2+1];
float R_MYY1_ex2[X2+1][Z2+1],R_MYY1_ez2[X2+1][Z2+1];

float S_MZ00_ex2[X2+1][Y+1],S_MZ00_ey2[X2+1][Y+1];
float S_MZ01_ex2[X2+1][Y+1],S_MZ01_ey2[X2+1][Y+1];
float R_MZ00_ex2[X2+1][Y+1],R_MZ00_ey2[X2+1][Y+1];
float R_MZ01_ex2[X2+1][Y+1],R_MZ01_ey2[X2+1][Y+1];

float S_LX00_ex2[X2-1],S_LX00_ey2[X2-1],S_LX00_ez2[X2-1];
float S_LX01_ex2[X2-1],S_LX01_ey2[X2-1],S_LX01_ez2[X2-1];
float R_LX00_ex2[X2-1],R_LX00_ey2[X2-1],R_LX00_ez2[X2-1];
float R_LX01_ex2[X2-1],R_LX01_ey2[X2-1],R_LX01_ez2[X2-1];

float S_MY20_ex2[X2-1][Z2],S_MY20_ez2[X2-1][Z2];
float S_MY30_ex2[X2-1][Z2],S_MY30_ez2[X2-1][Z2];
float R_MY20_ex2[X2-1][Z2],R_MY20_ez2[X2-1][Z2];
float R_MY30_ex2[X2-1][Z2],R_MY30_ez2[X2-1][Z2];

float S_MZ20_ex2[X2-1][Y-1],S_MZ20_ey2[X2-1][Y-1];
float R_MZ20_ex2[X2-1][Y-1],R_MZ20_ey2[X2-1][Y-1];

float S_LX20_ex2[X2-1],S_LX20_ey2[X2-1],S_LX20_ez2[X2-1];
float S_LX21_ex2[X2-1],S_LX21_ey2[X2-1],S_LX21_ez2[X2-1];
float R_LX20_ex2[X2-1],R_LX20_ey2[X2-1],R_LX20_ez2[X2-1];
float R_LX21_ex2[X2-1],R_LX21_ey2[X2-1],R_LX21_ez2[X2-1];

float xey[Y+1][Z1+1][10],xez[Y+1][Z1+1][10];
float yexb[X1+1][Z1+1][10],yezb[X1+1][Z1+1][10];
float yexs[X2+1][Z2+2][10],yezs[X2+1][Z2+2][10];
float zex[X1+3][Y+1][10],zey[X1+3][Y+1][10];
float yey1[Y+1][30][14],yez1[Y+1][30][14];
float yex2[Y+1][30][14],yey2[Y+1][30][14];
float zey1[Z1+1][30][14],zez1[Z1+1][30][14];
float zex2[Z1+1][30][14],zez2[Z1+1][30][14];
float xex1[X1+1][30][14],xey1[X1+1][30][14];
float xex2[X1+1][30][14],xez2[X1+1][30][14];
float A,B,C;
float tt0[3][16],tt[8][16];
float rex[X2+1][Y+1][rn+1],rey[X2+1][Y+1][rn+1];
float rhx[X2+1][Y+1][rn+1],rhy[X2+1][Y+1][rn+1];
float fex[X2+1][Y+1][2],fey[X2+1][Y+1][2];
float fhx[X2+1][Y+1][2],fhy[X2+1][Y+1][2];
float Er1[X2+1][Y+1][91],Ei1[X2+1][Y+1][91];
float Er2[X2+1][Y+1][91],Ei2[X2+1][Y+1][91];
float Er3[X2+1][Y+1][91],Ei3[X2+1][Y+1][91];
float Er4[X2+1][Y+1][91],Ei4[X2+1][Y+1][91];
float mex[X2+1][Y+1],mey[X2+1][Y+1];
float mhx[X2+1][Y+1],mhy[X2+1][Y+1];
float se1[91][2],se2[91][2];
float Me1[91],Me2[91];
float se3[91][2],se4[91][2];
float Me3[91],Me4[91];
float Vs[rn+1],Is[rn+1];
float Vsw[2],Isw[2],pin[2],Mp;
float G1[91],G2[91],G3[91],G4[91];
int c7[8]={1,7,21,35,35,21,7,1};

double starttime0,endtime0,starttime,endtime;
double starttime1,endtime1;
MPI_Status status;
int my_rank,process_num;


void main(int argc, char **argv)
{ 
  FILE  *fp14,*fp15,*fp16,*fp17,*fp18;
 int m,i,j,k,n;
  float y;

  void bigarea_h();
  void smallarea_h();
  void bigarea_e();
  void smallarea_e();

  void Send_h1();
  void Recv_h2();
  void Recv_e1();
  void Send_e2();
  
  void Send_MY();
  void Send_MZ();
  void Send_LX();
  void Recv_MY();
  void Recv_MZ();
  void Recv_LX();
  
  void Send_MY1();
  void Send_MZ1();
  void Send_LX1();
  void Recv_MY1();
  void Recv_MZ1();
  void Recv_LX1();
  
  void init_liao();
  void murx(int g);
  void mury1(int g);
  void mury2(int g);
  void murz(int g,int xs,int xf,int yf);
  void liaoy(int xx,int zz);
  void liaoz(int xx,int yy);
  void liaox(int xs,int xf,int yy,int zz);
  void fourier(float e[X2+1][Y+1][rn+1]);
  void fourier1(float e[rn+1]);
  void mo(float e[X2+1][Y+1][2]);
  void sss();
  void sss1();
  void putdata();

  printf("hello\n");
  MPI_Init(&argc,&argv);
  MPI_Comm_size(MPI_COMM_WORLD, &process_num);
  MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
  starttime=MPI_Wtime(); 

  if(my_rank==0) {
    init_liao();          
  }
  
  for(n=1;n<=N;n++)
  { 
   if(n==1||n==50||n==100||n==150||n==200||n==N) {
	 starttime0=MPI_Wtime(); 
	  }
	  y=(((n*dt-t0)/t)*((n*dt-t0)/t));
    ex1[30][50][13]=1000*exp((-1.0*y))*sin(2*pi*f0*(n-n0)*dt);
    
   if(my_rank==0){
    bigarea_h();

    Send_h1();
  }
  if(my_rank==1){
  smallarea_h();
  Recv_h2();
}
   if(my_rank==0){
   if(n<=rn)
    {  Vs[n]=ex1[30][50][13];
       Is[n]=fabs(hz1[30][51][13])+fabs(hz1[30][50][13])+fabs(hy1[30][50][14])+fabs(hy1[30][50][13]); 
      }
   bigarea_e();
  }
  if(my_rank==1){
   smallarea_e();
	}
	 
  
  	//接收1進程傳過來的用于計算mury2,murz,liaox的數據
  	if(my_rank==0){
   Recv_MY();
   Recv_MZ();  
   Recv_LX(); 
  }
 if(my_rank==0){
    murx(0); 
    murx(X1);
    mury1(0);
    mury2(0);
    mury2(Y);
	mury1(Y);

    murz(Z1,1,X1-1,Y-1);
    murz(0,1,29,Y-1);
    murz(0,51,X1-1,Y-1);
    murz(Z2,1,X2-1,Y-1);
    liaoy(0,0);
    liaoy(0,Z1);
    liaoy(X1,0);
    liaoy(X1,Z1);
    liaoz(0,0);
    liaoz(0,Y);
    liaoz(X1,0);
    liaoz(X1,Y);
    liaox(0,X1,0,Z1);
    liaox(0,X1,Y,Z1);
    liaox(0,29,0,0);
    liaox(0,29,Y,0);
    liaox(51,X1,0,0);
    liaox(51,X1,Y,0);
    liaox(1,X2-1,0,Z2);
    liaox(1,X2-1,Y,Z2);
 
    Send_MY1(); 
 	  Send_MZ1(); 
    Send_LX1();
 
	  Recv_e1(); 
 
 
} 
/////////////////////////////////////////////////////////////////////////////////////////
   if(my_rank==1) {    

//將數據傳給0進程計算mury2,murz,liaox

 	Send_MY();
 	Send_MZ();
	Send_LX();

 //接收0進程mury2傳過來的數據

 	Recv_MY1();
 	Recv_MZ1();
 	Recv_LX1();

  Send_e2();

  } 
 if ((n>=36)&&(n<=36+rn) )
 	  {m=n-36;
      for (i=30;i<=50;i++)
 	    for (j=0;j<=Y;j++)
        { rex[i-30][j][m]=ex1[i][j][35];
          rey[i-30][j][m]=ey1[i][j][35];
          rhx[i-30][j][m]=hx1[i][j][35];
          rhy[i-30][j][m]=hy1[i][j][35]; 
              }  
     }
   if(n==1||n==50||n==100||n==150||n==200||n==N){

	   endtime0=MPI_Wtime(); 
	   printf("rank%d:the %d time running time is:%f\n",my_rank,n,endtime0-starttime0);
   }

MPI_Barrier(MPI_COMM_WORLD);
printf("end[%d]\n",n) ;
 }

 if(my_rank==0) {          
 fourier(rex);
 fourier(rey);
 fourier(rhx);
 fourier(rhy);
 mo(fex);
 mo(fey);
 mo(fhx);
 mo(fhy);
 sss();
 sss1();
 fourier1(Vs);
 fourier1(Is);
 
 putdata();
}
endtime=MPI_Wtime();
printf("the whole running time is %f\n",endtime-starttime); 
MPI_Finalize();
printf("rank%d:the %d time running time is:%f\n",my_rank,n,endtime0-starttime0);
}




//////////////////////////////////////////////////////////////////////////////
//初始化數組tt,為liao邊界條件作準備
 void init_liao() {
 	int l,m0,m1,m2,m3,i,j,j1;
  float tmp;
  tt[1][1]=(2-s)*(1-s)/2;
  tt[1][2]=s*(2-s);
  tt[1][3]=s*(s-1)/2;
  for (l=2;l<=7;l++)
   { m2=2*l+1;
     m1=l-1;
     for (j=1;j<=m2;j++)
      {if (j<(2*l-1)) tt0[1][j]=tt[m1][j];
       else tt0[1][j]=0; }
     m3=2*l;
     tt0[2][1]=0;
     for (j=2;j<=m3;j++)
      { j1=j-1;
        tt0[2][j]=tt[m1][j1]; }
     tt0[2][m2]=0;
     tt0[3][1]=0;
     tt0[3][2]=0;
     for (j=3;j<=m2;j++)
      { j1=j-2;
        tt0[3][j]=tt[m1][j1]; }
     m0=2*l+1;
     for (i=1;i<=m0;i++)
      { tt[l][i]=0;
        for (j=1;j<=3;j++)
           { tmp=tt[1][j]*tt0[j][i];
             tt[l][i]=tt[l][i]+tmp; }    }   }
   A=(c*dt-dr)/(c*dt+dr);
   B=(2*dr)/(c*dt+dr);
   C=pow((c*dt),2)/(2*dr*(c*dt+dr));
    }
///////////////////////////////////////////////////////////////////////////    
//計算大區域磁場
 void bigarea_h(){
  int i,j,k,i1,j1,k1;
  float x1,y1,z1;
    for(i=0;i<=X1-1;i++)
     for(j=0;j<=Y-1;j++)
      for(k=0;k<=Z1-1;k++)
       {i1=i+1;
        j1=j+1;
        k1=k+1;
        x1=ey1[i][j][k1]-ey1[i][j][k]+ez1[i][j][k]-ez1[i][j1][k];
        hx1[i][j][k]=hx1[i][j][k]+dt/(u*dr)*x1;
        y1=ez1[i1][j][k]-ez1[i][j][k]+ex1[i][j][k]-ex1[i][j][k1];
	     hy1[i][j][k]=hy1[i][j][k]+dt/(u*dr)*y1;
        z1=ex1[i][j1][k]-ex1[i][j][k]+ey1[i][j][k]-ey1[i1][j][k];
        hz1[i][j][k]=hz1[i][j][k]+dt/(u*dr)*z1;    }
      }
//////////////////////////////////////////////////////////////////////////////
//計算小區域磁場
void smallarea_h(){
	int i,j,k,i1,j1,k1;
  float x1,y1,z1;
    for(i=0;i<=X2-1;i++)
     for(j=0;j<=Y-1;j++)
      for(k=1;k<=Z2;k++)
       {i1=i+1;
        j1=j+1;
        k1=k-1;
        x1=ey2[i][j][k1]-ey2[i][j][k]+ez2[i][j][k]-ez2[i][j1][k];
        hx2[i][j][k]=hx2[i][j][k]+dt/(u*dr)*x1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区欧美日韩| 精品精品国产高清a毛片牛牛| 国产亚洲精品aa午夜观看| 麻豆精品精品国产自在97香蕉| 欧美精品一二三| 日韩精品乱码av一区二区| 在线不卡a资源高清| 视频在线观看国产精品| 欧美一区二区三区在线看| 奇米精品一区二区三区在线观看| 91精品国产一区二区三区| 日本欧美一区二区三区| 精品奇米国产一区二区三区| 国产自产高清不卡| 国产欧美一区在线| 不卡区在线中文字幕| 亚洲色图欧洲色图| 欧美日韩精品欧美日韩精品一 | 欧美日韩一级大片网址| 日韩av中文字幕一区二区三区| 日韩欧美www| 国产精品一区二区久激情瑜伽 | 国产精品电影一区二区| 91色porny| 三级欧美韩日大片在线看| 精品噜噜噜噜久久久久久久久试看| 国产一区二区三区国产| 成人免费在线播放视频| 欧美视频三区在线播放| 精品一区二区免费视频| 国产精品国产精品国产专区不蜜 | 亚洲免费观看在线视频| 欧美高清www午色夜在线视频| 国产美女在线精品| 综合欧美一区二区三区| 日韩视频在线你懂得| 成人国产精品免费观看动漫| 亚洲高清免费视频| 久久久久国产精品麻豆| 在线区一区二视频| 国内久久婷婷综合| 亚洲尤物在线视频观看| 久久男人中文字幕资源站| 色婷婷久久久综合中文字幕| 激情深爱一区二区| 亚洲伦理在线精品| 精品国产一区二区三区久久久蜜月| 99久久精品一区| 久久成人免费网| 亚洲一本大道在线| 国产精品嫩草影院av蜜臀| 欧美精品色一区二区三区| 国产精品1区二区.| 天天综合色天天综合| 国产精品第一页第二页第三页| 精品国产一区二区精华| 欧美男女性生活在线直播观看 | 欧美老女人在线| 成人美女视频在线观看18| 日本sm残虐另类| 亚洲精品视频一区二区| 日本一区二区免费在线| 日韩欧美一区二区视频| 欧美日韩午夜在线视频| 99精品视频在线观看免费| 国产在线麻豆精品观看| 日韩精品福利网| 亚洲久本草在线中文字幕| 国产性做久久久久久| 日韩精品一区二区在线观看| 欧美日韩一区三区| 欧美在线色视频| 91亚洲国产成人精品一区二区三| 国产一区二区h| 久久av中文字幕片| 日韩精品一区第一页| 一区二区在线观看视频| 中文字幕日韩一区| 欧美激情在线一区二区| 国产丝袜在线精品| 欧美精品一区二区蜜臀亚洲| 欧美一级欧美三级| 欧美疯狂做受xxxx富婆| 欧美四级电影在线观看| 色综合久久中文综合久久97| 成人av手机在线观看| 国v精品久久久网| 成人av在线播放网站| 成人午夜电影久久影院| 成人午夜激情视频| 成人国产精品视频| 972aa.com艺术欧美| 9i看片成人免费高清| 成人黄页毛片网站| 99视频在线观看一区三区| 成人爱爱电影网址| 99re热这里只有精品视频| 不卡av在线免费观看| 99精品偷自拍| 欧美午夜宅男影院| 欧美精品色综合| 欧美成人精品福利| 久久久天堂av| 国产精品久久三| 狠狠色丁香久久婷婷综合_中| 精品亚洲成a人| 国产精品18久久久久| 丁香桃色午夜亚洲一区二区三区| 国产宾馆实践打屁股91| 91麻豆.com| 欧美日韩另类国产亚洲欧美一级| 欧美一级在线视频| 国产亚洲精品免费| 亚洲欧美国产三级| 日韩精品亚洲专区| 国产成人免费网站| 色呦呦日韩精品| 91麻豆精品91久久久久同性| 精品国产3级a| 成人欧美一区二区三区白人| 午夜精品福利一区二区三区av | 在线影院国内精品| 在线播放91灌醉迷j高跟美女| 日韩精品在线一区二区| 国产精品久久久久影院色老大 | 亚洲乱码日产精品bd| 日韩中文字幕区一区有砖一区| 久久精品免费观看| 成人av电影免费在线播放| 欧美性生活影院| 国产视频911| 亚洲一区二区欧美| 国产高清精品久久久久| 在线中文字幕不卡| 久久夜色精品一区| 亚洲五月六月丁香激情| 国产一区二区中文字幕| 色综合久久66| 久久一二三国产| 亚洲成人av电影| 国产999精品久久久久久绿帽| 欧美自拍偷拍一区| 久久日韩粉嫩一区二区三区| 亚洲欧美日韩国产手机在线| 日本欧美一区二区三区乱码| 成人黄色在线看| 亚洲男人都懂的| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 成人网页在线观看| 91精品欧美久久久久久动漫| 亚洲精品成人天堂一二三| 色系网站成人免费| 一区二区三区不卡视频在线观看 | 青青草精品视频| 精品人在线二区三区| 国产白丝精品91爽爽久久| 中文在线一区二区| 在线免费一区三区| 日韩精品三区四区| 国产片一区二区三区| 日本韩国欧美在线| 日韩二区三区在线观看| 欧美变态tickling挠脚心| 国产宾馆实践打屁股91| 亚洲精品国产视频| 日韩一区二区免费高清| 国产寡妇亲子伦一区二区| 亚洲综合男人的天堂| 91精品国产免费| 成人一区二区三区视频在线观看| 亚洲欧美一区二区三区孕妇| 欧美福利视频一区| 成人永久免费视频| 午夜av电影一区| 国产欧美日韩一区二区三区在线观看| av一区二区不卡| 日日摸夜夜添夜夜添精品视频| 日韩欧美视频一区| 91网站最新网址| 久久99精品国产| 一区二区三区在线免费观看| 午夜视频久久久久久| 久久嫩草精品久久久精品| 91精彩视频在线| 狠狠色2019综合网| 一区二区三区在线影院| 欧美va天堂va视频va在线| www.成人在线| 久久精品国内一区二区三区| 中文字幕一区视频| 欧美刺激午夜性久久久久久久| 99精品一区二区| 久草精品在线观看| 亚洲国产三级在线| 欧美国产日韩亚洲一区| 538在线一区二区精品国产| 成人av动漫网站| 国产综合一区二区| 免费在线欧美视频| 一区二区三区四区在线播放|