MPB以及周围软件的浅谈介绍
2010-08-18 20:34
274 查看
最近在跑MPB程序,把一些心得体会写下来。如果你对这个领域的知识和程序感兴趣,可以发电子邮件到:ghxandsky@gmail.com
a.
如果你喜欢物理,特别是固体物理,又喜欢光学,特别是光子晶体,但是你不熟悉计算机,甚至不知道GNU/Linux和*BSD为何物或者没有安装此系统,
这没关系,先搜索这方面的资料,强化UNIX风格操作系统的基本命令,这个软件将会很适合你。如果有时间,了解一下Scheme,这个语言很大用途,特别
是构建科学计算程序。
b.如果你喜欢计算机,喜欢自由/开源软件,你的机器已经安装了GNU/Linux或者*BSD系统,那么你可以快
速“预览”这个软件,不过,“预览”过后,如果你依然想把源代码洞察清楚,请翻看关于电动力学和固体物理的书籍,甚至还要了解量子力学的内容。如果你只是
从事互联网和计算机行业,这个程序“预览”在此文就为止了,珍惜时间,把精力放在更专注的领域。
c.如果你来自生物信息或者其他搞模拟计算领域的,或许MPB软件的设计“哲学”可以帮助你设计一些高性能计算程序。
d.如果你对以上abc都不“感冒”,纯粹看图片可以了,窥探一下。
以上是我一点心得,但愿可以给读者思想准备。
MPB
全称是MIT Photonic
Bands,顾名思义,是MIT科研人员开发的一套关于光子晶体能带结构计算工具,之所以冠名“光子”,因为计算的目的就是为了让普通光源(激光)发出光
能量通过这些“猜想”结构的晶体,使到某些频谱范围的受到限制,就是“禁带”。利用禁带的现象,可以制作光学滤波器,商业化后可以安装在光纤网络交换机
中,提高光通滤波效率能耗,提升性能价格比,促进大规模应用,提高互联网基础设施的带宽,彻底改变“龟速”状况,提高广大人民群众互联网生活的幸福感,构
建和谐社会(小星越吹越远了.^_^.)。说明一个问题,其实物理学研究和广大人民群众是息息相关。
这里说明我的工作平台:硬件
Intel P4 2.8Mhz(HT)、i865G、DDR 1G、Geforece 6800GT
256RAM(原本买来打游戏的,现在却用来搞可视化)、SATAII 500G;软件平台Debian GNU/Linux Lenny
5.05(32bit) ,only use stable
,具体基础软件版本参看debian.org。总的来说:没有钱买新机器,Debian稳定易用。
安装软件环境:
sudo apt-get install mpb h5utils qtiplot nlpot
这里,安装程序自动关联libctl、fftw和guile。
说明一下程序的基本功能:
a.Guile(GPL)
是GNU工程一个项目,主要提供GNU/Linux系统的语言扩展,暂时发现支持C和Scheme(没有深入挖掘),我们知道C语言很快,Scheme脚
本语言很灵活,可不可以把两者结合?对!Guile可以满足你需求,用C语言写核心程序,Scheme写原始数据脚本和递归控制流程,当然,混合编程是一
个很深的学问,慢慢学习(我曾经想过使用Guile对GSL的封装,可惜已经有别人做了,而且公开了,我思想落伍了)。
b.mpb(GPL)提供能带计算的平面波展开法,包含麦克斯韦方程组的变换展开。详细见源代码。
c.h5utils(GPL)是一个可视化的组件,提供生成二维图和三维可视化文件,.v5d和.vtk,可以分别使用vis5d和paraview软件,具体这些程序哪里下载和安装,请自行搜索或者Email我。
d.qtiplot(GPL),Qt界面的绘图软件,功能齐全。
e.libctl(GPL)是一个关于常用晶体格子的函数库,提供晶格和格点的“描述”,向上支持调用,典型的软件有MPB和MEEP。
f.fftw是广泛使用的离散傅立叶变换库之一,类似有GSL,LAPACK和私有的Intel MKL等。
要注意的是,以上软件使用GNU GPL自由软件协议发行。好的,现在默认你已经安装了以上软件。如果不能很好安装或者想使用最新版本,请到MPB官方网站
下载对应软件的最新版本,按照安装提示自行解压安装。
现在要运行测试了,假设目录位置为mpb/,则编写以下文件:
main.ctl 和 run.sh
在/mpb目录下输入命令:
$ chmod 755 run.sh //该为可执行文件
$ ./run.sh //执行
等待结果,那么就可以得到图片和数据。
至于怎样绘制main.tm.dat和main.te.dat的数据?首先删除这些文件的第一行,替换删除“tmfreqs:,”,除去“、”替换为空格。好了,打开qtiplot把数据读取进去,划出来就可以了。这里粗糙画画。
这里附加一个其他main.ctl脚本的结构生成的三维图形:
谢谢你能看到这里。.^_^.
a.
如果你喜欢物理,特别是固体物理,又喜欢光学,特别是光子晶体,但是你不熟悉计算机,甚至不知道GNU/Linux和*BSD为何物或者没有安装此系统,
这没关系,先搜索这方面的资料,强化UNIX风格操作系统的基本命令,这个软件将会很适合你。如果有时间,了解一下Scheme,这个语言很大用途,特别
是构建科学计算程序。
b.如果你喜欢计算机,喜欢自由/开源软件,你的机器已经安装了GNU/Linux或者*BSD系统,那么你可以快
速“预览”这个软件,不过,“预览”过后,如果你依然想把源代码洞察清楚,请翻看关于电动力学和固体物理的书籍,甚至还要了解量子力学的内容。如果你只是
从事互联网和计算机行业,这个程序“预览”在此文就为止了,珍惜时间,把精力放在更专注的领域。
c.如果你来自生物信息或者其他搞模拟计算领域的,或许MPB软件的设计“哲学”可以帮助你设计一些高性能计算程序。
d.如果你对以上abc都不“感冒”,纯粹看图片可以了,窥探一下。
以上是我一点心得,但愿可以给读者思想准备。
MPB
全称是MIT Photonic
Bands,顾名思义,是MIT科研人员开发的一套关于光子晶体能带结构计算工具,之所以冠名“光子”,因为计算的目的就是为了让普通光源(激光)发出光
能量通过这些“猜想”结构的晶体,使到某些频谱范围的受到限制,就是“禁带”。利用禁带的现象,可以制作光学滤波器,商业化后可以安装在光纤网络交换机
中,提高光通滤波效率能耗,提升性能价格比,促进大规模应用,提高互联网基础设施的带宽,彻底改变“龟速”状况,提高广大人民群众互联网生活的幸福感,构
建和谐社会(小星越吹越远了.^_^.)。说明一个问题,其实物理学研究和广大人民群众是息息相关。
这里说明我的工作平台:硬件
Intel P4 2.8Mhz(HT)、i865G、DDR 1G、Geforece 6800GT
256RAM(原本买来打游戏的,现在却用来搞可视化)、SATAII 500G;软件平台Debian GNU/Linux Lenny
5.05(32bit) ,only use stable
,具体基础软件版本参看debian.org。总的来说:没有钱买新机器,Debian稳定易用。
安装软件环境:
sudo apt-get install mpb h5utils qtiplot nlpot
这里,安装程序自动关联libctl、fftw和guile。
说明一下程序的基本功能:
a.Guile(GPL)
是GNU工程一个项目,主要提供GNU/Linux系统的语言扩展,暂时发现支持C和Scheme(没有深入挖掘),我们知道C语言很快,Scheme脚
本语言很灵活,可不可以把两者结合?对!Guile可以满足你需求,用C语言写核心程序,Scheme写原始数据脚本和递归控制流程,当然,混合编程是一
个很深的学问,慢慢学习(我曾经想过使用Guile对GSL的封装,可惜已经有别人做了,而且公开了,我思想落伍了)。
b.mpb(GPL)提供能带计算的平面波展开法,包含麦克斯韦方程组的变换展开。详细见源代码。
c.h5utils(GPL)是一个可视化的组件,提供生成二维图和三维可视化文件,.v5d和.vtk,可以分别使用vis5d和paraview软件,具体这些程序哪里下载和安装,请自行搜索或者Email我。
d.qtiplot(GPL),Qt界面的绘图软件,功能齐全。
e.libctl(GPL)是一个关于常用晶体格子的函数库,提供晶格和格点的“描述”,向上支持调用,典型的软件有MPB和MEEP。
f.fftw是广泛使用的离散傅立叶变换库之一,类似有GSL,LAPACK和私有的Intel MKL等。
要注意的是,以上软件使用GNU GPL自由软件协议发行。好的,现在默认你已经安装了以上软件。如果不能很好安装或者想使用最新版本,请到MPB官方网站
下载对应软件的最新版本,按照安装提示自行解压安装。
现在要运行测试了,假设目录位置为mpb/,则编写以下文件:
main.ctl 和 run.sh
|
|
$ chmod 755 run.sh //该为可执行文件
$ ./run.sh //执行
等待结果,那么就可以得到图片和数据。
至于怎样绘制main.tm.dat和main.te.dat的数据?首先删除这些文件的第一行,替换删除“tmfreqs:,”,除去“、”替换为空格。好了,打开qtiplot把数据读取进去,划出来就可以了。这里粗糙画画。
这里附加一个其他main.ctl脚本的结构生成的三维图形:
谢谢你能看到这里。.^_^.
相关文章推荐
- 本附录介绍iOS系统包含的框架,它们为编写iOS平台的软件提供必要的接口。下面的表格尽可能地列出框架中的类、方法、函数、类型以及常量使用的关键前缀,请避免在您的符号名称中使用这些前缀。
- Java Android程序员软件开发知识:枚举的介绍,以及代码的编写教程。
- Syncany开源共享软件的介绍以及其在linux下的安装 2012-03-10 05:51:03
- 高性能集群软件Keepalived的介绍以及安装与配置
- 浅谈软件开发中设计的重要性以及错误设计的避免和修正
- php扩展memcache和memcached区别?以及memcached软件的介绍
- Syncany开源共享软件的介绍以及其在linux下的安装
- Rose双机热备两款软件原理介绍以及共享存储双机热备方案和镜像双机热备方案介绍
- IFC标准是为了满足建筑行业的信息交互与共享而产生的统一数据标准,是建 筑行业事实上的数据交换与共享标准。本文概要介绍了IFC标准的产生及发展 历程,IFC的整体框架结构,简要说明了IFC标准的实现方法和过程,描述了 当前的应用以及我们应该更加积极地利用IFC标准为建筑软件行业服务。
- 【工具介绍】VMware Workstation软件以及安装虚拟机
- [喵咪BELK实战(1)]浅谈日志的重要性以及介绍BELK
- hadoop环境配置(1)--总体软件需要介绍,以及fedora安装注意事项
- GPU(CUDA)学习日记(十四)------CUDA软件更新信息 Parallel Nsight 3.0新特性以及NVAPI介绍
- 关于软件项目版本的命名规则以及格式介绍
- 【CC2640】CC2640开发板、软件以及协议栈介绍
- Vmware 11使用-软件操作以及网卡模式区别介绍
- GPU(CUDA)学习日记(十四)------CUDA软件更新信息 Parallel Nsight 3.0新特性以及NVAPI介绍
- 关于软件测试中的强连通图、MCDC覆盖以及testbed知识点汇总介绍
- 自我介绍以及对于软件工程的看法
- Rose双机热备两款软件原理介绍以及共享存储双机热备方案和镜像双机热备方案介绍