📄 shuju5.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 + -