?? fdtd_1d_eh_lorentz.h
字號:
//////////////////////////////////////////////////////////////////////
// FDTD_1D_EH_LORENTZ.h: interface for the CFDTD_1D_EH_LORENTZ class.
//////////////////////////////////////////////////////////////////////
#pragma once
class CFDTD_1D_EH_LORENTZ
{
protected:
double *E_1D, *H_1D;
private:
//the parameters of the FDTD algorithm
double pi, eps_0, mu_0;
double *D;
double **S, **S_2;
double *K_D_a, *K_D_b, *K_H_a, *K_H_b;
double *K_a, *K_b, *K_c;
long n_L_mat;
double mu_r, Inv_eps;
long n_1D, n_PML, n_1DMIN1; //the length of the computational space [cells]
int source_type; //the type of the excitation
double E0, t0, twORtw, omega, phase, alfa; //the parameters of the excitation
double d, dt;
int nr_threads;
public:
CFDTD_1D_EH_LORENTZ();
virtual ~CFDTD_1D_EH_LORENTZ();
int Init_Main_Param_1D(long n1d, long n_pml, double *&par_mat,
double d_t, double d_d);
void Set_PML_Param_1D(double eps_r, double mu_r);
void Calc_H_1D();
void Calc_E_1D(double time);
void Init_Gauss_1D(double E_0, double t_0, double t_w);
void Init_Sinus_1D(double E_0, double om, double Phi);
void Init_Wave_Packet_1D(double E_0, double t_0, double t_w, double om, double Phi);
void Get_Data_1D(double *&e1D, double *&h1D);
int Save_FDTD_1D_Workspace(char *path, int myrank);
int Load_FDTD_1D_Workspace(char *path, int myrank);
//Initialize the nr of threads
void Init_nr_THR(int nr_Threads);
void Free_Mem_1D();
};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -