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

📄 fdtd.h

📁 液晶中TE波入射的FDTD算法
💻 H
字号:
/*********************** 
 * FDTD.h
 * Written by LZQ
 * 2006.06.08
 ***********************/
#include <stdio.h>
#include <math.h>
#include <stddef.h>
#include <windows.h>
#include "mat.h"
#include "matrix.h"

#define NUM_EX 1956
#define NUM_EZ 406
#define EPSILON0 8.8542e-12
#define EPSILONV 19.0
#define EPSILONP 5.2
#define MU0 12.5664e-7
#define PI 3.14159265359  
#define lamda 6.328e-7    //入射波波长
#define omega 2*PI*(C0/lamda)
#define C0 2.9979e+8  //真空中光速
#define Z0 sqrt(MU0/EPSILON0)
#define K0 Z0/MU0
#define dx 5e-8       //x向空间步长
#define dz 2e-8       //z向空间步长
#define dt dz/2/C0    //时间步长

#define m0 58  //入射波在z方向的坐标值

int i,j,k,n;

double Ex_pre[NUM_EX][NUM_EZ],Ez_pre[NUM_EX][NUM_EZ],Hy_pre[NUM_EX][NUM_EZ];
double Ex_nxt[NUM_EX][NUM_EZ],Ez_nxt[NUM_EX][NUM_EZ],Hy_nxt[NUM_EX][NUM_EZ];

double Hyx_nxt[NUM_EX][NUM_EZ],Hyz_nxt[NUM_EX][NUM_EZ],Hyx_pre[NUM_EX][NUM_EZ],Hyz_pre[NUM_EX][NUM_EZ];
double Ex_final[NUM_EX*NUM_EZ],Ez_final[NUM_EX*NUM_EZ],Hy_final[NUM_EX*NUM_EZ];
int T,steps;

double thita[1801][251];

//边界epsilon值
double epsilonzxf[1800],epsilonzzf[1800],epsilonxxl[250],epsilonxzl[250];
double epsilonzxb[1800],epsilonzzb[1800],epsilonxxr[250],epsilonxzr[250];

//入射波
double E0;
double Hyincf_nxt,Exincf_nxt,Hyincf_pre,Exincf_pre;
double Hyinc[290],Ezinc[290];  

//A(thita),B(thita),C(thita),D(thita)
double temp1,temp2,temp3,temp4;

//PML介质
double deltax[9],deltaz[9],deltamx[9],deltamz[9];

HANDLE hStdout;

⌨️ 快捷键说明

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