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

📄 grid1d.c

📁 利用VC++进行FDTD三维远近场变换
💻 C
字号:
#include <math.h>#include "fdtd-macro.h"#include "fdtd-alloc.h"#define NLOSS 20  // number of lossy cells at end of 1D gridvoid gridInit1d(Grid *g) {  double imp0=377.0, depthInLayer, lossFactor;  int mm;  SizeX += NLOSS;    // size of domain /*@\label{grid1dA}@*/  Type   = oneDGrid; // set grid type  /*@\label{grid1dB}@*/  ALLOC_1D(g->hy,  SizeX-1, double);  ALLOC_1D(g->chyh,SizeX-1, double);  ALLOC_1D(g->chye,SizeX-1, double);  ALLOC_1D(g->ez,  SizeX,   double);  ALLOC_1D(g->ceze,SizeX,   double);  ALLOC_1D(g->cezh,SizeX,   double);  /* set electric-field update coefficients */  for (mm=0; mm<SizeX-1; mm++) {    if (mm<SizeX-1-NLOSS) {      Ceze1(mm) = 1.0;      Cezh1(mm) = Cdtds*imp0;      Chyh1(mm) = 1.0;      Chye1(mm) = Cdtds/imp0;    } else {      depthInLayer = mm - (SizeX-1-NLOSS) + 0.5;      lossFactor = 0.35*pow(depthInLayer/NLOSS,2);      Ceze1(mm) = (1.0 - lossFactor)/(1.0 + lossFactor);      Cezh1(mm) = Cdtds*imp0/(1.0 + lossFactor);      depthInLayer += 0.5;      lossFactor = 0.35*pow(depthInLayer/NLOSS,2);      Chyh1(mm) = (1.0 - lossFactor)/(1.0 + lossFactor);      Chye1(mm) = Cdtds/imp0/(1.0 + lossFactor);    }  }  return;}

⌨️ 快捷键说明

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