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

📄 shuju5.h

📁 全参数模板在FDTD数值算法下.微带天线方向系数、半空间方向函数、输入阻抗、驻波比、固定方位角的极化轴比的计算方法。
💻 H
字号:
/*引入总场域,引入均匀平面波*/
#include <stdio.h>
#include <math.h>
float f=1.20352e9;  /*定义频率2G*/
#define Pi 3.141592653
#define pi 3.141592653
#define c  300000000
#define Np 4000   //fft变换的点数
float dt=1.5766e-12; /*定义时间单位步长1*10^(-8)*/
#define NN 4000/*定义跌代次数*/
const float ee=1/(36*Pi)*0.000000001;
const float u=4*Pi*0.0000001;
float er=10.2;    //介质介电常数
const float sig=0;    //介质导电率
float e=ee;

const float a=34.0/1000;   //天线尺寸(波长数)
const float b=34.0/1000;
const float d=1.0/1000;     //天线厚度
const float A=3*a;      //介质板电尺寸
const float B=3*b;      //介质板电尺寸
const float D=5.0/1000;   //介质板厚度

const int DD=20;       //微带片xy面剖分段数10*10
 float dx=a/DD;
 float dy=b/DD;
const float dz=1.0/1000;   //常数为介质剖分段数

const int Nx=80;  /*定义剖分网格数*/
const int Ny=80;  /*定义剖分网格数*/
const int Nz=60;  /*定义剖分网格数*/
const int DDD=3;  //外推数据边界到PML边界距离


const int kx=5;   //溃源位置(相对天线正中)
 int ky=10;   //溃源位置(相对天线正中)
const float r0=0.635/1000;

#define NNN  10 //定义PML层厚度
float sgmmax=4.47;


 float Ezx[Nx+1][Ny+1][Nz];/*定义全局z向电场*/
 float Exy[Nx][Ny+1][Nz+1];/*定义全局x向电场*/
 float Eyx[Nx+1][Ny][Nz+1];/*定义全局y向电场*/

 float Hzx[Nx][Ny][Nz+1];/*定义全局z向磁场*/
 float Hxy[Nx+1][Ny][Nz];/*定义全局x向磁场*/
 float Hyx[Nx][Ny+1][Nz];/*定义全局y向磁场*/
             /*1代表前一时刻,2代表后一时刻*/

 float Ezy[Nx+1][Ny+1][Nz];/*定义全局z向电场*/
 float Exz[Nx][Ny+1][Nz+1];/*定义全局x向电场*/
 float Eyz[Nx+1][Ny][Nz+1];/*定义全局y向电场*/

 float Hzy[Nx][Ny][Nz+1];/*定义全局z向磁场*/
 float Hxz[Nx+1][Ny][Nz];/*定义全局x向磁场*/
 float Hyz[Nx][Ny+1][Nz];/*定义全局y向磁场*/
             /*1代表前一时刻,2代表后一时刻*/
 //float E1[NN];      /*E场值随时间变化*/
     
 //float H1[NN];      /*H场值随时间变化*/

 

float sgmx,sgmy,sgmz,sgmmx,sgmmy,sgmmz;
float canshu1,canshu2,canshu3,canshu4,canshu5,canshu6;
float Iz=0,Uz=0;

 int flag=1;  //定义传值时间
 void fuzhi();
 int chuanbo1(int M);
 int chuanbo2(int M);
 int bianjie();
 void distill(int M);
 void waitui(int M);
 void zukang();
 void zhubobi();
 void ffft(float *p1,float *p2);

 //int shuchu(int M);
float rou[NN/2];   //远区电场,驻波比
float si[180],co[180];
 int flag3=1; /*定义传值时刻*/
 struct bb
 {
   float shi;
   float xu;
 }pp1[Np],pp2[Np],zk[Np/2],fxhs[180];

 struct bb chu(struct bb p,struct bb q);
 struct bb pr[300];

struct aa
 {
   struct bb sita;
   struct bb fai;
 }fxhs1;
struct cc
 {
     float zhengfu;
     float xiangwei;
 };
struct cc Jxu[Nx-2*NNN-2*DDD][Ny-2*NNN-2*DDD+1],Jxd[Nx-2*NNN-2*DDD][Ny-2*NNN-2*DDD+1],Jmxu[Nx-2*NNN-2*DDD][Ny-2*NNN-2*DDD+1],Jmxd[Nx-2*NNN-2*DDD][Ny-2*NNN-2*DDD+1];
struct cc Jxr[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jxl[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jmxr[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jmxl[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1];
struct cc Jyu[Nx-2*NNN-2*DDD+1][Ny-2*NNN-2*DDD],Jyd[Nx-2*NNN-2*DDD+1][Ny-2*NNN-2*DDD],Jmyu[Nx-2*NNN-2*DDD+1][Ny-2*NNN-2*DDD],Jmyd[Nx-2*NNN-2*DDD+1][Ny-2*NNN-2*DDD];
struct cc Jyf[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jyb[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jmyf[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jmyb[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD];
struct cc Jzr[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jzl[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jmzr[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1],Jmzl[Nx-2*NNN-2*DDD][Nz-2*NNN-2*DDD+1];
struct cc Jzf[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jzb[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jmzf[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD],Jmzb[Ny-2*NNN-2*DDD+1][Nz-2*NNN-2*DDD];

⌨️ 快捷键说明

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