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

📄 fdmenu.c

📁 matlab编写的三维FDTD程序 pml边界条件 实现电磁波传播数值模拟和仿真
💻 C
📖 第 1 页 / 共 3 页
字号:
	printf("6 = SHORT COAX REL. PERMITTIVITY          :                  %f\n",fd1.coaxerr);      
	printf("7 = SHORT COAX CONDUCTIVITY               :                  %f\n",fd1.coaxsr); 
        printf("8 = PROBE OR SPOT RECORDING DEPTH RELATIVE TO INTERFACE:     %f\n",fd1.prdepth);             
	printf("z = EXIT MENU                         \n");      
	scanf(" %c",&ch);
        switch(ch) {
           case '1':
	      printf("ENTER POINT DIPOLE ACTIVATION FLAG (0=DEACTIVATED,1=ACTIVATE): ");
	      scanf("%d",&fd1.pdflag);
	   break;
	   case '2':
	      printf("ENTER RELATIVE MAGNETIC PERMEABILITY OF TRANSMIT COAX CABLE: ");
	      scanf("%f",&fd1.coaxurt);
           break;
	   case '3':
	      printf("ENTER RELATIVE PERMITTIVITY OF TRANSMIT COAX CABLE: ");
	      scanf("%f",&fd1.coaxert);
           break;
	   case '4':
	      printf("ENTER CONDUCTIVITY OF TRANSMIT COAX CABLE (S/m): ");
	      scanf("%f",&fd1.coaxst);
           break;
	   case '5':
	      printf("ENTER RELATIVE MAGNETIC PERMEABILITY OF RECEIVE COAX CABLE: ");
	      scanf("%f",&fd1.coaxurr);
           break;
	   case '6':
	      printf("ENTER RELATIVE PERMITTIVITY OF RECEIVE COAX CABLE: ");
	      scanf("%f",&fd1.coaxerr);
           break;
	   case '7':
	      printf("ENTER CONDUCTIVITY OF RECEIVE CABLE (S/m): ");
	      scanf("%f",&fd1.coaxsr);
           break;
	   case '8':
	      printf("ENTER PROBE DEPTH RELATIVE TO THE INTERFACE (m): ");
	      scanf("%f",&fd1.prdepth);
           break;
	   case 'z':
           xflag=1;
           break;
       } 
       if(xflag==1) break;      
 }
}
void inasc() 
{  
if ((fasc=fopen("fdmenasc.par","r")) == NULL) {
  printf("GENERATING NEW PARAMETER DATASET\n");
        fd1.filout[0]='a'; fd1.filout[1]='1'; fd1.centfreq=0.0; fd1.amp=0.0;
	fd1.perm=0.0; fd1.cond=0.0; fd1.dist=0.0; fd1.size=0.0; 
	fd1.dx=fd1.dy=fd1.dz=0.02; fd1.dt=0.03125; fd1.modsiz=500.; fd1.pol='y';
	fd1.timnum=1200; fd1.xmax=2.565; fd1.ymax=2.565; fd1.zmax=2.565; fd1.bounswi=3;
	fd1.tlength=3.25; fd1.tcval=4.5; fd1.moddim=0; fd1.indat=0; fd1.infile[0]='n';
        fd1.infile[1]='o'; fd1.infile[2]='n'; fd1.infile[3]='e'; fd1.obj=0;
	fd1.rad=0.041; fd1.xpos=1.285; fd1.ypos=1.285; fd1.zpos=0.545; fd1.xcen=1.285;
 	fd1.ycen=1.285; fd1.xlen=0.481; fd1.xang=60.0; fd1.xrcen=1.685; fd1.yrcen=1.285;
 	fd1.xrlen=0.481; fd1.xrang=60.0; fd1.anthei=0.059; fd1.zinter=0.865;
	fd1.zcond=0.005; fd1.zperm=5.5; fd1.antpat=0; 
	fd1.fullEx=fd1.fullEy=fd1.fullEz=fd1.fullHx=fd1.fullHy=fd1.fullHz=fd1.HzEz=fd1.ExEy=0;
	fd1.HxHy=0; fd1.xlin=fd1.ylin=0.0; fd1.timpro=8; fd1.timx=1.285; fd1.timy=1.285;
	fd1.dump=0; fd1.dumpfile[0]='n'; fd1.dumpfile[1]='a'; fd1.dumptime=0;
 	fd1.filauto[0]='n'; fd1.filauto[1]='o'; fd1.zinc=0.0; fd1.xinc=0.02; fd1.yinc=0.2;
 	fd1.numsteps=1; fd1.anttype=2; fd1.sheet=0; fd1.objlen=2.0; fd1.shtydim=0.80;
	fd1.shtxdim=0.80; fd1.shtthk=0.005; fd1.shtcond=0.0; fd1.shtperm=2.0;
	fd1.shthei=0.041; fd1.patact=0; fd1.patrad=0.5; fd1.patphi=0.0; fd1.cylphi=90.;
	fd1.cyldip=0.; fd1.perconflg=1; fd1.targperm=1.; fd1.targcond=0.0; fd1.zur=1.0;
	fd1.tmproflg=0; fd1.absfreq=125; fd1.pdflag=0; fd1.attcoax=0; fd1.coaxurt=1.13;
	fd1.coaxst=0.0; fd1.coaxert=1.; fd1.coaxurr=1.13; fd1.coaxsr=0.0; fd1.coaxerr=1.;
	fd1.prdepth=0.50; fd1.pvala=-0.055; fd1.pvalb=0.245; fd1.pvalc=0.485;
	fd1.delaya=0.0; fd1.delayb=0.0; fd1.delayc=0.0;
   }
   else {
      fscanf(fasc,"%s\n",fd1.filout);
      fscanf(fasc,"%f\n",&fd1.centfreq);
      fscanf(fasc,"%f\n",&fd1.amp);
      fscanf(fasc,"%f\n",&fd1.perm);
      fscanf(fasc,"%f\n",&fd1.cond);
      fscanf(fasc,"%f\n",&fd1.dist);
      fscanf(fasc,"%f\n",&fd1.size);
      fscanf(fasc,"%f\n",&fd1.dx);
      fscanf(fasc,"%f\n",&fd1.dy);
      fscanf(fasc,"%f\n",&fd1.dz);
      fscanf(fasc,"%f\n",&fd1.dt);
      fscanf(fasc,"%f\n",&fd1.modsiz);
      fscanf(fasc,"%c\n",&fd1.pol);
      fscanf(fasc,"%d\n",&fd1.timnum);
      fscanf(fasc,"%f\n",&fd1.xmax);
      fscanf(fasc,"%f\n",&fd1.ymax);
      fscanf(fasc,"%f\n",&fd1.zmax);
      fscanf(fasc,"%d\n",&fd1.bounswi); 
      fscanf(fasc,"%f\n",&fd1.tlength);
      fscanf(fasc,"%f\n",&fd1.tcval);
      fscanf(fasc,"%f\n",&fd1.moddim);
      fscanf(fasc,"%f\n",&fd1.indat);
      fscanf(fasc,"%s\n",&fd1.infile);
      fscanf(fasc,"%d\n",&fd1.obj);
      fscanf(fasc,"%f\n",&fd1.rad);
      fscanf(fasc,"%f\n",&fd1.xpos);
      fscanf(fasc,"%f\n",&fd1.ypos);
      fscanf(fasc,"%f\n",&fd1.zpos);
      fscanf(fasc,"%f\n",&fd1.xcen);
      fscanf(fasc,"%f\n",&fd1.ycen);
      fscanf(fasc,"%f\n",&fd1.xlen);
      fscanf(fasc,"%f\n",&fd1.xang);
      fscanf(fasc,"%f\n",&fd1.xrcen);
      fscanf(fasc,"%f\n",&fd1.yrcen);
      fscanf(fasc,"%f\n",&fd1.xrlen);
      fscanf(fasc,"%f\n",&fd1.xrang);
      fscanf(fasc,"%f\n",&fd1.anthei);
      fscanf(fasc,"%f\n",&fd1.zinter);
      fscanf(fasc,"%f\n",&fd1.zcond);
      fscanf(fasc,"%f\n",&fd1.zperm);
      fscanf(fasc,"%d\n",&fd1.antpat);
      fscanf(fasc,"%d\n",&fd1.fullEx);
      fscanf(fasc,"%d\n",&fd1.fullEy);
      fscanf(fasc,"%d\n",&fd1.fullEz);
      fscanf(fasc,"%d\n",&fd1.fullHx);
      fscanf(fasc,"%d\n",&fd1.fullHy);
      fscanf(fasc,"%d\n",&fd1.fullHz);
      fscanf(fasc,"%d\n",&fd1.HzEz);
      fscanf(fasc,"%d\n",&fd1.ExEy);
      fscanf(fasc,"%d\n",&fd1.HxHy);
      fscanf(fasc,"%f\n",&fd1.xlin);
      fscanf(fasc,"%f\n",&fd1.ylin);
      fscanf(fasc,"%d\n",&fd1.timpro);
      fscanf(fasc,"%f\n",&fd1.timx);
      fscanf(fasc,"%f\n",&fd1.timy);
      fscanf(fasc,"%d\n",&fd1.dump);
      fscanf(fasc,"%s\n",fd1.dumpfile);
      fscanf(fasc,"%d\n",&fd1.dumptime);
      fscanf(fasc,"%s\n",fd1.filauto);
      fscanf(fasc,"%f\n",&fd1.zinc);
      fscanf(fasc,"%f\n",&fd1.xinc);
      fscanf(fasc,"%f\n",&fd1.yinc);
      fscanf(fasc,"%d\n",&fd1.numsteps);
      fscanf(fasc,"%d\n",&fd1.anttype);
      fscanf(fasc,"%d\n",&fd1.sheet);
      fscanf(fasc,"%f\n",&fd1.objlen);
      fscanf(fasc,"%f\n",&fd1.shtydim);
      fscanf(fasc,"%f\n",&fd1.shtxdim);
      fscanf(fasc,"%f\n",&fd1.shtthk);
      fscanf(fasc,"%f\n",&fd1.shtcond);
      fscanf(fasc,"%f\n",&fd1.shtperm);
      fscanf(fasc,"%f\n",&fd1.shthei);
      fscanf(fasc,"%d\n",&fd1.patact);
      fscanf(fasc,"%f\n",&fd1.patrad);
      fscanf(fasc,"%f\n",&fd1.patphi);
      fscanf(fasc,"%f\n",&fd1.cylphi);
      fscanf(fasc,"%f\n",&fd1.cyldip);
      fscanf(fasc,"%d\n",&fd1.perconflg);
      fscanf(fasc,"%f\n",&fd1.targperm);
      fscanf(fasc,"%f\n",&fd1.targcond);
      fscanf(fasc,"%f\n",&fd1.zur);
      fscanf(fasc,"%d\n",&fd1.tmproflg);
      fscanf(fasc,"%d\n",&fd1.absfreq);
      fscanf(fasc,"%d\n",&fd1.pdflag);
      fscanf(fasc,"%d\n",&fd1.attcoax);
      fscanf(fasc,"%f\n",&fd1.coaxurt);
      fscanf(fasc,"%f\n",&fd1.coaxst);
      fscanf(fasc,"%f\n",&fd1.coaxert);
      fscanf(fasc,"%f\n",&fd1.coaxurr);
      fscanf(fasc,"%f\n",&fd1.coaxsr);
      fscanf(fasc,"%f\n",&fd1.coaxerr);
      fscanf(fasc,"%f\n",&fd1.prdepth);
      fscanf(fasc,"%f\n",&fd1.pvala);
      fscanf(fasc,"%f\n",&fd1.pvalb);
      fscanf(fasc,"%f\n",&fd1.pvalc);
      fscanf(fasc,"%f\n",&fd1.delaya);
      fscanf(fasc,"%f\n",&fd1.delayb);
      fscanf(fasc,"%f\n",&fd1.delayc);
  }
  fclose(fasc);
}
      
void outasc()
{ 
  if ((fasc=fopen("fdmenasc.par","w")) == NULL) {
    printf("PROBLEM OPENING fdmenasc.par FOR WRITING\n");
  }
else {
      fprintf(fasc,"%s\n",fd1.filout);
      fprintf(fasc,"%f\n",fd1.centfreq);
      fprintf(fasc,"%f\n",fd1.amp);
      fprintf(fasc,"%f\n",fd1.perm);
      fprintf(fasc,"%f\n",fd1.cond);
      fprintf(fasc,"%f\n",fd1.dist);
      fprintf(fasc,"%f\n",fd1.size);
      fprintf(fasc,"%f\n",fd1.dx);
      fprintf(fasc,"%f\n",fd1.dy);
      fprintf(fasc,"%f\n",fd1.dz);
      fprintf(fasc,"%f\n",fd1.dt);
      fprintf(fasc,"%f\n",fd1.modsiz);
      fprintf(fasc,"%c\n",fd1.pol);
      fprintf(fasc,"%d\n",fd1.timnum);
      fprintf(fasc,"%f\n",fd1.xmax);
      fprintf(fasc,"%f\n",fd1.ymax);
      fprintf(fasc,"%f\n",fd1.zmax);
      fprintf(fasc,"%d\n",fd1.bounswi);
      fprintf(fasc,"%f\n",fd1.tlength);
      fprintf(fasc,"%f\n",fd1.tcval);
      fprintf(fasc,"%f\n",fd1.moddim);
      fprintf(fasc,"%f\n",fd1.indat);
      fprintf(fasc,"%s\n",fd1.infile);
      fprintf(fasc,"%d\n",fd1.obj);
      fprintf(fasc,"%f\n",fd1.rad);
      fprintf(fasc,"%f\n",fd1.xpos);
      fprintf(fasc,"%f\n",fd1.ypos);
      fprintf(fasc,"%f\n",fd1.zpos);
      fprintf(fasc,"%f\n",fd1.xcen);
      fprintf(fasc,"%f\n",fd1.ycen);
      fprintf(fasc,"%f\n",fd1.xlen);
      fprintf(fasc,"%f\n",fd1.xang);
      fprintf(fasc,"%f\n",fd1.xrcen);
      fprintf(fasc,"%f\n",fd1.yrcen);
      fprintf(fasc,"%f\n",fd1.xrlen);
      fprintf(fasc,"%f\n",fd1.xrang);
      fprintf(fasc,"%f\n",fd1.anthei);
      fprintf(fasc,"%f\n",fd1.zinter);
      fprintf(fasc,"%f\n",fd1.zcond);
      fprintf(fasc,"%f\n",fd1.zperm);
      fprintf(fasc,"%d\n",fd1.antpat);
      fprintf(fasc,"%d\n",fd1.fullEx);
      fprintf(fasc,"%d\n",fd1.fullEy);
      fprintf(fasc,"%d\n",fd1.fullEz);
      fprintf(fasc,"%d\n",fd1.fullHx);
      fprintf(fasc,"%d\n",fd1.fullHy);
      fprintf(fasc,"%d\n",fd1.fullHz);
      fprintf(fasc,"%d\n",fd1.HzEz);
      fprintf(fasc,"%d\n",fd1.ExEy);
      fprintf(fasc,"%d\n",fd1.HxHy);
      fprintf(fasc,"%f\n",fd1.xlin);
      fprintf(fasc,"%f\n",fd1.ylin);
      fprintf(fasc,"%d\n",fd1.timpro);
      fprintf(fasc,"%f\n",fd1.timx);
      fprintf(fasc,"%f\n",fd1.timy);
      fprintf(fasc,"%d\n",fd1.dump);
      fprintf(fasc,"%s\n",fd1.dumpfile);
      fprintf(fasc,"%d\n",fd1.dumptime);
      fprintf(fasc,"%s\n",fd1.filauto);
      fprintf(fasc,"%f\n",fd1.zinc);
      fprintf(fasc,"%f\n",fd1.xinc);
      fprintf(fasc,"%f\n",fd1.yinc);
      fprintf(fasc,"%d\n",fd1.numsteps);
      fprintf(fasc,"%d\n",fd1.anttype);
      fprintf(fasc,"%d\n",fd1.sheet);
      fprintf(fasc,"%f\n",fd1.objlen);
      fprintf(fasc,"%f\n",fd1.shtydim);
      fprintf(fasc,"%f\n",fd1.shtxdim);
      fprintf(fasc,"%f\n",fd1.shtthk);
      fprintf(fasc,"%f\n",fd1.shtcond);
      fprintf(fasc,"%f\n",fd1.shtperm);
      fprintf(fasc,"%f\n",fd1.shthei);
      fprintf(fasc,"%d\n",fd1.patact);
      fprintf(fasc,"%f\n",fd1.patrad);
      fprintf(fasc,"%f\n",fd1.patphi);
      fprintf(fasc,"%f\n",fd1.cylphi);
      fprintf(fasc,"%f\n",fd1.cyldip);
      fprintf(fasc,"%d\n",fd1.perconflg);
      fprintf(fasc,"%f\n",fd1.targperm);
      fprintf(fasc,"%f\n",fd1.targcond);
      fprintf(fasc,"%f\n",fd1.zur);
      fprintf(fasc,"%d\n",fd1.tmproflg);
      fprintf(fasc,"%d\n",fd1.absfreq);
      fprintf(fasc,"%d\n",fd1.pdflag);
      fprintf(fasc,"%d\n",fd1.attcoax);
      fprintf(fasc,"%f\n",fd1.coaxurt);
      fprintf(fasc,"%f\n",fd1.coaxst);
      fprintf(fasc,"%f\n",fd1.coaxert);
      fprintf(fasc,"%f\n",fd1.coaxurr);
      fprintf(fasc,"%f\n",fd1.coaxsr);
      fprintf(fasc,"%f\n",fd1.coaxerr);
      fprintf(fasc,"%f\n",fd1.prdepth);
      fprintf(fasc,"%f\n",fd1.pvala);
      fprintf(fasc,"%f\n",fd1.pvalb);
      fprintf(fasc,"%f\n",fd1.pvalc);
      fprintf(fasc,"%f\n",fd1.delaya);
      fprintf(fasc,"%f\n",fd1.delayb);
      fprintf(fasc,"%f\n",fd1.delayc);
     
  }
  fclose(fasc);
}

⌨️ 快捷键说明

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