折腾Rsoft能带图的三两事
Rsoft能带绘制最近在实验室被光子晶体能带仿真搞得头大发现这玩意儿的能带图绘制简直是个玄学现场。官方教程看着挺美好实操起来分分钟教你做人。特别是那个BandSOLVE模块每次手动调参数都能让我怀疑自己是不是色盲——毕竟红橙黄绿青蓝紫的能带线混在一起实在辣眼睛。后来发现用脚本才是王道直接上硬货 能带计算自动化脚本 Set app CreateObject(RSoft.BandSOLVE) app.OpenFile(D:\PhC\Triangular_Lattice.bse) app.CalculateBandStructure While app.IsBusy WScript.Sleep 1000 Wend app.ExportBandData C:\output\band_data.txt, 0这段脚本里藏着三个大坑路径必须用反斜杠、计算完成需要死等、导出版本号参数千万别手抖。我第一次跑的时候因为用了正斜杠系统直接给我弹了个火星文报错当场自闭半小时。能带数据到手后才是重头戏。用Python画图时发现Rsoft输出的k点坐标居然是相对值得手动换算成布里渊区路径。这时候不祭出numpy大招都不行# 布里渊区路径修正器 k_points np.loadtxt(band_data.txt)[:,0] Gamma_to_K k_points[:50] * 0.5 # 六边形晶格修正系数 M_to_Gamma k_points[50:100] * np.sqrt(3)/3 # 拼接后记得在拐点处插入NaN避免连线这堆修正系数可不是我瞎编的是拿正六边形晶格的倒空间基矢硬算出来的。有次师弟偷懒没做坐标变换结果能带图画出来像条歪歪扭扭的贪吃蛇被导师当场抓获。Rsoft能带绘制最刺激的还是超晶格能带分析。当我把重复单元数从5改到10时原本流畅的能带突然开始鬼畜% 能带折叠观察术 folded_bands zeros(100,20); for n 1:5 folded_bands(:,n) original_bands(:,1) (n-1)*pi/a; end % 此处建议备好速效救心丸这种时候就得靠紧束缚近似来救命。有次为了验证计算结果我左手握着Rsoft的输出数据右手拿着自己写的紧束缚模型代码活像个占卜师在对照水晶球和塔罗牌。折腾久了发现几个保命技巧1. 每次跑脚本前备份bse文件2. 定期清理临时文件防止内存泄漏3. 遇到诡异能带先检查边界条件。上周刚有个哥们因为忘了设PML边界算出来的能带自带隐身特效——所有模式都跑光了。说到底Rsoft这玩意就像个脾气古怪的老教授。你按他的规矩来能带图画得比教科书还漂亮要是自作聪明分分钟给你整出个量子艺术展。现在我的项目组里流传着新梗没在深夜被Rsoft虐哭过的人不足以谈光子人生。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2434314.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!