24小时热门版块排行榜    

查看: 2055  |  回复: 0

学员lpvRV5

新虫 (初入文坛)

[交流] 时域有限差分软件MEEP试用经历

MEEP(Massachusetts Institute of Technology, ab-initio.mit.edu)是一款免费的时域有限差分(FDTD,finite-difference time-domain)波动光学模拟软件,试用了一下,感觉挺不错的,各种功能较为齐全。由于是黑框程序,没有精美的图形操作界面,感觉国内用的人还是不多。需要有相关的物理基础,通过代码语句指定待模拟结构、光源等的参数,实现模拟。

给大家发一个我的新手经历吧。如果你想挑战一下自我,突破图形操作界面的浮华,提升自己的扛虐水平,就尝试一下。

软件仅支持在Linux系统下运行。大家需要首先为自己的计算机安装Linux系统。对于新手来说,为了防止使用习惯的跨度过大导致从入门到放弃,可以先尝试虚拟机版本Linux,亲测可以完美运行MEEP。

首先安装如VMWare或者Virtual Box虚拟机软件。再下载一个Ubuntu16.04 64位系统的.iso镜像(免费,Ubuntu官网即可下载),虚拟机的好处当然是一切可以重来,操作失误了使用恢复功能就能回到过去,绝不会让计算机变砖。主机系统32、64位都可以,接下来,

1.安装Ubuntu16.04 64位系统。按照虚拟机软件官网说明书操作即可。安装时断开主机网络,不然会没完没了加载一些附加功能,导致几个小时都装不完。安装大约需要半个小时,由于虚拟机软件非常人性化,虚拟机能够自动连接主机的网络。所以装好的Ubuntu应该是直接能上网的,打开Ubuntu任务栏的浏览器试一下。使用虚拟机的保存状态功能,保存这个刚安装的系统。

2.接下来进入正题,各种操作主要在Ubuntu系统的Terminal黑窗口完成。按照MEEP官网来就可以了,在线安装,这里简单叙述一下。

为Ubuntu系统下载安装Miniconda,最简单的是在线安装。依次输入以下命令。
wget https://repo.continuum.io/minico ... est-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p <desired_prefix>
export PATH=<desired_prefix>/bin:$PATH

3.在Miniconda中安装pymeep,现成的无需自己编译。
conda create -n mp -c conda-forge pymeep

4.可以了,pymeep已经安装到名为mp的独立运行环境。

如果上述安装过程卡了说明在线数据库不稳定,可以换个时间试试。操作错了,可以用虚拟机的恢复保存状态功能,重新来。

运行MEEP,打开Terminal,输入conda activate mp回车唤醒运行环境。
提示符~$前缀由(base)切换到了(mp),表明已经成功进入MEEP运行环境。

这样安装就成功了。
------------------------------------------------------------------------------------------------------------------------------------------------------

pymeep,是meep的一个非常好用的版本,即MEEP作为Python语言的功能包,通过Python程序调用MEEP。
官方示例程序详见https://github.com/NanoComp/meep/tree/master/python/examples

从示例程序随便复制一个下来,如bendflux,ring等,程序的第一行一般是import meep as mp,这是Python语言调用meep的语句。

示例程序保存为 文件名.py,注意不是 文件名.py.txt,放置到当前路径,
Terminal输入python 文件名.py回车,MEEP就开始运行,显示一些不断滚动的字幕,例如模拟光学结构参数,模拟已完成百分数%等。模拟结束后按照Python程序的设定,输出结果,例如光场图片,.h5数据库等,应该和网上的示例结果一致。

更多编程技巧详见官网教程Tutorial_Basics - MEEP Documentation等https://meep.readthedocs.io/en/latest/,说的非常详细。大家一起学习。
凭回忆写的,如果有误差请指正。

时域有限差分软件MEEP试用经历
R-C.png


时域有限差分软件MEEP试用经历-1
Python-Tutorial-wvg-straight-ez-000200.00.png


时域有限差分软件MEEP试用经历-2
Tut-ring-ez-0.118.gif


时域有限差分软件MEEP试用经历-3
Tutorial-wvg-bent-eps-000000.00.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员lpvRV5 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见