三维场分离形式的PML程序分析及共享:用户zhaojc-007提供了一个三维PML程序,
http://www.mwtee.com/thread-7331-1-1.html代码写的还可以。不过有些问题,计算结果是发散的。现分析这个代码,并把修改成功的源代码上传与大家共享。
数据发散的原因是变量数组分配后,漏掉赋值造成。zhaojc-007采用每个数组单独分配和赋初值,这样很容易遗漏数组。我写了一个分配函数修正这种问题出现(详见代码)。
修正数组,没有出项数据发散现象。屏蔽PML层的计算,检查FDTD仿真是否正确,但发现波激励后,没有传播出去。分析代码,发现笔者对YEE网格的场量分配规律采用统一大小,但后面使用采用标准YEE数组下标,FDTD最忌讳场量数组分配、使用不统一方式的进行。修改各场量数组的分配方式。
FDTD仿真时,对磁场的计算采用统一的数组循环,这是不行的,这将遗漏边界上法向的磁场分量计算。进行修正。
仿真的激励波是传播出去了。但吸收边界有问题,振荡中慢慢衰减,PML层出现问题。在计算磁耗率时笔者疏忽,把计算电导率的代码拷贝下来,出现错误。
修正后,计算结果正确。
[hide]
[/hide]
FDTD仿真代码的编写,首先要定义好YEE网格的下标标号;再分配数组;计算各FDTD仿真系数;编写FDTD代码;调试FDTD可以正常运行;再编写其他功能的代码;进行测试。FDTD编程中,一个数组、一个下标、一个参数出错,仿真的结果都会有问题,所以编写者要特别细心。
欢迎大家批评指正,多多讨论
欢迎大家编写的计算代码贴在论坛,进行分析、讨论,让我们一起进步。
楼主的敬业精神让我深受感动,楼主精湛的专业知识让我羡慕。很高兴能在国庆期间得到楼主,可以说是校友的回复。
相信微波技术网---数值计算这一块在楼主的带领下能够给所有数值计算的朋友带来福音,解决你们的难题。
再次谢谢楼主!
有问题我会再请教的
搂住牛呀
佩服 理论知识很扎实
以后有时间,添加这个代码的UPML、CPML其他两种PML的改进版,给大家分享。
欢迎大家积极讨论。
好东西,顶一下!!!!!!!!!!!!
我下不了,谁能发一份给我啊!
dzx_118@126.com, 多谢了阿
给你发了一份EMAIL,请接收
可以下载,付5个金币就可以下:lol
我是betterhalfy,我收到你的邮件了,给你回邮件会不出去了,很感谢你
我也很想看看 楼主罚我一份
nmliuhai@163.com
太感谢了
楼主,我也想要,我给你留QQ了,现在给你留邮箱把,谢谢了.
edware258@163.com
我的级别还不够,没有那么多的金币,能不能先发给我一份呢,我的邮箱是:
gaohy2006@163.com
十分感谢
欢迎大家多来论坛,就有钱下了
多讨论
应网友要求,从传一个不要金币的代码
这穷人到哪里都是不受欢迎,如果是懒惰,活该,如果是勤快,那就能力有问题了,呵呵
付5个金币就可以下。大家在FDTD领域应多多发原创程序!::10de
这个最简化仿真参数的分离场PML程序,可以吸收传输的波。但后来无意间测试一源激励时,发现仿真结果幅值相差几倍,波形是一样的。检查多次代码,也没有发现问题,请大家讨论。
我之前做过这样的实验,模拟波在金属腔体的传输,当然是三维的,我想这个应该是最简单的三维模型,因为边界的处理是理想电边界。后来写场分裂的PML程序遇到一些问题。当时就考虑Berenger的场分裂思想应该也可以应用到一般的迭代计算中,于是我将普通的迭代公式也按场分裂计算。最好看波在模型中的传播场图发现波的传播过程一样,唯一不同的是cem_uestc所说的,场的幅度和一样大不一样了。我想场的幅度这个问题应该影响不是很大,因为不关最后算S参数,还是算特性阻抗,传播常数,最后都是电磁场的比值。大家认为呢?
这里好热闹呀,来的有点晚了。。。。。。。。。。
我在自己的分离场的PML边界测试过,结果与理论解吻合。不过我写的PML只针对边界使用,在内部还是采用的标准的
FDTD.这个问题出现的原因,有空时分析分析。
对于FDTD仿真波传输,虽然波形差不多,幅度变化了,我想这中情况已经对物理过程产生影响,虽然对一些问题的计算结果没有变化,但说不清楚对其他问题的计算有影响
感激楼主~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
楼主功底真扎实,希望看到楼主更多精彩贴子
谢谢楼主的奉献
楼主很厉害,多向你学习,努力进步
cem-uestc的奉献精神令人感动,大家也要继续努力了啊。
感谢ING,大家多交流下,共同进步!
:31bb :31bb :31bb :31bb
非常感谢
学习
楼主真敬业!
谢了!
太感谢了!
佩服 理论知识很扎实
xfdtd太死板,很多东西不能设置,尤其是分离场的问题,不知道这个代码行不行,我需要解决同一个PML边界上存在两种介质的问题,Gedney PML似乎搞不定。希望这个有效!!。先谢过
向lz学习了~谢谢分享
学习一下
sdffsdfsdf
赖老师吧?刚开始学这个,太痛苦了
学习了。。。。
学习了,对这个很感兴趣
学习了,对这个很感兴趣
学习了,对这个很感兴趣
学习了,对这个很感兴趣
学习了,对这个很感兴趣
学习了,对这个很感兴趣
学习了,对这个很感兴趣
谢谢老板
进行分离的结果更好