第一次写博客,写得不好请大家不要见怪。
MEEP是一款开源软件,支持MPI并行计算。之前使用过一段时间,感觉计算的结果还是有一定的参考价值。唯一不太满意的地方是这款软件占用内存太多,特别是进行Plasma仿真时,60um*12um*80(resolution)二维结构占用内存空间超过2GB。三维仿真时需要降低resolution,否则单台计算机无法提供足够多的内存。
在编译开发之前先要考虑两个问题:
1)是否需要并行计算
2)32位还是64位
第一个问题,如果不是特别复杂的结构,例如二维波导,不需要并行计算。使用并行计算后速度反而更慢。不过并行计算有一个好处,就是可以把内存消耗平均分配到多台计算机,从而可以在程序里增加resolution,使结果更加精确。第二个问题就看个人喜好。不过我在64位下没有成功编译Harminv,估计是使用的某个库只有32位的。
好,现在开始准备编译MEEP。接下来只介绍在64位下编译并行MEEP,非并行以及32位MEEP请依葫芦画瓢自行编译。
首先,开发环境windows 7+visual studio 2012。
然后,到这个地址http://ab-initio.mit.edu/wiki/index.php/Meep_download去下载MEEP以及这个地址