📄 fdtd_1d.h
字号:
// fdtd_1D.h: long erface for the fdtd_1D class.
//
//////////////////////////////////////////////////////////////////////
#pragma once
#ifndef NULL
#define NULL 0
#endif
class CFDTD_1D_EzHx
{
private:
double pi, eps_0, mu_0;
long ny, nyMIN1, nyMIN2; //Dimension of the simulation space
double *Ez_1D, *Hx_1D;
double E0, omega, phi, t0, tw;
double alfa, twORtw;
long Source_Type; //1-Sin 2-Gauss 3-SinGauss
//parameters of the boundary condition and materials
double K_M_1, K_M_2, Ca, Cb, Db;
double Ez_n_1[2];
double Ez_n[2];
public:
CFDTD_1D_EzHx();
virtual ~CFDTD_1D_EzHx();
bool Init(long n_y, double dt, double dy, double eps_r, double mu_r, double sigma);
void Init_Sin_Source(double E_0, double om, double Phi);
void Init_Gauss_Source(double E_0, double t_0, double t_w);
void Init_GaussSin(double E_0, double om, double Phi, double t_0, double t_w);
void calc_Hx_1D();
void calc_Ez_1D(double time);
void Reset_Field_Comp(void);
void Get_Data(double *&X, double *&Y);
void Source(double t);
int Save_FDTD_1D_Workspace(char *path);
int Load_FDTD_1D_Workspace(char *path);
void Free_Mem();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -