📄 fdtd_1d_eh_pml_loss.h
字号:
#pragma once
#ifndef NULL
#define NULL 0
#endif
class CFDTD_1D_EH_PML_LOSS
{
private:
double pi, eps_0, mu_0;
double *F_2, *E_1D, *H_1D;//*F_1,
double *K_F_a, *K_F_b, *K_H_a, *K_H_b;
double K_E_a, K_E_b, K_H;
long n; //Dimension of the simulation space
double dt, d, inv_d;
long n_PML, n_TS_a, n_TS_b;
long n_MIN_n_PML, n_PML_MIN_1, n_MIN_n_PML_MIN_1, n_MIN_1;
double eps_r, mu_r, sigma;
double E0, omega, phase, t0, tw, alfa;
double beta, eta;
int Source_Type;
int jel_source; // 1 - Gauss, 2 - Sin, 3 - SinGauss
int num_threads;
public:
CFDTD_1D_EH_PML_LOSS(void);
~CFDTD_1D_EH_PML_LOSS(void);
#ifdef _OPENMP
void Init_nr_THR(int nr_threads);
#endif
bool Init(long N, long n_pml, double d_t, double D, double eps_r, double mu_r,
double sigma);
void Init_PML_Param(void);
void Init_Sin_Source(double E_0, double om, double Phase);
void Init_Gauss_Source(double E_0, double t_0, double t_w);
void Init_GaussSin_Source(double E_0, double om, double Phase, double t_0, double t_w);
void Calc_E(double time);
void Calc_H();
void Get_Data(double *&e, double *&h);
void Free_Mem(void);
int Save_FDTD_1D_Workspace(char *path);
int Load_FDTD_1D_Workspace(char *path);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -