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

📄 part_3.br

📁 The Finite Difference Time Domain Method for Electromagnetics With MATLAB Simulations Atef Elshe
💻 BR
字号:
    // Precalcute input pulse

    t[0]=dt;
    gauss[0]=0;

    for (i=1; i<N; i++) {
		t[i]=t[i-1]+dt;
		gauss[i]= exp(-( ((t[i]-t0)*(t[i]-t0))/(tau*tau)));
	}


    // Define Exterior Size
    insizex = xsize;
    insizey = ysize;

    // Initialize our C field and constant arrays

	// 1D X Arrays
	for (i=0; i<nx; i++) {
		aKex[i]=1;
		aKhx[i]=1;
		abex[i]=0;
		abhx[i]=0;
		acex[i]=0;
		achx[i]=0;
	}

	// 1D Y Arrays
	for (i=0; i<ny; i++) {
		aKey[i]=1;
		aKhy[i]=1;
		abey[i]=0;
		abhy[i]=0;
		acey[i]=0;
		achy[i]=0;
	}

	// 2D Arrays	
	for (j=0; j<ny; j++) {
		for (i=0; i<nx; i++) {
			aHy[nx*j+i]=0;
			aHx[nx*j+i]=0;
			aEz[nx*j+i]=0;
			aCs[nx*j+i]=0;
			aCeze[nx*j+i]=1.0;
			aChxh[nx*j+i]=1.0;
			aChyh[nx*j+i]=1.0;
			aCezh[nx*j+i]=(dt/eps0);
			aChxe[nx*j+i]=(dt/mu0);
			aChye[nx*j+i]=(dt/mu0);
			apsi[nx*j+i]=0;
		}
	}
	
// Set PEC Boundary 
// (Easy way, fill with PEC then fill internal with air)

	for (j=0; j<ny; j++) {
		for (i=0; i<nx; i++) {
			aCeze[nx*j+i]=(1-(ce*1e30))/(1+(ce*1e30));
			aCezh[nx*j+i]=((2*ce)/(1+(ce*1e30)));
		}
	}

	for (j=2; j<ny-2; j++) {
		for (i=2; i<nx-2; i++) {
			aCeze[nx*j+i]=1.0;
			aCezh[nx*j+i]=(dt/eps0);
		}
	}

⌨️ 快捷键说明

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