登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
时域有限差分法 FDTD
>
咨询一下有关波源的问题
发帖
回复
996
阅读
4
回复
[
求助
]
咨询一下有关波源的问题
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
0楼
发表于: 2010-07-07 10:45:47
最近在编写一个3DFDTD的C程序,在设置波源时遇到了问题,我的想法是设置一个正弦点波源(软源),程序是:
7^Uv7<pw
sT.ss$HY9,
void powerSource(int timestep)
TvM~y\s
{
N[hG8f
source = 10 * sin(2*4*atan(1)*6e9*dt*n);
0]L"H<W
K:M8h{Ua
^Pf WG*
Hz[isource][jsource][ksource] += source;
K}y f>'O
}
?M2J wAK5
0J|3kY-n>
结果出来的结果发现并不是正弦波,如果把 += 改成 = 的话结果就是错的,算出来电场值有10几个数量级 ..
]|@^1we
@iiT<
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
1楼
发表于: 2010-07-09 12:18:14
应该是=号,表示硬源。
>j/w@Fj
paK2xX8E
建议把正选波,变为渐近的正玄波试试。
Q?vlfZR`8
TxD#9]Q`
source = sin(...) * ramp_function
共
条评分
离线
wmconan
UID :62660
注册:
2010-06-30
登录:
2019-11-06
发帖:
67
等级:
仿真一级
2楼
发表于: 2010-07-10 13:53:03
回 1楼(funnyhaha) 的帖子
谢谢~ramp_function这种函数一般都是什么样的表达式啊,用硬源的话会不会使计算误差变得很大呢。。
共
条评分
离线
funnyhaha
UID :16429
注册:
2008-08-05
登录:
2015-03-17
发帖:
173
等级:
积极交流四级
3楼
发表于: 2010-07-11 06:18:45
ramp_function :
xdPx{"C 3
BtZ yn7a
f(t)=0, t<0
GgU/!@
SbZ6t$"
f(t) = \alpha t, when 0<t, t<C
st*gs-8jJ;
f);FoVa6
f(t) = 1 when t>C
\8tsDG(1 '
z:O8Ls^\T
\alpha 和 C 都是常量。通常C是两三个周期。
>_} I.\X
!D6]JPX
使用硬源和误差无关。
共
条评分
离线
sannxi
UID :13088
注册:
2008-05-28
登录:
2012-10-13
发帖:
70
等级:
仿真一级
4楼
发表于: 2010-08-02 06:48:55
我是设置软源计算的,结果都是好的。可以联系我详细讨论:
5;?yCWc
sannxi@163.com
共
条评分
发帖
回复