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

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

?? componentupdate.c

?? a full 3D simulation of electromagnetic waves with efficient absorbing boundary a full 3D simulation
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* Copyright notice:   radarFDTD - A free 3D-FDTD simulation for EM-waves with GPML-ABCs ;-)   Copyright (C) 2000 Carsten Aulbert   (    I used the following program as a 'manual', so in my opinion this needs to be quoted:   ToyFDTD, version 1.02    The if-I-can-do-it-you-can-do-it FDTD!    Copyright (C) 1998,1999 Laurie E. Miller, Paul Hayes, Matthew O'Keefe    )    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*//* all inner updates come here *//* Update the hx values: */void UpdateInnerHx(void){  int i,j,k;  PRECISION nextY, nextZ; /* the upper neighbour-values in y and z direction */    for(i=0; i<(nx); i++)     for(j=0; j<(ny); j++)      for(k=0; k<(nz); k++)	{	 	  if (j < ny-1)	    nextY = ez[i][j+1][k];	  else	    nextY = pmlEZXTopXZ[i][0][k] + pmlEZYTopXZ[i][0][k];	  	  if (k < nz-1)	    nextZ = ey[i][j][k+1];	  else	    nextZ = pmlEYXTopXY[i][j+pmlWidth][0] + pmlEYZTopXY[i][j+pmlWidth][0];	  hx[i][j][k] = hx[i][j][k] + (materialConstants[material[i][j][k]][DTMUDZ]*(nextZ - ey[i][j][k]) - materialConstants[material[i][j][k]][DTMUDY]*(nextY - ez[i][j][k]));	}} /* Update the hy values: */void UpdateInnerHy(void){  int i,j,k;  PRECISION nextX, nextZ; /*  the upper neighbour-values in y and z direction */  for(i=0; i<(nx); i++)    for(j=0; j<(ny); j++)      for(k=0; k<(nz); k++)	{	  if (i < nx-1)	    nextX = ez[i+1][j][k];	  else	    nextX = pmlEZXTopYZ[0][j+pmlWidth][k+pmlWidth] + pmlEZYTopYZ[0][j+pmlWidth][k+pmlWidth];	  	  if (k < nz-1)	    nextZ = ex[i][j][k+1];	  else	    nextZ = pmlEXYTopXY[i][j+pmlWidth][0] + pmlEXZTopXY[i][j+pmlWidth][0];	  	  hy[i][j][k] = hy[i][j][k] + (materialConstants[material[i][j][k]][DTMUDX]*(nextX - ez[i][j][k]) - materialConstants[material[i][j][k]][DTMUDZ]*(nextZ - ex[i][j][k]));	}}/* Update the hz values: */void UpdateInnerHz(void){  int i,j,k;  PRECISION nextX, nextY;    for(i=0; i<(nx); i++)    for(j=0; j<(ny); j++)      for(k=0; k<(nz); k++)	{	  if (i < nx-1)	    nextX = ey[i+1][j][k];	  else	    nextX = pmlEYXTopYZ[0][j+pmlWidth][k+pmlWidth] +  pmlEYZTopYZ[0][j+pmlWidth][k+pmlWidth];	  	  if (j < ny-1)	    nextY = ex[i][j+1][k];	  else	    nextY = pmlEXYTopXZ[i][0][k] + pmlEXZTopXZ[i][0][k];	  	  hz[i][j][k] = hz[i][j][k] + (materialConstants[material[i][j][k]][DTMUDY]*(nextY - ex[i][j][k]) - materialConstants[material[i][j][k]][DTMUDX]*(nextX - ey[i][j][k]));	}}/* Update the ex values: */void UpdateInnerEx(void){  int i,j,k;  PRECISION lowerY, lowerZ;    for(i=0; i<(nx); i++)    for(j=0; j<(ny); j++)       for(k=0; k<(nz); k++) 	{	  if (j > 0)	    lowerY = hz[i][j-1][k];	  else	    lowerY = pmlHZXBottomXZ[i][pmlWidth-1][k] + pmlHZYBottomXZ[i][pmlWidth-1][k];	  	  if (k > 0)	    lowerZ = hy[i][j][k-1];	  else	    lowerZ = pmlHYXBottomXY[i][j+pmlWidth][pmlWidth-1] + pmlHYZBottomXY[i][j+pmlWidth][pmlWidth-1];	  	  switch(material[i][j][k])	    {	    case 0: 	      ex[i][j][k] = ex[i][j][k] + materialConstants[0][DTEPSDY] * (hz[i][j][k] - lowerY) - materialConstants[0][DTEPSDZ] * (hy[i][j][k] - lowerZ);	      break;	    case 1:	      ex[i][j][k] = 0;	      break;	    default:	      ex[i][j][k] = materialConstants[material[i][j][k]][DTSIGEPS]*ex[i][j][k] + materialConstants[material[i][j][k]][DTEPSDY]*(hz[i][j][k] - lowerY) - materialConstants[material[i][j][k]][DTEPSDZ]*(hy[i][j][k] - lowerZ);	    }	}}/* Update the ey values: */  void UpdateInnerEy(void){  int i,j,k;  PRECISION lowerX, lowerZ;    for(i=0; i<(nx); i++)     for(j=0; j<(ny); j++)      for(k=0; k<(nz); k++) 	{	  if (i > 0)	    lowerX = hz[i-1][j][k];	  else	    lowerX = pmlHZXBottomYZ[pmlWidth-1][j+pmlWidth][k+pmlWidth] + pmlHZYBottomYZ[pmlWidth-1][j+pmlWidth][k+pmlWidth];	  	  if (k > 0)	    lowerZ = hx[i][j][k-1]; 	  else	    lowerZ = pmlHXYBottomXY[i][j+pmlWidth][pmlWidth-1] +  pmlHXZBottomXY[i][j+pmlWidth][pmlWidth-1];	  	  switch(material[i][j][k])	    {	    case 0: 	      ey[i][j][k] = ey[i][j][k] + materialConstants[0][DTEPSDZ] * (hx[i][j][k] - lowerZ) - materialConstants[0][DTEPSDX] * (hz[i][j][k] - lowerX);	      break;	    case 1:	      ey[i][j][k] = 0;	      break;	    default:	      ey[i][j][k] = materialConstants[material[i][j][k]][DTSIGEPS]*ey[i][j][k] + materialConstants[material[i][j][k]][DTEPSDZ]*(hx[i][j][k] - lowerZ) - materialConstants[material[i][j][k]][DTEPSDX]*(hz[i][j][k] - lowerX);	    }	}} /* Update the ez values: */void UpdateInnerEz(void){  int i,j,k;  PRECISION lowerX, lowerY;  for(i=0; i<(nx); i++)     for(j=0; j<(ny); j++)      for(k=0; k<(nz); k++)	{	  if (i > 0)	    lowerX = hy[i-1][j][k];	  else	    lowerX = pmlHYXBottomYZ[pmlWidth-1][j+pmlWidth][k+pmlWidth] + pmlHYZBottomYZ[pmlWidth-1][j+pmlWidth][k+pmlWidth];	  	  if (j > 0)	    lowerY = hx[i][j-1][k];	  else	    lowerY = pmlHXYBottomXZ[i][pmlWidth-1][k] + pmlHXZBottomXZ[i][pmlWidth-1][k];	  switch(material[i][j][k])	    {	    case 0: 	      ez[i][j][k] = ez[i][j][k] + materialConstants[0][DTEPSDX] * (hy[i][j][k] - lowerX) - materialConstants[0][DTEPSDY] * (hx[i][j][k] - lowerY);	      break;	    case 1:	      ez[i][j][k] = 0;	      break;	    default:	      ez[i][j][k] = materialConstants[material[i][j][k]][DTSIGEPS]*ez[i][j][k] + materialConstants[material[i][j][k]][DTEPSDX]*(hy[i][j][k] - lowerX) - materialConstants[material[i][j][k]][DTEPSDY]*(hx[i][j][k] - lowerY);	    }	}}/* THIS IS THE PML SECTION */void UpdatePMLHx(void){  int i,j,k;  PRECISION mudt = MU_0 / dt;  PRECISION topY1, topY2, topZ1, topZ2; /* components which may be in different memory blocks than the one worked on */  PRECISION commonFactor;    /* speed up variables */  int ny_plus_2pmlWidth = ny + 2*pmlWidth;  int nz_plus_2pmlWidth = nz + 2*pmlWidth;  int ny_plus_pmlWidth  = ny + pmlWidth;  int pmlWidth_minus_1  = pmlWidth-1;  int nz_minus_1        = nz-1;    /* start with the YZ planes */  /* there are no problems at any boundary ! */  for(i=0; i<pmlWidth; i++)    for(j=0; j<ny_plus_2pmlWidth; j++)      for(k=0; k<nz_plus_2pmlWidth; k++)	{ /* bottom */	    	    commonFactor =  mudt + 0.5 * pmlSigmaYStarBottomYZ[i][j][k];	    pmlHXYBottomYZ[i][j][k] = pmlHXYBottomYZ[i][j][k] * 	       (mudt - 0.5 * pmlSigmaYStarBottomYZ[i][j][k]) / commonFactor -	      (pmlEZXBottomYZ[i][j+1][k] - pmlEZXBottomYZ[i][j][k] + 	       pmlEZYBottomYZ[i][j+1][k] - pmlEZYBottomYZ[i][j][k]) / 	      (dy * pmlSYBottomYZ[i][j][k] * commonFactor);	    	    commonFactor = mudt + 0.5 * pmlSigmaZStarBottomYZ[i][j][k];	    pmlHXZBottomYZ[i][j][k] = pmlHXZBottomYZ[i][j][k] * 	       (mudt - 0.5 * pmlSigmaZStarBottomYZ[i][j][k]) / commonFactor +	      (pmlEYZBottomYZ[i][j][k+1] - pmlEYZBottomYZ[i][j][k] + 	       pmlEYXBottomYZ[i][j][k+1] - pmlEYXBottomYZ[i][j][k]) /	      (dz * pmlSZBottomYZ[i][j][k] * commonFactor);	}  /* top, there are no problems at any boundary */  for(i=0; i<pmlWidth; i++)    for(j=0; j<ny_plus_2pmlWidth; j++)      for(k=0; k<nz_plus_2pmlWidth; k++)	{	    commonFactor =  mudt + 0.5 * pmlSigmaYStarBottomYZ[i][j][k];	    pmlHXYTopYZ[i][j][k] = pmlHXYTopYZ[i][j][k] * 	       (mudt - 0.5 * pmlSigmaYStarTopYZ[i][j][k]) / commonFactor -	      (pmlEZXTopYZ[i][j+1][k] - pmlEZXTopYZ[i][j][k] + 	       pmlEZYTopYZ[i][j+1][k] - pmlEZYTopYZ[i][j][k]) / 	      (dy * pmlSYTopYZ[i][j][k] * commonFactor);	    	    commonFactor = mudt + 0.5 * pmlSigmaZStarTopYZ[i][j][k];	    pmlHXZTopYZ[i][j][k] = pmlHXZTopYZ[i][j][k] * 	       (mudt - 0.5 * pmlSigmaZStarTopYZ[i][j][k]) / commonFactor +	      (pmlEYZTopYZ[i][j][k+1] - pmlEYZTopYZ[i][j][k] + 	       pmlEYXTopYZ[i][j][k+1] - pmlEYXTopYZ[i][j][k]) /	      (dz * pmlSZTopYZ[i][j][k] * commonFactor);	}  /* now the XY planes */  for(i=0; i<nx; i++)    for(j=0; j<ny_plus_2pmlWidth; j++)      for(k=0; k<pmlWidth; k++)	{ /* bottom */	  /* there are three boundary-problems:	     0           <= y < pmlWidth:     XZ - plane (bottom)	     pmlWidth    <= y < pmlWidth+ny:  SimSpace	     pmlWidth+ny <= y:                XZ - plane (top)	  */	  if (k < pmlWidth_minus_1)	    {	      topZ1 = pmlEYZBottomXY[i][j][k+1];	      topZ2 = pmlEYXBottomXY[i][j][k+1];	    }	  else	    {	      if (j < pmlWidth)		{		  topZ1 = pmlEYZBottomXZ[i][j][0];		  topZ2 = pmlEYXBottomXZ[i][j][0];		}	      else if (j < ny_plus_pmlWidth)		{		  topZ1 = ey[i][j-pmlWidth][0];		  topZ2 = 0.0;		}	      else		{		  topZ1 = pmlEYZTopXZ[i][j-ny_plus_pmlWidth][0];		  topZ2 = pmlEYXTopXZ[i][j-ny_plus_pmlWidth][0];		}	    }	  commonFactor =  mudt + 0.5 * pmlSigmaYStarBottomXY[i][j][k];	  pmlHXYBottomXY[i][j][k] = pmlHXYBottomXY[i][j][k] * 	    (mudt - 0.5 * pmlSigmaYStarBottomXY[i][j][k]) / commonFactor -	    (pmlEZXBottomXY[i][j+1][k] - pmlEZXBottomXY[i][j][k] + 	     pmlEZYBottomXY[i][j+1][k] - pmlEZYBottomXY[i][j][k]) / 	    (dy * pmlSYBottomXY[i][j][k] * commonFactor);	  	  commonFactor = mudt + 0.5 * pmlSigmaZStarBottomXY[i][j][k];	  pmlHXZBottomXY[i][j][k] = pmlHXZBottomXY[i][j][k] * 	    (mudt - 0.5 * pmlSigmaZStarBottomXY[i][j][k]) / commonFactor +	    (topZ1 - pmlEYZBottomXY[i][j][k] + 	     topZ2 - pmlEYXBottomXY[i][j][k]) /	    (dz * pmlSZBottomXY[i][j][k] * commonFactor);	  	}    for(i=0; i<nx; i++)    for(j=0; j<ny_plus_2pmlWidth; j++)      for(k=0; k<pmlWidth; k++)	{ 	  /* top */	  /* there are no problems at this boundary */	  commonFactor =  mudt + 0.5 * pmlSigmaYStarTopXY[i][j][k];	  pmlHXYTopXY[i][j][k] = pmlHXYTopXY[i][j][k] * 	    (mudt - 0.5 * pmlSigmaYStarTopXY[i][j][k]) / commonFactor -	    (pmlEZXTopXY[i][j+1][k] - pmlEZXTopXY[i][j][k] + 	     pmlEZYTopXY[i][j+1][k] - pmlEZYTopXY[i][j][k]) / 	    (dy * pmlSYTopXY[i][j][k] * commonFactor);	  	  commonFactor = mudt + 0.5 * pmlSigmaZStarTopXY[i][j][k];	  pmlHXZTopXY[i][j][k] = pmlHXZTopXY[i][j][k] * 	    (mudt - 0.5 * pmlSigmaZStarTopXY[i][j][k]) / commonFactor +	    (pmlEYZTopXY[i][j][k+1] - pmlEYZTopXY[i][j][k] + 	     pmlEYXTopXY[i][j][k+1] - pmlEYXTopXY[i][j][k]) /	    (dz * pmlSZTopXY[i][j][k] * commonFactor);	  	}     /* and finally the XZ planes */  for(i=0; i<nx; i++)    for(j=0; j<pmlWidth; j++)      for(k=0; k<nz; k++)	{ /* bottom */	  /* there are boundaries at:	     j = pmlWidth-1 for all i,k      SimSpace is neighbour	     k = ny_plus_pmlWidth-1 for all i,j   TopXY is neighbour 	  */	  if (j < pmlWidth_minus_1)	    {	  	topY1 = pmlEZXBottomXZ[i][j+1][k];		topY2 = pmlEZYBottomXZ[i][j+1][k];	    }	  else	    {	      topY1 = ez[i][0][k];	      topY2 = 0.0;	    }	  	  if (k < nz_minus_1)	    {	      topZ1 = pmlEYZBottomXZ[i][j][k+1];	      topZ2 = pmlEYXBottomXZ[i][j][k+1];	    }	  else	    {	      topZ1 = pmlEYZTopXY[i][j][0];	      topZ2 = pmlEYXTopXY[i][j][0];	    }	  	  commonFactor =  mudt + 0.5 * pmlSigmaYStarBottomXZ[i][j][k];	  pmlHXYBottomXZ[i][j][k] = pmlHXYBottomXZ[i][j][k] * 	    (mudt - 0.5 * pmlSigmaYStarBottomXZ[i][j][k]) / commonFactor -	    (topY1 - pmlEZXBottomXZ[i][j][k] + 	     topY2 - pmlEZYBottomXZ[i][j][k]) / 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人123区| 精品理论电影在线| 三级不卡在线观看| 中文成人av在线| 国产三级一区二区三区| 精品噜噜噜噜久久久久久久久试看 | 欧美亚洲国产一区在线观看网站| 成人亚洲精品久久久久软件| 国产成人午夜99999| 国产高清成人在线| 97成人超碰视| 欧美性生活大片视频| 3751色影院一区二区三区| 91精品国产欧美一区二区成人 | 精品人在线二区三区| 欧美成人bangbros| 国产婷婷色一区二区三区在线| 日本一区二区视频在线观看| 自拍视频在线观看一区二区| 亚洲自拍偷拍麻豆| 日韩中文字幕1| 国产精品亚洲第一| 97成人超碰视| 日韩午夜三级在线| 国产精品色婷婷久久58| 亚洲精品高清视频在线观看| 日韩二区三区在线观看| 国产精品99久久久久| 欧洲一区二区三区在线| 欧美哺乳videos| 国产精品久久久久四虎| 丝袜亚洲另类欧美| 成人久久18免费网站麻豆 | 久久精品国产精品青草| 国产成人精品1024| 欧美精品自拍偷拍| 国产女人18毛片水真多成人如厕 | 成人欧美一区二区三区视频网页| 亚洲午夜在线观看视频在线| 国产露脸91国语对白| 一本色道综合亚洲| 久久一二三国产| 亚洲午夜一区二区| 丁香激情综合国产| 欧美一区二区大片| 亚洲免费在线观看视频| 国产精品一区二区你懂的| 欧美日韩中文字幕一区| 国产欧美精品在线观看| 日本不卡高清视频| 欧美专区日韩专区| 国产精品视频一二三| 麻豆精品视频在线观看| 欧美视频自拍偷拍| 最新欧美精品一区二区三区| 精品亚洲成a人| 欧美一区二区高清| 首页国产丝袜综合| 欧美在线短视频| 亚洲男人天堂av网| 成人av中文字幕| 中文字幕巨乱亚洲| 国产suv精品一区二区三区| 日韩写真欧美这视频| 午夜一区二区三区在线观看| 91论坛在线播放| 综合欧美一区二区三区| 粉嫩高潮美女一区二区三区| 国产亚洲精品精华液| 久久99国产精品尤物| 日韩欧美一级精品久久| 全国精品久久少妇| 91精品国产综合久久久蜜臀粉嫩| 午夜精品久久久久久久久久| 91成人免费网站| 亚洲综合久久av| 欧美在线视频你懂得| 亚洲午夜激情网页| 欧美色视频在线| 视频在线观看国产精品| 777xxx欧美| 久久精品免费观看| 久久久蜜桃精品| a在线播放不卡| 亚洲视频网在线直播| 欧美亚洲动漫精品| 婷婷综合久久一区二区三区| 91精品国产综合久久精品 | 成人欧美一区二区三区在线播放| 老司机免费视频一区二区三区| 91精品啪在线观看国产60岁| 日本成人在线网站| 欧美精品一区二区三区一线天视频| 九一九一国产精品| 日本一区二区视频在线观看| 成人aaaa免费全部观看| 一区二区在线观看免费视频播放| 欧美三级日韩在线| 久久国产欧美日韩精品| 久久这里都是精品| 97精品久久久久中文字幕| 亚洲第一狼人社区| 久久综合九色综合欧美98| 99r国产精品| 香蕉久久夜色精品国产使用方法| 日韩亚洲欧美高清| 本田岬高潮一区二区三区| 亚洲一区国产视频| 久久综合色婷婷| 91精品国产综合久久精品| 一区二区理论电影在线观看| 欧美人狂配大交3d怪物一区| 国产精品一区二区久久不卡| 亚洲精品乱码久久久久久久久| 欧美一区二区三区电影| a4yy欧美一区二区三区| 日韩中文字幕亚洲一区二区va在线| 国产午夜亚洲精品不卡| 91久久线看在观草草青青| 狠狠网亚洲精品| 亚洲国产一区二区三区| 国产精品视频九色porn| 日韩一区二区三区免费看 | 一区二区三区精品久久久| 欧美一区二区在线免费播放 | 亚洲欧美成人一区二区三区| 久久久国产午夜精品| 亚洲激情图片一区| 精品国精品自拍自在线| 色综合网站在线| 国产又粗又猛又爽又黄91精品| 亚洲资源在线观看| 国产精品欧美综合在线| 欧美变态tickle挠乳网站| 欧美日韩一区二区三区在线看| 成人av在线资源| 国产成人免费在线观看不卡| 日本aⅴ亚洲精品中文乱码| 艳妇臀荡乳欲伦亚洲一区| 国产日本欧美一区二区| 精品动漫一区二区三区在线观看| 欧美日韩国产在线观看| 欧美亚洲动漫精品| 欧美自拍偷拍一区| 色哟哟日韩精品| 99久久精品国产观看| 国产一二精品视频| 国产真实乱子伦精品视频| 麻豆国产精品一区二区三区| 五月婷婷激情综合| 午夜精品国产更新| 污片在线观看一区二区| 丝瓜av网站精品一区二区| 国产成人高清在线| 欧美日韩国产片| 欧美性大战久久久| 一本到三区不卡视频| 色94色欧美sute亚洲13| 91福利视频久久久久| 91在线播放网址| 日本精品视频一区二区| 欧美在线播放高清精品| 欧美日韩成人综合| 欧美不卡在线视频| 国产亚洲欧美日韩在线一区| 亚洲国产高清不卡| ...中文天堂在线一区| 亚洲精品视频在线观看免费| 亚洲一二三四区| 奇米精品一区二区三区四区| 韩国av一区二区| 99久久国产综合色|国产精品| 色综合久久久网| 欧美精品自拍偷拍动漫精品| 亚洲精品在线观看视频| 国产精品久久久久四虎| 夜夜爽夜夜爽精品视频| 日韩精品欧美精品| 丁香激情综合国产| 亚洲天堂中文字幕| 自拍偷拍欧美激情| 亚洲免费观看在线观看| 亚洲一区二区三区免费视频| 午夜精品免费在线观看| 国产一区二区久久| 日本电影欧美片| 日韩欧美国产三级| 亚洲男女毛片无遮挡| 麻豆国产一区二区| 一本高清dvd不卡在线观看| 精品乱码亚洲一区二区不卡| 亚洲视频在线观看三级| 日本不卡免费在线视频| 99免费精品在线| 欧美va在线播放| 一区av在线播放| 国产精品白丝av| 欧美女孩性生活视频| 国产精品电影一区二区三区| 男人的j进女人的j一区|