登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
大家帮忙看看这个3D_FDTD介质球的RCS有什么问 ..
发帖
回复
1
2
3
4122
阅读
29
回复
大家帮忙看看这个3D_FDTD介质球的RCS有什么问题
离线
cc81372365
UID :27752
注册:
2009-03-18
登录:
2023-11-09
发帖:
345
等级:
论坛版主
0楼
发表于: 2010-11-29 13:16:05
//****************************************************************//
Wk}D]o0^@
//
E`tQe5K
//********* 3D_介质球散射(RCS)FDTD程序 **********//
FZpsL-yx^N
//
PRwu
//****************************************************************//
*qG$19b
//
"c,!vc4
//入射波为Y方向的平面波(theta=pi/2 , phi=pi/2), RCS观察角为(theta=pi/2 , phi = 0到2pi)
qC..\{z
// 数字0,1代表场值经过傅里叶变换后的复数的实部和虚部
WO@H*
// 金属方柱置于中心位置(ic,jc),激励源为高斯脉冲源
~5ubh2{
#include <iostream>
ywEDy|Wn$~
#include <iomanip>
|YRY!V_w
#include <fstream>
l DnMjK\M
//#include <omp.h>
D M}s0O$0
#include <time.h>
7 W{~f?Sh
#include <valarray>
o!utZmk$
#include <math.h>
SF^x=[ir
#include <stdio.h>
8)Zk24:])_
#include <stdlib.h>
Y9tV%
n$YE !D'
#include "complex_operation.h"
|Ytg
#define IE 60
H*rx{ F?
#define JE 60
7b46t2W<
#define KE 60
[fxuUmU
#define ia 15
b_l3+'#ofM
#define ja 15
<5I1 DF[
#define ka 15
Ft) lp>3gv
#define length 41
jN6b*-2
using namespace std;
HlPG3LD!
ofstream outFile;
Px#$uU
int main()
<m0{'xw
{
YDFCGA
int i,j,k,ic,jc,kc,ib,jb,kb;
,gmH2.
int npml,n_pml,T;
/[iG5~G
double radius,v,lamda,Z,f,kk;
zP&q7 t;>
double epsz_r,epsz,muz,muz_r,ddx,dt,pi,sigma;
TP{Gt.e
double xn,xxn;
88g47>{X
double t0,spread,pulse;
/l6\^Xf{
double ez_inc[JE]={0},hx_inc[JE]={0};
rrcwtLNbu
double ez_low_m1=0,ez_low_m2=0,ez_high_m1=0,ez_high_m2=0;
.H2qs{N!
int ixh,jyh,kzh;
?+Q$#pb
int co=0;
74_xR
double rcs[361]={0.0};
_88QgThb
double ine[2] = {0.0};
Gqt-_gga
double ine_fudu = 0.0;
.LObOR5J7
double curl_h,curl_e;
\?&Au
double dist,xdist,ydist,zdist;
,1 P[
double dx[IE][JE][KE]={0},dy[IE][JE][KE]={0},dz[IE][JE][KE]={0};
bDWeU}
double ex[IE][JE][KE]={0},ey[IE][JE][KE]={0},ez[IE][JE][KE]={0};
U(~U!O}
double hx[IE][JE][KE]={0},hy[IE][JE][KE]={0},hz[IE][JE][KE]={0};
/$:U$JVb?l
double ix[IE][JE][KE]={0},iy[IE][JE][KE]={0},iz[IE][JE][KE]={0};
_q)!B,y-/N
double gax[IE][JE][KE]={0},gay[IE][JE][KE]={0},gaz[IE][JE][KE]={0};
"yW&<7u1
double gbx[IE][JE][KE]={0},gby[IE][JE][KE]={0},gbz[IE][JE][KE]={0};
l{5O5%\,
double idxl[ia][JE][KE]={0},idxh[ia][JE][KE]={0};
HIGNRm
double idyl[IE][ja][KE]={0},idyh[IE][ja][KE]={0};
vbp-`M(
double idzl[IE][JE][ka]={0},idzh[IE][JE][ka]={0};
9 mPIykAj8
double ihxl[ia][JE][KE]={0},ihxh[ia][JE][KE]={0};
E/mw* c^
double ihyl[IE][ja][KE]={0},ihyh[IE][ja][KE]={0};
Mlj#b8
double ihzl[IE][JE][ka]={0},ihzh[IE][JE][ka]={0};
%b=p< h'(
double gi1[IE]={0},gi2[IE]={0},gi3[IE]={0};
5V @&o`!=h
double gj1[JE]={0},gj2[JE]={0},gj3[JE]={0};
VFSz-<L
double gk1[KE]={0},gk2[KE]={0},gk3[KE]={0};
g~!$i`_b
double fi1[IE]={0},fi2[IE]={0},fi3[IE]={0};
*,lh:
double fj1[JE]={0},fj2[JE]={0},fj3[JE]={0};
ue6d~8&
double fk1[KE]={0},fk2[KE]={0},fk3[KE]={0};
W2eAhz&
double Ex_down[length][length][2]={0},Ey_down[length][length][2]={0};
]'k[u
double Hx_down[length][length][2]={0},Hy_down[length][length][2]={0};
7~b!4x|Z
double Ex_up[length][length][2]={0},Ey_up[length][length][2]={0};
XsUUJuCG
double Hx_up[length][length][2]={0},Hy_up[length][length][2]={0};
Yj|]Uff8O
double Ex_left[length][length][2]={0},Ez_left[length][length][2]={0};
/C$ xH@bb
double Hx_left[length][length][2]={0},Hz_left[length][length][2]={0};
Z>2]Xx% \
double Ex_right[length][length][2]={0},Ez_right[length][length][2]={0};
:Q-oV8t{
double Hx_right[length][length][2]={0},Hz_right[length][length][2]={0};
MCU9O
double Ey_front[length][length][2]={0},Ez_front[length][length][2]={0};
Go <'
double Hy_front[length][length][2]={0},Hz_front[length][length][2]={0};
8bOT*^b$H
double Ey_back[length][length][2]={0},Ez_back[length][length][2]={0};
2]2H++
double Hy_back[length][length][2]={0},Hz_back[length][length][2]={0};
6>,# 6{?jl
ic = IE/2;
rl?7W];
jc = JE/2;
a4&:@`=
kc = KE/2;
nm @']
ib = IE - ia -1;
%!y89x=E
jb = JE - ja -1;
VE]6wwV2
kb = KE - ka -1;
.GCR!V
//外推边界位置
?4G(N=/&
int dis = 5;
JMlV@t7y<
const int i_front = ib + dis;
w!`Umll2
const int i_back = ia - dis;
RtC'v";6
const int j_right = jb + dis;
[M:S`{SbY
const int j_left = ja - dis;
#mLuU
const int k_up = kb + dis;
ia4k :\
const int k_down = ka - dis;
9&K/GaG
pi = 3.1415926;
.N"~zOV<#
epsz = 8.8e-12; // 真空介电常数
(A{NF(
epsz_r = 4.0; // 相对介电常数
r5 yO5W
muz = 4*pi*1e-7; // 真空磁导率
iF9_b
muz_r = 1.0; // 相对磁导率
mW4%2fD[
sigma = 0; // 介质电导率
m<: IFx#
v = 3.0e8; // 波速
}Hy ~i
f = 9.375e9; // 频率 10GHz
PZ,z15PG]
lamda = v/f; // 波长 0.03m
;S JF%@x
kk = 2*pi/lamda; // 波数
Hm9<