登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
请教:sullivan一维FDTD程序在电介质和真空间的 ..
发帖
回复
1736
阅读
8
回复
请教:sullivan一维FDTD程序在电介质和真空间的边界吸收条件问题
离线
edaboy
UID :22535
注册:
2008-12-04
登录:
2020-12-15
发帖:
28
等级:
仿真新人
0楼
发表于: 2009-12-16 02:41:52
就是从自由空间入射pulse到常数4的电介质后,pulse在电介质中前进到达问题空间的右边界(KE=200)后,该怎样修改原程序的吸收边界条件才能使得无反射pulse。
hD l+
原程序的边界条件如下:
]}G(@9
... ...
/^0Hi4+\
ex[0] =ex_low_m2; /* 左侧真空部分的边界条件,可以吸收 */
`h Y:F(
ex_low_m2=ex_low_m1;
GYv2^IB:
ex_low_m1=ex[1];
'89D62\89
@v2kAOw[
ex[KE-1] =ex_high_m2; /* 右侧电介质部分的边界条件,无法吸收,不知道怎么修改 */
-]PW\}w1
ex_high_m2=ex_high_m1;
J2H8r 'T
ex_high_m1=ex[KE-2];
c-avX
... ...
z0Gh |N@)
在前面一个兄弟上传的 <The FDTD Method Computation ..
G(4:yK0
Dx Vt
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
gwzhao
方恨少
UID :17098
注册:
2008-08-24
登录:
2019-01-09
发帖:
1374
等级:
荣誉管理员
1楼
发表于: 2009-12-16 10:36:25
你是说你的吸收边界不是真空,而是处于介电常数为4的物质中?
0$/wH#f
模型是 介质==真空==介质 ?
共
条评分
逆流而上
离线
edaboy
UID :22535
注册:
2008-12-04
登录:
2020-12-15
发帖:
28
等级:
仿真新人
2楼
发表于: 2009-12-16 14:11:09
感谢gwzhao的回复,其实这个就是sullivan书中第一章的Problem Set 1.4的第三个问题:
UP 75}h9
要让入射进电介质的波在到达右边界时不反射,自由空间的边界吸收条件要怎么样修改,代码怎么改动? 其实就是电介质中的吸收边界条件。
#ZRQVC; b;
一维FDTD的划分区域如下:
QOcB ]G
<<@$0RW
<--------生成反射波---------
/Rb`^n#
<---入射波向左传播无反射,左边界能吸收 入射进电介质的波传播到右边界反射,吸收条件失效 ----->
`\(Fax
\ | | \
9L]x9lI;
\ | | \
yx4B!U
\ |<--*----------真空------------->|<----------介电常数4------------>| \
2W~,,$ G
(cell 0) |<--*--------------------------计算区域------------------------------->|(cell 200)
t+W+f
^ (cell 5)
;Q:^|Fw!F
|
k2"Z:\?z
|
J,_I$* _0
pulse入射位置(第5个cell)
QROe+:
uqnoE;57^
代码里左边和右边的吸收边界都是采用的相同的方法写的代码如下:
+kd88Fx
ex[0] =ex_low_m2; /* 左侧真空部分的边界条件,可以吸收 */
a7)q^;:O
ex_low_m2=ex_low_m1;
tb/bEy^
ex_low_m1=ex[1];
q4|TwRx~
8sx\b
ex[KE-1] =ex_high_m2; /* 右侧电介质部分的边界条件,无法吸收,不知道怎么修改 */
_hMMm6a|
ex_high_m2=ex_high_m1;
KaZ*HPe(
ex_high_m1=ex[KE-2];
@]Aul9.h
估计是要修改右侧的吸收边界条件的代码,但是不知道如何下手。
NELQo#kjZ
本人是新入门,还望大家不吝赐教。
共
条评分
离线
464459511
UID :9635
注册:
2008-03-19
登录:
2011-04-11
发帖:
68
等级:
仿真一级
3楼
发表于: 2009-12-16 19:31:24
我们一起思考一下,sullivan一维FDTD程序中关于这个有点儿解释,他是将dt设为dx/2,2>1.414,这样一定是满足稳定性条件,后代入一维方程中得到系数1/2参加迭代。
WXp=>P[
加入那几行代码是说,一个网格电磁波要两步才能穿过,因为一个dt只能跑1/2个网格,如果介电常数是4倍,4开方得2,要说还要再慢一倍,这样推理的话,好像你试试加入四步到达右侧是可以的。
Jb#*QJ=
试试吧,有结果告知一声。
共
1
条评分
cc81372365
rf币
+10
积极参与论坛交流,欢迎继续参与本贴交流!
2010-12-08
离线
edaboy
UID :22535
注册:
2008-12-04
登录:
2020-12-15
发帖:
28
等级:
仿真新人
4楼
发表于: 2009-12-23 14:25:40
这几天没上网,果然如 464459511 兄弟所说。调整到达的时间步就可以了。谢谢。
共
条评分
离线
gaoxia1212
爱自己,没道理!
UID :48891
注册:
2009-12-15
登录:
2025-08-13
发帖:
1165
等级:
准仿真大师级
5楼
发表于: 2011-04-23 08:55:42
四个时间不穿过一个网格,我也改了怎么还是有反射啊 能看一下你怎么改的吗 谢谢
共
条评分
离线
gaoxia1212
爱自己,没道理!
UID :48891
注册:
2009-12-15
登录:
2025-08-13
发帖:
1165
等级:
准仿真大师级
6楼
发表于: 2011-05-01 20:50:44
楼主 你改出来了吗
共
条评分
离线
422204942
UID :74635
注册:
2011-03-28
登录:
2011-05-20
发帖:
25
等级:
仿真新人
7楼
发表于: 2011-05-01 22:29:36
怎么把模型改成真空——介质——真空啊?
共
条评分
离线
da376805618
资源共享呗
UID :71951
注册:
2011-01-22
登录:
2014-09-27
发帖:
389
等级:
仿真三级
8楼
发表于: 2011-09-01 20:08:17
ex[0] = ex_low_m2;
,U>g LTS
ex_low_m2 = ex_low_m1;
L$ ]D&f8:
ex_low_m1 = ex[1];
|xQj2?_z*
s=q\BmG
ex[KE-1] = ex_high_m4;
v6s8 p
ex_high_m4 = ex_high_m3;
]_d(YHYf
ex_high_m3 = ex_high_m2;
*X %`MN
ex_high_m2 = ex_high_m1;
wIxLr{
ex_high_m1 = ex[KE-2];
5y=X?hF~)
rcxV ,<[B
这样 看行不行···
共
条评分
资源共享
发帖
回复