第一次写博客,写得不好请大家不要见怪。

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以及这个地址http://ab-initio.mit.edu/wiki/index.php/Harminv去下载Harminv。

接着,下载这几个库:

1)MPICH2,http://www.mpich.org/downloads/。选择最底下Unofficial Binary Packages里的windows x86_64。选择这个的原因是这个库安装之后就可以用,不用自己编译。

2)BLAS和LAPACK,http://icl.cs.utk.edu/lapack-for-windows/clapack/index.html。去最底下下载clapack-3.2.1-CMAKE.tgz后解压,然后用cmake转为visual studio版本,然后编译。

3)HDF5,http://www.hdfgroup.org/HDF5/release/obtain5.html,选择底下hdf5-1.8.13-win64-VS2012-shared.zip。如果不需要HDF5可以不用安装这个库。

4)FFTW3,http://www.fftw.org/install/windows.html,选64位的那个。

最后,建立一个名为config.h的文件,以后要用内容为:

#pragma once/* Define if you have a BLAS library. */
#define HAVE_BLAS 1/* Define if you have libharminv */
//#define HAVE_HARMINV 1/* Define if we have & link HDF5 */
#define HAVE_HDF5 1/* Define to 1 if you have the <hdf5.h> header file. */
#define HAVE_HDF5_H 1/* Define if you have LAPACK library. */
#define HAVE_LAPACK 1/* Define to 1 if you have the `fftw3' library (-lfftw3). */
#define HAVE_LIBFFTW3 1/* Define if you have the MPI library. */
#define HAVE_MPI 1/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1

好,第一部分到此结束。有时间的时候就会放上第二部分。这里放一张windows下并行64位添加了许多内容的MEEP程序:

麻省理工时域差分软件 MEEP windows 下编译开发(一)——准备工作相关推荐

  1. 麻省理工时域差分软件 MEEP windows 下编译开发(二)——开始编译

    1)用vs2012自带的lib.exe将fftw3里的.def文件导出为.lib文件. 2)新建一个控制台程序,并添加MEEP源文件,就是MEEP压缩包里src文件夹里的所有文件,如下图: 在每个.c ...

  2. 查看和修改vmdk的软件DiskGenius Windows下读写Linux之EXT3文件系统Ext2Fsd

    DiskGenius 虚拟机的最佳伴侣,很很的分区软件. Windows下读写Linux之EXT3文件系统,Ext2Fsd软件 很多从Windows平台转到Linux下的朋友都不会只在机器上装一个Li ...

  3. Windows下编译tensorflow-gpu教程

    这两个也要看: https://zhuanlan.zhihu.com/p/29029860 https://zhuanlan.zhihu.com/p/34942873 Windows下编译tensor ...

  4. windows下spark开发环境配置

    --本篇随笔由同事葛同学提供. windows下spark开发环境配置 特注:windows下开发spark不需要在本地安装hadoop,但是需要winutils.exe.hadoop.dll等文件, ...

  5. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于"QT + OpenCV + MinGW在windows下配置开发环境"着实让人头疼,单次配置时间相当长,也十分不容 ...

  6. Windows下Android开发环境搭建和配置

    关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...

  7. Windows 下 PHP 开发环境配置系列二(使用 MODx CMS)

    Windows 下 PHP 开发环境配置系列一(PHP+Apache+MySql; Zend Debugger+PDT) 软件的下载地址在系列一中有列出 1. 需安装软件 PHP:   php-5.2 ...

  8. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  9. STC系列51单片机在Windows下的开发

    简介 STC的8位MCU有89/90/10/11/12/15/8(A/F/G/H)这几个大系列, 都是8051衍生的8位单片机, 每个系列的特点如下 STC89系列 传统的8051单片机, 功能上和A ...

最新文章

  1. 操作系统学习:内存分页与中断
  2. 05CSS的引入方式
  3. Ruby系统中的AJAX开发技术简析
  4. SQL查询表对应的外键约束
  5. Object.defineProperty的理解
  6. 在Sublime Text 3中配置编译和运行Java程序
  7. 如何找到数字数组的总和
  8. 多线程模式之MasterWorker模式
  9. Linux服务器日常巡检脚本分享
  10. IIS7 + Tomcat7 整合共用80端口
  11. Windows2000下Api函数的拦截分析
  12. luogu3244 bzoj4011 HNOI2015 落忆枫音
  13. C语言求阶乘(附完整源码)
  14. String.format()方法的使用
  15. Linux读取内核空间,linux,arm_arm如何在内核空间直接读写某个物理地址(或者进程的虚拟地址),linux,arm,c,linux-kernel,memory - phpStudy...
  16. Qt 之 直播流播放Qt-Vlc
  17. 主流微波雷达感应语音播报雷达感应照明灯LD602模块
  18. 三维扫描仪[8]——如何设计一台云台式扫描仪(机械结构)
  19. 湖北师范大学计信计科2018届期末实训EduCoder习题 (参考答案)
  20. 失眠神器哪个最好?每天晚上睡不着的你一定要试试的东西

热门文章

  1. python requests请求接口返回304问题解决
  2. 【css】CSS层叠样式表二
  3. Excel中将文本逆序显示
  4. MongoDB下载安装与测试连接(windows)
  5. 三天打鱼两天晒网(python)
  6. C/C++ 栈的应用:表达式求值
  7. NIST《2021年网络安全和隐私年度报告》记录
  8. 在JavaScript中组合字符串的4种方法
  9. VIA威盛4-IN-1最新驱动 v4.55
  10. vue移动端中使用echart折线面积图(设置渐变色)解决ios6/11渐变色不显示bug