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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fdtd_3d.cpp

?? fdtd 3D xyzPML MPI OpenMP
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
								  K_Bx_b[j]*( (Ey_recv_k[i][j] - Ey[i][j][k])*inv_dz -
											  (Ez[i][j+1][k] - Ez[i][j][k])*inv_dy);

					Hx[i][j][k] = K_Hx_a[k]*Hx[i][j][k] + 
								  K_Hx_b[k]*( K_Hx_c[i]*Bx[i][j][k] + 
											  K_Hx_d[i]*Bx_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		j = nlyMIN1;
		if ( nly > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (i = 0; i < nlx; i++)
			{	
				for (k = 0; k < nlzMIN1; k++)
				{
					Bx_r = Bx[i][j][k];

					Bx[i][j][k] = K_Bx_a[j]*Bx[i][j][k] + 
								  K_Bx_b[j]*( (Ey[i][j][k+1] - Ey[i][j][k])*inv_dz -
											  (Ez_recv_j[i][k] - Ez[i][j][k])*inv_dy);

					Hx[i][j][k] = K_Hx_a[k]*Hx[i][j][k] + 
								  K_Hx_b[k]*( K_Hx_c[i]*Bx[i][j][k] + 
											  K_Hx_d[i]*Bx_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		#pragma omp for schedule(dynamic,nr_threads)
		for (i = 0; i < nlx; i++)
		{	
			for (j = 0; j < nlyMIN1; j++)
			{	
				for (k = 0; k < nlzMIN1; k++)
				{
					Bx_r = Bx[i][j][k];

					Bx[i][j][k] = K_Bx_a[j]*Bx[i][j][k] + 
								  K_Bx_b[j]*( (Ey[i][j][k+1] - Ey[i][j][k])*inv_dz -
											  (Ez[i][j+1][k] - Ez[i][j][k])*inv_dy);

					Hx[i][j][k] = K_Hx_a[k]*Hx[i][j][k] + 
								  K_Hx_b[k]*( K_Hx_c[i]*Bx[i][j][k] + 
											  K_Hx_d[i]*Bx_r )/mu_r[Ind[i][j][k]];
				}
			}
		}
	}

	////////////////////////////////////////////////////////////////////
	//Point source
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 0 && pt_source_Hx == 1 && n_Coord_ptSource>0 && iter <= switch_off_time)
	{
		PtSource_J(Hx, time);
	}

	////////////////////////////////////////////////////////////////////
	//Total field scattered field formulation
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 1 && jel_TS == 1) 
	{
		//the parallelization can be done this way because in case of 
		//magnetic field there aro no overlapping elements on the interface
		#pragma omp parallel sections default(shared)
		{
			#pragma omp section
			{
				//face j0
				if (jel_TS_planes[2] == 1)
					TS_Hx_j0();
			}
			#pragma omp section
			{
				//face j1
				if (jel_TS_planes[3] == 1)
					TS_Hx_j1();
			}
			#pragma omp section
			{
				//face k0
				if (jel_TS_planes[4] == 1)
					TS_Hx_k0();
			}
			#pragma omp section
			{
				//face k1
				if (jel_TS_planes[5] == 1)
					TS_Hx_k1();
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////
//Update the Hx field components which will be send to other processes
///////////////////////////////////////////////////////////////////////////////
void CFDTD_3D::Update_Hx_send()
{
	long i, j, k;

	//update Hx_send_j
	if ( nly_Hx > 0 )
	{
		for (i = 0; i < nlx_Hx; i++)
		{
			for (k = 0; k < nlz_Hx; k++)
			{
				Hx_send_j[i][k] = Hx[i][nly_HxMIN1][k];
			}
		}
	}
	//update Hx_send_k
	if ( nlz_Hx > 0 )
	{
		for (i = 0; i < nlx_Hx; i++)
		{
			for (j = 0; j < nly_Hx; j++)
			{
				Hx_send_k[i][j] = Hx[i][j][nlz_HxMIN1];
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////////////
//Calculate the Hy field
///////////////////////////////////////////////////////////////////////////////////////
void CFDTD_3D::Calc_Hy(long  nlx, long  nly, long  nlz)
{
	long  i, j, k;
	double By_r;

	long nlxMIN1 = nlx - 1;
	long nlzMIN1 = nlz - 1;

 	#pragma omp parallel default(shared) private(i,j,k,By_r)
	{
		i = nlxMIN1;
		k = nlzMIN1;
		if ( nlx > 0 && nlz > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (j = 0; j < nly; j++)
			{	
				By_r = By[i][j][k];

				By[i][j][k] = K_By_a[k]*By[i][j][k] +
							  K_By_b[k]*( (Ez_recv_i[j][k] - Ez[i][j][k])*inv_dx -
										  (Ex_recv_k[i][j] - Ex[i][j][k])*inv_dz );
				
				Hy[i][j][k] = K_Hy_a[i]*Hy[i][j][k] + 
							  K_Hy_b[i]*( K_Hy_c[j]*By[i][j][k] + 
										  K_Hy_d[j]*By_r )/mu_r[Ind[i][j][k]];
			}
		}

		i = nlxMIN1;
		if ( nlx > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (j = 0; j < nly; j++)
			{	
				for (k = 0; k < nlzMIN1; k++)
				{
					By_r = By[i][j][k];

					By[i][j][k] = K_By_a[k]*By[i][j][k] +
								  K_By_b[k]*( (Ez_recv_i[j][k] - Ez[i][j][k])*inv_dx -
											  (Ex[i][j][k+1] - Ex[i][j][k])*inv_dz );
					
					Hy[i][j][k] = K_Hy_a[i]*Hy[i][j][k] + 
								  K_Hy_b[i]*( K_Hy_c[j]*By[i][j][k] + 
											  K_Hy_d[j]*By_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		k = nlzMIN1;
		if ( nlz > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (i = 0; i < nlxMIN1; i++)
			{	
				for (j = 0; j < nly; j++)
				{	
					By_r = By[i][j][k];

					By[i][j][k] = K_By_a[k]*By[i][j][k] +
								  K_By_b[k]*( (Ez[i+1][j][k] - Ez[i][j][k])*inv_dx -
											  (Ex_recv_k[i][j] - Ex[i][j][k])*inv_dz );
					
					Hy[i][j][k] = K_Hy_a[i]*Hy[i][j][k] + 
								  K_Hy_b[i]*( K_Hy_c[j]*By[i][j][k] + 
											  K_Hy_d[j]*By_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		#pragma omp for schedule(dynamic,nr_threads)
		for (i = 0; i < nlxMIN1; i++)
		{	
			for (j = 0; j < nly; j++)
			{	
				for (k = 0; k < nlzMIN1; k++)
				{
					By_r = By[i][j][k];

					By[i][j][k] = K_By_a[k]*By[i][j][k] +
								  K_By_b[k]*( (Ez[i+1][j][k] - Ez[i][j][k])*inv_dx -
											  (Ex[i][j][k+1] - Ex[i][j][k])*inv_dz );
					
					Hy[i][j][k] = K_Hy_a[i]*Hy[i][j][k] + 
								  K_Hy_b[i]*( K_Hy_c[j]*By[i][j][k] + 
											  K_Hy_d[j]*By_r )/mu_r[Ind[i][j][k]];
				}
			}
		}
	}

	////////////////////////////////////////////////////////////////////
	//Point source
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 0 && pt_source_Hy == 1 && n_Coord_ptSource>0 && iter <= switch_off_time)
	{
		PtSource_J(Hy, time);
	}

	////////////////////////////////////////////////////////////////////
	//Total field scattered field formulation
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 1 && jel_TS == 1) 
	{
		//the parallelization can be done this way because in case of 
		//magnetic field there aro no overlapping elements on the interface
		#pragma omp parallel sections default(shared)
		{
			#pragma omp section
			{
				//i0 face
				if(jel_TS_planes[0] == 1)
					TS_Hy_i0();
			}
			#pragma omp section
			{
				//i1 face
				if(jel_TS_planes[1] == 1)
					TS_Hy_i1();
			}
			#pragma omp section
			{
				//k0 face
				if(jel_TS_planes[4] == 1)
 					TS_Hy_k0();
			}
			#pragma omp section
			{
				//k1 face
				if(jel_TS_planes[5] == 1)
					TS_Hy_k1();
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////
//Update the Hy field components which will be send to other processes
///////////////////////////////////////////////////////////////////////////////
void CFDTD_3D::Update_Hy_send()
{
	long i, j, k;

	//update Hy_send_i
	if ( nlx_Hy > 0 )
	{
		for (j = 0; j < nly_Hy; j++)
		{
			for (k = 0; k < nlz_Hy; k++)
			{
				Hy_send_i[j][k] = Hy[nlx_HyMIN1][j][k];
			}
		}
	}
	//update Hy_send_k
	if ( nlz_Hy > 0 )
	{
		for (i = 0; i < nlx_Hy; i++)
		{
			for (j = 0; j < nly_Hy; j++)
			{
				Hy_send_k[i][j] = Hy[i][j][nlz_HyMIN1];
			}
		}
	}	
}

///////////////////////////////////////////////////////////////////////////////////////
//Calculate the Hz field
///////////////////////////////////////////////////////////////////////////////////////
void CFDTD_3D::Calc_Hz(long  nlx, long  nly, long  nlz)
{
	long  i, j, k;
	double Bz_r;
	
	long nlxMIN1 = nlx - 1;
	long nlyMIN1 = nly - 1;

	#pragma omp parallel default(shared) private(i,j,k,Bz_r)
	{
		i = nlxMIN1;
		j = nlyMIN1;
		if( nlx > 0 && nly > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (k = 0; k < nlz; k++)
			{
				Bz_r = Bz[i][j][k];

				Bz[i][j][k] = K_Bz_a[i]*Bz[i][j][k] +  
							  K_Bz_b[i]*( (Ex_recv_j[i][k] - Ex[i][j][k])*inv_dy - 
										  (Ey_recv_i[j][k] - Ey[i][j][k])*inv_dx );

				Hz[i][j][k] = K_Hz_a[j]*Hz[i][j][k] + 
							  K_Hz_b[j]*( K_Hz_c[k]*Bz[i][j][k] + 
										  K_Hz_d[k]*Bz_r )/mu_r[Ind[i][j][k]];
			}
		}

		j = nlyMIN1;
		if ( nly > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (i = 0; i < nlxMIN1; i++)
			{	
				for (k = 0; k < nlz; k++)
				{
					Bz_r = Bz[i][j][k];

					Bz[i][j][k] = K_Bz_a[i]*Bz[i][j][k] +  
								  K_Bz_b[i]*( (Ex_recv_j[i][k] - Ex[i][j][k])*inv_dy - 
											(  Ey[i+1][j][k] - Ey[i][j][k])*inv_dx );

					Hz[i][j][k] = K_Hz_a[j]*Hz[i][j][k] + 
								  K_Hz_b[j]*( K_Hz_c[k]*Bz[i][j][k] + 
											  K_Hz_d[k]*Bz_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		i = nlxMIN1;
		if ( nlx > 0 )
		{
			#pragma omp for schedule(dynamic,nr_threads) nowait
			for (j = 0; j < nlyMIN1; j++)
			{	
				for (k = 0; k < nlz; k++)
				{
					Bz_r = Bz[i][j][k];

					Bz[i][j][k] = K_Bz_a[i]*Bz[i][j][k] +  
								  K_Bz_b[i]*( (Ex[i][j+1][k] - Ex[i][j][k])*inv_dy - 
											  (Ey_recv_i[j][k] - Ey[i][j][k])*inv_dx );

					Hz[i][j][k] = K_Hz_a[j]*Hz[i][j][k] + 
								  K_Hz_b[j]*( K_Hz_c[k]*Bz[i][j][k] + 
											  K_Hz_d[k]*Bz_r )/mu_r[Ind[i][j][k]];
				}
			}
		}

		#pragma omp for schedule(dynamic,nr_threads)
		for (i = 0; i < nlxMIN1; i++)
		{	
			for (j = 0; j < nlyMIN1; j++)
			{	
				for (k = 0; k < nlz; k++)
				{
					Bz_r = Bz[i][j][k];

					Bz[i][j][k] = K_Bz_a[i]*Bz[i][j][k] +  
								  K_Bz_b[i]*( (Ex[i][j+1][k] - Ex[i][j][k])*inv_dy - 
											  (Ey[i+1][j][k] - Ey[i][j][k])*inv_dx );

					Hz[i][j][k] = K_Hz_a[j]*Hz[i][j][k] + 
								  K_Hz_b[j]*( K_Hz_c[k]*Bz[i][j][k] + 
											  K_Hz_d[k]*Bz_r )/mu_r[Ind[i][j][k]];
				}
			}
		}
	}

	////////////////////////////////////////////////////////////////////
	//Point source
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 0 && pt_source_Hz == 1 && n_Coord_ptSource > 0 && iter <= switch_off_time)
	{
		PtSource_J(Hz, time);
	}

	////////////////////////////////////////////////////////////////////
	//Total field scattered field formulation
	////////////////////////////////////////////////////////////////////
	if (jel_plane_wave == 1 && jel_TS == 1) 
	{
		//the parallelization can be done this way because in case of 
		//magnetic field there aro no overlapping elements on the interface
		#pragma omp parallel sections default(shared)
		{
			#pragma omp section
			{
				//face i0
				if(jel_TS_planes[0] == 1)
					TS_Hz_i0();
			}
			#pragma omp section
			{
				//face i1
				if(jel_TS_planes[1] == 1)
					TS_Hz_i1();
			}
			#pragma omp section
			{
				//face j0
				if(jel_TS_planes[2] == 1)
					TS_Hz_j0();
			}
			#pragma omp section
			{
				//face j1
				if(jel_TS_planes[3] == 1)
					TS_Hz_j1();
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////
//Update the Hz field components which will be send to other processes
///////////////////////////////////////////////////////////////////////////////
void CFDTD_3D::Update_Hz_send()
{
	long i, j, k;

	long nlx_HzMIN1 = nlx_Hz - 1;
	long nly_HzMIN1 = nly_Hz - 1;

	//update Hz_send_i
	if ( nlx_Hz > 0 )
	{
		for (j = 0; j < nly_Hz; j++)
		{
			for (k = 0; k < nlz_Hz; k++)
			{
				Hz_send_i[j][k] = Hz[nlx_HzMIN1][j][k];
			}
		}
	}
	//update Hz_send_j
	if ( nly_Hz > 0 )
	{
		for (i = 0; i < nlx_Hz; i++)
		{
			for (k = 0; k < nlz_Hz; k++)
			{
				Hz_send_j[i][k] = Hz[i][nly_HzMIN1][k];
			}
		}
	}
}

void CFDTD_3D::Get_SendRecv(double **&hz_recv_j, double **&hy_recv_k, 
							double **&ex_send_j, double **&ex_send_k,
							double **&hx_recv_k, double **&hz_recv_i, 
							double **&ey_send_i, double **&ey_send_k,
							double **&hy_recv_i, double **&hx_recv_j,
							double **&ez_send_i, double **&ez_send_j,
							double **&ey_recv_k, double **&ez_recv_j,
							double **&hx_send_j, double **&hx_send_k,
							double **&ez_recv_i, double **&ex_recv_k, 
							double **&hy_send_i, double **&hy_send_k,
							double **&ex_recv_j, double **&ey_recv_i, 
							double **&hz_send_i, double **&hz_send_j)
{
	//Ex
	hz_recv_j = Hz_recv_j;   hy_recv_k = Hy_recv_k; 
	ex_send_j = Ex_send_j;   ex_send_k = Ex_send_k;
	//Ey
	hx_recv_k = Hx_recv_k;   hz_recv_i = Hz_recv_i; 
	ey_send_i = Ey_send_i;   ey_send_k = Ey_send_k;
	//Ez
	hy_recv_i = Hy_recv_i;   hx_recv_j = Hx_recv_j;
	ez_send_i = Ez_send_i;   ez_send_j = Ez_s

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3751色影院一区二区三区| 9人人澡人人爽人人精品| 91精品国产入口| 日韩黄色免费电影| 欧美一卡二卡三卡| 经典三级一区二区| 中文字幕第一区二区| av网站免费线看精品| 亚洲国产精品一区二区尤物区| 欧美色图激情小说| 美国十次了思思久久精品导航| 精品99999| 波多野结衣在线一区| 一区二区国产盗摄色噜噜| 7777精品伊人久久久大香线蕉经典版下载| 丝袜亚洲另类丝袜在线| 欧美大肚乱孕交hd孕妇| 丁香婷婷综合色啪| 亚洲国产精品久久一线不卡| 日韩欧美激情一区| 成人av在线网站| 亚洲r级在线视频| 久久网站热最新地址| 99国产精品久久久久久久久久| 亚洲国产综合色| 久久久久久免费| 欧美日韩免费不卡视频一区二区三区| 看片网站欧美日韩| 亚洲特级片在线| 精品入口麻豆88视频| 9色porny自拍视频一区二区| 丝袜美腿一区二区三区| 日本一区二区免费在线观看视频| 欧美午夜电影一区| 国产精品一区二区久久不卡| 一区二区三区四区不卡视频| 精品日韩在线观看| 欧美综合视频在线观看| 高清在线成人网| 美女视频免费一区| 亚洲欧美日韩中文字幕一区二区三区| 精品三级av在线| 欧美日韩日日骚| 91在线免费播放| 在线观看免费亚洲| 国产九色精品成人porny | 欧美成人猛片aaaaaaa| 成人一级视频在线观看| 天堂影院一区二区| 一区二区三区小说| 国产欧美一区二区精品婷婷| 日韩欧美一区在线| 欧美在线观看一二区| 成人高清视频在线| 国产精品一区在线观看乱码 | 亚洲精品一区二区三区四区高清 | 樱花草国产18久久久久| 久久久久久久久久电影| 日韩午夜av一区| 欧美日韩一区二区三区四区 | 紧缚捆绑精品一区二区| 五月婷婷激情综合| 亚洲高清久久久| 亚洲精品成人天堂一二三| 欧美激情一二三区| 国产欧美综合在线| 国产欧美精品一区二区色综合 | 欧美日韩性生活| 在线看国产日韩| 日本高清不卡一区| 色又黄又爽网站www久久| 91影院在线免费观看| 97精品久久久久中文字幕| 成人一级黄色片| 成人午夜激情在线| av在线不卡免费看| 91在线视频免费观看| 色天使色偷偷av一区二区| 99久精品国产| 91香蕉视频在线| 在线中文字幕一区| 欧美三级电影网| 欧美日本免费一区二区三区| 欧美日韩欧美一区二区| 91精品久久久久久久99蜜桃| 欧美丰满美乳xxx高潮www| 91精品国产乱| 精品久久久久久久久久久久久久久| 日韩色在线观看| 久久午夜老司机| 国产精品灌醉下药二区| 亚洲精品国产品国语在线app| 亚洲女同女同女同女同女同69| 亚洲精品少妇30p| 99re热视频这里只精品| 一本色道久久综合亚洲aⅴ蜜桃| 色综合天天天天做夜夜夜夜做| 色综合咪咪久久| 777午夜精品视频在线播放| 日韩久久免费av| 中文字幕成人av| 亚洲国产欧美日韩另类综合 | 久久精品99国产国产精| 黄网站免费久久| 国产不卡高清在线观看视频| 一本大道综合伊人精品热热| 51午夜精品国产| 久久精品视频一区二区| 夜夜爽夜夜爽精品视频| 免费成人在线观看| 成人av网站在线| 91精品婷婷国产综合久久竹菊| 欧美成人video| 亚洲欧美另类小说| 蜜乳av一区二区三区| 不卡的电影网站| 欧美一区二区成人6969| 一区在线播放视频| 青青草国产成人99久久| 成人精品视频网站| 91精品国产色综合久久不卡电影| 国产婷婷色一区二区三区 | 精品久久一二三区| 自拍偷拍亚洲综合| 久热成人在线视频| 在线免费精品视频| 久久精品视频在线免费观看| 亚洲国产精品一区二区尤物区| 国产精品一区二区三区网站| 欧美日韩精品免费| 国产精品美女久久久久久| 青娱乐精品视频在线| 99精品视频中文字幕| 精品对白一区国产伦| 亚洲成人午夜影院| eeuss影院一区二区三区| 欧美刺激午夜性久久久久久久| 一区二区三区欧美日韩| 粉嫩aⅴ一区二区三区四区五区| 4438x亚洲最大成人网| 亚洲女爱视频在线| 风流少妇一区二区| 精品国产乱码久久久久久蜜臀| 亚洲五码中文字幕| 色婷婷av一区二区三区软件| 国产亚洲欧美中文| 久久国产生活片100| 欧美日韩卡一卡二| 亚洲国产aⅴ成人精品无吗| 成人黄色777网| 中文字幕av在线一区二区三区| 蜜桃av一区二区三区电影| 欧美久久久久中文字幕| 亚洲一区二区三区不卡国产欧美| www.在线成人| 国产精品久久久久久久久免费桃花| 激情综合色播激情啊| 日韩欧美一二三| 成人一道本在线| 国产精品沙发午睡系列990531| 国模娜娜一区二区三区| 精品国产乱码久久久久久久久 | 91亚洲资源网| 国产精品每日更新在线播放网址| 国产精品羞羞答答xxdd| 国产日韩欧美激情| 国产福利一区二区三区在线视频| 欧美大片一区二区三区| 激情小说欧美图片| 久久久久久一级片| 国产成a人亚洲精| 欧美激情在线一区二区三区| 国产不卡视频在线观看| 国产精品亲子乱子伦xxxx裸| 成人精品免费看| 亚洲视频一区二区在线| 91免费视频大全| 亚洲一区二区三区四区五区黄 | 成人精品一区二区三区四区| 国产精品免费久久久久| 色综合久久综合中文综合网| 亚洲乱码国产乱码精品精98午夜 | 日韩三级精品电影久久久| 麻豆91在线播放| 久久亚洲精精品中文字幕早川悠里| 国产精品夜夜爽| 中文字幕一区二区三中文字幕| 97aⅴ精品视频一二三区| 亚洲影院理伦片| 欧美videos大乳护士334| 国产精品18久久久久久久久| 亚洲视频一区二区在线观看| 欧美日韩国产一区二区三区地区| 免费成人在线网站| 国产精品免费av| 欧美精品乱人伦久久久久久| 久久99精品久久只有精品| 国产精品高潮呻吟久久| 在线播放欧美女士性生活| 国产老肥熟一区二区三区|