📄 fdmenu.c
字号:
printf("e = ANTENNA TYPE (1=OSU,2=GSSI 300MHZ) %d\n",fd1.anttype);
printf("n = ABSORBER FREQUENCY IF OSU ANTENNA %d\n",fd1.absfreq);
printf("f = RESISTIVE OR DIELECTRIC SHEET OPT. %d\n",fd1.sheet);
if(fd1.sheet==1) {
printf("g = SHEET X-DIMENSION: (m) %f\n",fd1.shtxdim);
printf("h = SHEET Y-DIMENSION: (m) %f\n",fd1.shtydim);
printf("i = SHEET THICKNESS: (m) %f\n",fd1.shtthk);
printf("j = SHEET CONDUCTIVITY: (S/m) %f\n",fd1.shtcond);
printf("k = SHEET RELATIVE PERMITTIVITY %f\n",fd1.shtperm);
printf("m = SHEET HEIGHT ABOVE GROUND %f\n",fd1.shthei);
}
printf("z = BACK TO MAIN MENU\n");
scanf(" %c",&ch);
switch(ch) {
case '1':
printf("X-POSITION OF TRANSMIT ANTENNA (m): ");
scanf("%f",&fd1.xcen);
break;
case '2':
printf("Y-POSITION OF TRANSMIT ANTENNA (m): ");
scanf("%f",&fd1.ycen);
break;
case '3':
printf("FLARE ANGLE OF TRANSMIT ANTENNA (degrees):");
scanf("%f",&fd1.xang);
break;
case '4':
printf("X-POSITION OF RECEIVE ANTENNA (m): ");
scanf("%f",&fd1.xrcen);
break;
case '5':
printf("Y-POSITION OF RECEIVE ANTENNA (m): ");
scanf("%f",&fd1.yrcen);
break;
case '6':
printf("FLARE ANGLE OF RECEIVE ANTENNA (degrees):");
scanf("%f",&fd1.xrang);
break;
case '7':
printf("LENGTH OF TRANSMIT ANTENNA (m): ");
scanf("%f",&fd1.xlen);
break;
case '8':
printf("LENGTH OF RECEIVE ANTENNA (m): ");
scanf("%f",&fd1.xrlen);
break;
case '9':
printf("ANTENNA HEIGHT ABOVE INTERFACE: ");
scanf("%f",&fd1.anthei);
break;
case 'a':
printf("DEPTH OF INTERFACE BELOW TOP OF GRID (m): ");
scanf("%f",&fd1.zinter);
break;
case 'b':
printf("GROUND CONDUCTIVITY (S/m): ");
scanf("%f",&fd1.zcond);
break;
case 'c':
printf("GROUND RELATIVE PERMITTIVITY: ");
scanf("%f",&fd1.zperm);
break;
case 'd':
printf("GROUND MAGNETIC PERMEABILITY: ");
scanf("%f",&fd1.zur);
break;
case 'e':
printf("ENTER: \n");
printf(" 1 = THIN DIPOLE TRANSMIT ANTENNA\n");
printf(" 2 = SINGLE GSSI 300 MHZ\n");
printf(" 3 = DUAL GSSI 300 MHZ \n");
printf(" 16 = DUAL OSU ANTENNAS (== MODE)\n");
printf(" 25 = DUAL OSU ANTENNAS (|| MODE)\n");
scanf("%d",&fd1.anttype);
break;
case 'f':
printf("ENTER '1' TO ACTIVATE DIELECTRIC SHEET, ELSE '0': \n");
scanf("%d",&fd1.sheet);
break;
case 'g':
printf("ENTER X-DIMENSION OF SHEET (m) \n");
scanf("%f",&fd1.shtxdim);
break;
case 'h':
printf("ENTER Y-DIMENSION OF SHEET (m) \n");
scanf("%f",&fd1.shtydim);
break;
case 'i':
printf("ENTER SHEET THICKNESS (m) \n");
scanf("%f",&fd1.shtthk);
break;
case 'j':
printf("ENTER SHEET CONDUCTIVITY (S/m): \n");
scanf("%f",&fd1.shtcond);
break;
case 'k':
printf("ENTER SHEET RELATIVE PERMITTIVITY: \n");
scanf("%f",&fd1.shtperm);
break;
case 'm':
printf("ENTER SHEET HEIGHT ABOVE GROUND: \n");
scanf("%f",&fd1.shthei);
break;
case 'n':
printf("ENTER ABSDRBER FREQUENCY (75,100,125,150, OR 175 MHz) \n");
scanf("%d",&fd1.absfreq);
break;
case 'z':
xflag=1;
break;
}
if(xflag==1) break;
}
}
void outputit() {
char ch;
short int xflag=0,dum1;
float compstab;
for( ;;) {
printf("1 = FULL Ex GRID OPTION: %d\n",fd1.fullEx);
printf("2 = FULL Ey GRID OPTION: %d\n",fd1.fullEy);
printf("3 = FULL Ez GRID OPTION: %d\n",fd1.fullEz);
printf("4 = TIME PROFILE ACTIVATION FLAG: %d\n",fd1.tmproflg);
if(fd1.tmproflg==3) {
printf("5 = Z POSITION OF PLANE 1 RELATIVE TO INTERFACE (m): %f\n",fd1.pvala);
printf("6 = Z POSITION OF PLANE 2 RELATIVE TO INTERFACE (m): %f\n",fd1.pvalb);
printf("7 = Z POSITION OF PLANE 3 RELATIVE TO INTERFACE (m): %f\n",fd1.pvalc);
printf("8 = TIME VALUE TO INITIATE WRITING PLANE 1 (ns): %f\n",fd1.delaya);
printf("9 = TIME VALUE TO INITIATE WRITING PLANE 2 (ns): %f\n",fd1.delayb);
printf("a = TIME VALUE TO INITIATE WRITING PLANE 3 (ns): %f\n",fd1.delayc);
}
printf("c = TIME PROFILE WRITTING INCREMENT: %d\n",fd1.timpro);
printf("d = TIME PROFILE XCOORD (m): %f\n",fd1.timx);
printf("e = TIME PROFILE YCOORD (m): %f\n",fd1.timy);
printf("f = DUMP ALL GRID VALUES TO OUTPUT FILE: %d\n",fd1.dump);
printf("i = FIELD PATTERN ACTIVATION FLAG: %d\n",fd1.patact);
printf("j = RADIUS OF FIELD PATTERN MEASUREMENT: %f\n",fd1.patrad);
printf("k = PHI OF FIELD PATTERN MEASUREMENT: %f\n",fd1.patphi);
if(fd1.dump==1) {
printf("g = DUMP OUTPUT FILE NAME (not activated): %s\n",fd1.dumpfile);
printf("h = TIMESTEP TO DUMP VALUES (not activated): %d\n",fd1.dumptime);
}
printf("z = BACK TO MAIN MENU\n");
scanf(" %c",&ch);
switch(ch) {
case '1':
printf("ENTER '1' TO ACTIVATE OUTPUT OF Ex GRID, ELSE '0': ");
scanf("%d",&fd1.fullEx);
break;
case '2':
printf("ENTER '1' TO ACTIVATE OUTPUT OF Ey GRID, ELSE '0': ");
scanf("%d",&fd1.fullEy);
break;
case '3':
printf("ENTER '1' TO ACTIVATE OUTPUT OF Ez GRID, ELSE '0': ");
scanf("%d",&fd1.fullEz);
break;
case '4':
printf("ENTER TIME PROFILE ACTIVATION FLAG:\n");
printf("0 = none\n");
printf("1 = 2 vertical profiles\n");
printf("2 = 1 horizontal profile\n");
printf("3 = 2 vertical profiles and 3 horizontal profiles\n");
scanf("%d",&fd1.tmproflg);
break;
case '5':
printf("ENTER Z POSITION OF PLANE 1 RELATIVE TO INTERFACE (m): ");
scanf("%f",&fd1.pvala);
break;
case '6':
printf("ENTER Z POSITION OF PLANE 2 RELATIVE TO INTERFACE (m): ");
scanf("%f",&fd1.pvalb);
break;
case '7':
printf("ENTER Z POSITION OF PLANE 3 RELATIVE TO INTERFACE (m): ");
scanf("%f",&fd1.pvalc);
break;
case '8':
printf("ENTER TIME TO INITIATE OUTPUT OF PLANE 1 TO FILE (ns): ");
scanf("%f",&fd1.delaya);
break;
case '9':
printf("ENTER TIME TO INITIATE OUTPUT OF PLANE 2 TO FILE (ns): ");
scanf("%f",&fd1.delayb);
break;
case 'a':
printf("ENTER TIME TO INITIATE OUTPUT OF PLANE 3 TO FILE (ns): ");
scanf("%f",&fd1.delayc);
break;
case 'c':
printf("ENTER NUMBER OF TIMESTEPS BETWEEN WRITES TO OUTPUT FILES: ");
scanf("%d",&fd1.timpro);
break;
case 'd':
printf("ENTER TIME PROFILE XCOORD (m): ");
scanf("%f",&fd1.timx);
break;
case 'e':
printf("ENTER TIME PROFILE YCOORD (m): ");
scanf("%f",&fd1.timy);
break;
case 'f':
printf("OUTPUT ALL GRID VALUES TO FILE FOR LATER USE OR ANALYSIS: (0,1): ");
scanf("%d",&fd1.dump);
break;
case 'g':
printf("ENTER DUMP OUTPUT FILENAME: ");
scanf("%s",fd1.dumpfile);
break;
case 'h':
printf("ENTER TIMESTEP TO DUMP ALL DATA: ");
scanf("%d",&fd1.dumptime);
break;
case 'i':
printf("ENTER '1' TO ACTIVATE PATTERN STORAGE, ELSE '0'");
scanf("%d",&fd1.patact);
break;
case 'j':
printf("ENTER RADIUS (METERS) OF FIELD PATTERN MEASUREMENT ");
scanf("%f",&fd1.patrad);
break;
case 'k':
printf("ENTER THETA VALUE (DEGREES) OF FIELD PATTERN MEASUREMENT ");
scanf("%f",&fd1.patphi);
break;
case 'z':
xflag=1;
break;
}
if(xflag==1) break;
}
}
void automenu() {
char ch;
short int xflag=0,dum1;
for(;;) {
printf("1 = OUTPUT DATASET NAME %s\n",fd1.filauto);
printf("2 = DEPTH INCREMENT (m) %f\n",fd1.zinc);
printf("3 = X INCREMENT (m) %f\n",fd1.xinc);
printf("4 = Y INCREMENT (m) %f\n",fd1.yinc);
printf("5 = NUMBER OF DISTANCE STEPS: %d\n",fd1.numsteps);
printf("z = EXIT MENU \n");
scanf(" %c",&ch);
switch(ch) {
case '1':
printf("ENTER NEW OUTPUT DATASET NAME: ");
scanf("%s",fd1.filauto);
break;
case '2':
printf("ENTER TARGET DEPTH INCREMENT: ");
scanf("%f",&fd1.zinc);
break;
case '3':
printf("ENTER TARGET X INCREMENT: ");
scanf("%f",&fd1.xinc);
break;
case '4':
printf("ENTER TARGET Y INCREMENT: ");
scanf("%f",&fd1.yinc);
break;
case '5':
printf("ENTER # OF TIMESTEPS: ");
scanf("%d",&fd1.numsteps);
break;
case 'z':
xflag=1;
break;
}
if(xflag==1) break;
}
}
void newparms() {
char ch;
short int xflag=0,dum1;
for(;;) {
printf("1 = POINT DIPOLE ACTIVATION FLAG : %d\n",fd1.pdflag);
printf("2 = LONG COAX REL. MAGNETIC PERMEABILITY : %f\n",fd1.coaxurt);
printf("3 = LONG COAX REL. PERMITTIVITY : %f\n",fd1.coaxert);
printf("4 = LONG COAX CONDUCTIVITY : %f\n",fd1.coaxst);
printf("5 = SHORT COAX REL. MAGNETIC PERMEABILITY : %f\n",fd1.coaxurr);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -