2008年5月13日


上图来自:Nature

基因组测序完成后,科学家发现不同复杂性的生物体,比如人体和果蝇,他们的基因数量差别比期望的要小。人类的基因数大约为24000,果蝇的大约为14000,二者相差不到2倍。如今,丹麦的科学家不满足于仅用基因组成这样的化学组成来衡量生物体的复杂性,他们采用网络的方法,来度量蛋白质相互作用的数量。结果是人与果蝇的蛋白质作用数量的差别扩大到10倍。他们认为,这样的度量方式可以更好的表征不同生物体的复杂度。

蛋白质相互作用实质是一种分子间的弱相互作用,或者叫物理相互作用。而测定基因序列的方式我们可以看成从化学组成角度去看待生物体之间的差别。这两种方法本质上是一致的。因为化学组成不同,其物理作用方式与强度必然不同。然而,不能不说,从物理作用角度出发去衡量生物复杂性,揭示了分子生物学研究的方向,具有里程碑式的意义。

在材料领域,众所周知的是,凝聚态材料的性质更多的取决于分子间相互作用的方式。同一材料的不同晶型,不同凝聚方式,造成材料性质的变化。从统计学上讲,分子的平动,转动能对配分函数的贡献占主要部分,而分子内的振动能贡献只占约10%。这从侧面说明了,不同的分子堆积方式是影响统计性质的关键。更一般化地,我们可以把分子的所有可能的原子组成称为构象空间,而把弱相互作用的不同方式称为弱相互作用空间,那么,后一空间将更多决定材料的宏观性质。

生物学和材料的不同之处非常有趣,就是什么样的组成能够获得生命的问题。从化学角度恐怕是难以完全阐述的。因此,从物理作用角度分析生命现象,同从弱相互作用研究材料的凝聚态性质有异曲同工的妙处。

参考科学网报道: PNAS:科学家估算出人体蛋白质相互作用量

23:18 | 评论 (0)

1. 点群对称的入门介绍,图文并茂,英文。请直接点击下图进入。

2. 关于点群对称的更加系统和全面的一个站点,University of Newcastle upon Tyne, UK

http://www.phys.ncl.ac.uk/staff/njpg/symmetry/index.html

3. UCSD超算中心的量子化学与点群课程,其中point group 部分提供ppt课件下载

http://www.sdsc.edu/~kimb/ClassNotes185.html

20:51 | 评论 (0)

2008年5月5日

“化学振荡和混沌的若干研究”的两段综述
引自:曾庆轩, 化学振荡和混沌的若干研究, 博士学位论文,北京理工大学, 1993
第一段引自原文1.1节, 第二段引自原文的4.5.4节。

1.1 本课题的背景及研究的发展情况简述

本论文研究非平衡非线性宏观化学反应动力学中的非线性现象, 特别地本论文要研究化学振荡以及化学混沌的问题。

在历史上,热力学的出现及“熵”概念的提出是对19世纪科学思想的非常重大的贡献, 它是将复杂对象作为整体研究的开端,在解释复杂体系自发趋于平衡和无序方面已经取得了巨大成功[1,2]。由于热力学的巨大成功, 化学平衡态一直被认为是一种通常的情况而被科学界极大多数人所接受。然而事实上, 趋于平衡和无序并不是自然界的一切。大量的事实可以说明这一点。例如, 生命现象越来越复杂, 然而越来越有序; 许多生化反应中反应物浓度是周期性变化的(如糖酵解反应中酶的浓度的振荡)[3]; 无机界中岩石中规则的花纹[4]; 流体力学中的Bernard花纹[5,6]; 生命群体数量的周期性变化, 等等。所有这些有序结构是热力学不能解释的。尤其是实验室中发现的Liesegng环[7], BZ (Belousov- Zhabotinsky)反应[8-10]更令人难理解。为解释这些现象, 必须从传统思想中解放出来。 

在这种情况下, 非线性非平衡态热力学应运而生。在这个领域的研究中, 化学振荡和化学混沌的研究吸引了许多人的注意力。原因十分简单, 在传统科学无能为力的大量自然现象中, 化学振荡和混沌恰恰是一条迈向新学科的希望之路。对化学振荡的研究, 不仅可以用来解释化学反应系统中出现的时空有序结构, 而且可以用来解释其它学科中出现的类似现象。同时, 化学振荡还有巨大的潜在的应用价值, 例如在催化反应中, 强迫性的浓度振荡可以大幅度地提高反应速率及选择性[11-15]; 生物学家发现人体中至少有150种反应属化学振荡反应[16]; 最近有消息表明, 已有学者利用化学振荡原理设计了计算机元件[16]。在此基础上, 化学计算机如果能建立起来, 它将能更好地模拟人体中的生化过程及神经传输。 

在有化学振荡出现的化学反应中, 会涉及到各种形式的非线性反馈, 主要的两种反馈形式是热反馈和化学反馈。热反馈起因于反应动力学中的Arrhenius定律, 在一定条件下, 会导致爆炸和燃烧。由热反馈导致的非线性现象, 已经得到了很好的研究, 形成了成熟的理论─热爆炸理论[17]。化学反馈是指这样一种情况: 反应中间产物既是反应物, 又是催化剂, 反应过程中出现自催化现象,从而导致复杂的非线性的化学动力学现象。在耗散结构理论中, 对化学反馈的若干经典例子进行了深刻的总结。 

现在已经知道, 化学振荡正是由化学动力学的非线性反馈造成的。化学振荡反应的典型例子是Belousov及Zhabotinsky发现的BZ反应。BZ反应是指以溴酸盐为氧化物, Mn2+Fe2+等为催化剂, 丙二酸等有机酸为还原物质的一类反应, 最早是1951年由Belousov发现的[8] ,后来Zhabotinsky又进一步研究, 1964年得到确认。同时引起了科学界的注意。这个反应体系比起生物振荡 体系来说虽然远为简单, 却可以呈现出丰富多彩的和生物自组织现象很类似的时空有序现象(化学振荡、空间结构、化学波等)。1972年Oregon大学的R. M. Noyes, Monyana大学的R. J. Field, 及E. Koros 提出了解释BZ现象的FKN机理[18]。并被科学界称呼为Oregonator[19], 意思是说这个体系是一个特定的振荡器。机理的公式表示如下:

A+Y→X+P
X+Y→2P
A+X→2X+Z
2X→A+P
Z→fY

其中X=HBrO2, Y=Br– Z=Ce4+, A=BrO3–, P=HBr。f是个适当的化学计量系数。

上述机理对解释BZ类反应起了巨大的作用。1978年, Koros等人发现了没食子酸–溴酸钾–硫酸体系在无金属离子催化的条件下, 也可以发生振荡反应, 经过实验, 不仅证实了非催化类振荡反应的存在, 而且找出了发生非催化振荡反应的一些规律[20]。但FKN机理并不能很好解释非催化类振荡反应, 为此Orban等人在FKN机理的基础上, 提出了非催化振荡反应的基本模型, 即OKN机理[21]。除BZ类振荡反应以外, 人们逐渐发现并深入研究了Bray-Liebhafsky反应, Briggs-Rauscher反应及苯的自氧化反应[22]。八十年代, I. R. Epstein等人经过多年的努力, 发现了另一类由亚氯酸盐, 碘酸盐组成的振荡反应[23-24], pH值作为控制参数的振荡反应也得到了研究[25]。 

1977年Texas大学的Schmitz等人首次报道了在CSTR (Continuous Stirred Tank Reactor)中的BZ反应出现的非周期行为[26], 后经多人持续不断的努力[27-32], 1986年H. Swinney等提出了解释非周期振荡的模型[33], 确定BZ反应会出现化学混沌。 

在化学振荡的研究中, CSTR技术的引入, 发挥了积极的作用,它使人们观察到了许多前所未见的复杂现象, 如多定态, 双稳态, 拟周期及混沌等[34]。 

以上是对化学振荡实验发展的简述。表1.1和1.2中给出了比较重要的研究工作发展。

     表1.1  CSTRBZ反应研究简史(实验)[35]

1964

Zhabotinsky, Vavilin Zaikin

1973

Zhabotinsky, Vavilin Zaikin

1974

Sφrensen

1975

Marek and Svobodova, Marek and Stuechl

1976

De Kepper et al

1976-81

Graziani, Hudson, Schmitz et al

1978

Rossler and Wegmann

1980

Mzselko

1980-2

Bordeaux-1

1981-3

Texas/Roux

1985

Hourai et al

1985-7

Bordeaux-2

1986

Maselko and Swinney

 

              1.2  BZ反应机理及计算研究简史

1972

FKN机理

1974

Field and Noyes–Oregonator

1975

Field–reversible Oregonator

1975-9

Edelson et al

1978

SNBE Computation

Rossler and Wegmann–mapping

1980

Janz et al–P feed back

1983

Dekepper and Bar–Eli

1985

Richetti and Arneodo

1987

Barkley et al

1988

Bar–Eli and Noyes

1988-9

Field and Gyogyi

1987年Luis. F. Razon发表了关于反应多态及反应不稳定性的综述文章[36], 对化学反应的非线性现象进行了综述。 1990年R. M. Noyes 发表了关于化学振荡器类型及BZ反应机理方面研究的两篇综述文章[22,37]。总之, BZ反应是人们研究最多, 认识最深的一类反应。当然现在仍然不能说已经完全弄清了其反应机理。

除了实验研究外, 反应模型的研究也是理解化学振荡的一种重要手段, 现在已有的重要模型有Brusselator[38-39], Oregonator, Lokta-Votterrs[40], Gray-Scott[41-43]等模型。这些模型对非线性化学动力学的研究起了巨大推动作用。化学反应在远离平衡的情况下会出现一些复杂现象: 多重定态(Multiple Steady State), 松驰振荡(Relaxation Oscillation), 近正弦振荡(Near-Sinasoidal Oscillations), 具有大小尖峰的振荡, 高频振荡及破缺, 倍周期, 准周期及混沌等, 数学模型的建立为研究这些现象出现的机制提供了条件。为处理这些模型, 涉及到研究方程组的解, 解的稳定性, 周期解, 周期解的稳定性, 系统的稳定性等。本论文将提供一些先进的计算方法及程序软件。

4.5.4 多态(多定态)和变量的个数

多态现象(又叫多重定态现象)是指在一定的控制条件下体系会面对可能的多个定态。在某些情况下, 还可能会发生不同定态间的突然跃迁(例如点火、熄火), 这种跃迁现象无疑对于象化工过程等等工业过程的安全问题和稳定性问题是极为重要的。若体系有自动调节控制参数的能力, 这种不同定态间的相互跃迁还有可能赋于体系某种适应外界环境的功能。

现在已经清楚, 要得到多态(多解)性, 要导致点火或熄火, 只需要反应模型中出现一个变量。要得到等温化学振荡, 就需要在反应模型中出现二个变量。要得到化学混沌性质, 至少要有三个变量。本文研究中所发现的混沌图象, 有力地表明文中提出的化学模型十分适合进一步的研究和应用。

对化学开放系统的多态(multiple stationary state), 早在1913年由J. Taffanel及C. leFloch, 在1918年由Liljenroth就已经提出来了。1928年 N. N. Semenov (苏联诺贝尔奖获得者) 把这些概念用于封闭系统的点火[86], 1938年, D. A. Frank-Kamenetskii则用于解释多相燃烧的点火和熄火[87]。

1941年, Zeldovich在研究绝热开放系统(CSTR)的定态[88]、Zeldovich等人在研究非绝热CSTR时发现了“孤立圈”、“蘑菇”曲线。
其他研究的历史回顾在下面作一简述。

等温自催化化学反馈的CSTR: 1941年,  Zeldovich发现只有立方催化机理, 才有可能导致多态[88]。40年代K. G. Denbigh考虑了CSTR中非简单反应动力学[89]。60年代, 在国外教科书中开始出现等温CSTR中酶的反应多态。1976年, B. F. Gray等人发表了综述文章[90]。70年代初, 出现了Schlogl模型。70年代末, K. F. Lin 提出了CSTR中的nA+mB→(m+n)B反应[91]。80年代, P.Gray和S. K. Scott提出并确立了“立方催化”模型, 并相继报导了它们的多定态、点火、熄火和化学振荡等性质。

非等温自催化化学反馈的CSTR: 1941年,  Zeldovich[88]首次研究了绝热情况, 包括多定态、点火、熄火。同时间, 他和Y. A. Zysin首次研究了非绝热情况, 报导了“孤立圈”和“蘑菇”形状的定态曲线花样。1954年, L. A. Vulis发表了第一本专著[92], 但内容较复杂。1967年, T. Furusama等人重新独立提出了孤立圈和蘑菇状图样的可能性[93]。70年代初, V. Hlavace又独立地发现了孤立圈, 并一直为以后的研究所利用[94]。1974年和1976年, W. H. Ray发表两篇里程碑式的文章[95,96]。80年代初, 研究者们发现了更丰富的信息[97]。

本文第三章和第四章研究了在开放流动系统中进行的具有自催化或交叉(双重)催化机制的简单化学反应模型, 并从初步的研究得到该模型定态的一些性质。在第五章和第六章中, 我们将研究具体的振荡反应, 以便把第二、三、四章的理论, 运用到实际问题之中。

22:41 | 评论 (0)

可能是最全的关于水的科学研究汇总站点: http://www.lsbu.ac.uk/water/sitemap.html

主要内容:

  • 水的分子结构,计算方法
  • 液态水
  • 水合物与水和作用
  • 经常被问到的问题,比如姆贝巴效应,就是为什么冰箱里热水比冷水更快结冰

20:58 | 评论 (0)

http://simulation.5d6d.com/thread-1387-1-1.html
C&EN August 13, 2007 Volume 85, Number 33 pp: 46-49

Tip 1. Conduct thorough literature searches and cite precedents. "Good literature searching allows you to provide a cogent paper that is well-thought-out and well-organized, and it also keeps you from embarrassing yourself," says analytical chemist W. Jeffrey Hurst at the Hershey Co. For example, it behooves you to discover earlier rather than later "that what you thought was seminal work has been reported on 12 times" already, he says.

Tip 2. Read scientific literature for content and style. Study lots of articles for technical material, but keep an eye out for particularly clear writing styles and incorporate them into your work, says catalysis chemist Gregory C. Fu at Massachusetts Institute of Technology. Crystallographer Anthony L. Spek at Utrecht University, in the Netherlands, also suggests reading well-written papers in the specific journals you want to publish in.

Tip 3. Clarify authorship carefully. Sometimes the authorship is straightforward; sometimes it's not. Authorship on journal articles can become an ethical issue, and in certain cases, disputes have cost scientists their jobs and reputations. "Be meticulous and make sure that authorship is correct," recommends Sean B. Seymore, a professor of patent law at Northwestern University who holds a doctorate in chemistry and has written about authorship abuse (
http://law.richmond.edu/jolt/v12i3/article11.pdf).

Tip 4. Get organized now. Most authors develop a plan for organizing a paper sometime near the end of completing the lab work. Some researchers pull out the original research grant proposal, scribble the main points on a whiteboard, or take a stab at an abstract.

Other authors use writing as a tool to guide their research. Chemist George M. Whitesides at Harvard University advocates early outlining so strongly that he wrote a paper about it (Adv. Mater. 2004, 16, 1375).

A former Whitesides postdoc, Teri W. Odom, adopted the process for her materials research group at Northwestern University. "The principle of the Whitesides' paper-writing process—that outlines and drafts should be constructed in the course of solving a problem rather than after all the data have been analyzed—has been useful."

She says her group will often go through about eight outlines before drafting the manuscript. As an exercise, Odom also requires students to complete a fully referenced paragraph written in the Nature format (
www.nature.com/nature/authors/gta/Letter_bold_para.doc).

Tip 5. Allow months for revision. Cornell University chemistry professor Roald Hoffmann, a Nobel Laureate, goes through many drafts of a manuscript with his students. "A typical number is 23," he says.

Tip 6. Know your audience. Nonspecialists will read your journal article. Hoffmann advises scientists to "write the manuscript for an intelligent graduate student, not a professor."

When writing up interdisciplinary work, take nothing for granted and explain everything, says University of Iowa physical chemist Vicki H. Grassian, who works on environment-related surface science and nanotechnology. For example, she has had reviewers repeatedly question particular calculations for atmospheric reactions that have been "routinely done in heterogeneous catalysis for more than 50 years," she says.

Tip 7. Tell clear and concise stories. Many researchers refer to journal articles as the "stories" of their research. No one likes a long-winded, disorganized, tangential, and confusing story. Chemists and engineers suggest focusing on critical content and succinct sentences. "Create no mysteries—those that nature provides are sufficient," Hoffmann says.

Tip 8. Seek help with grammar and language. "One often hears that English has become the de facto language of science," says Patrick H. Vaccaro, a physical chemist at Yale University. "As a reviewer for several journals, it often seems more appropriate to state that 'bad English' has become the lingua franca of modern science." Vaccaro and other professors direct both native and nonnative English speakers with poor basic writing and grammar skills to university writing centers and language classes.

Tip 9. Learn from the best. Graduate and postdoctoral advisers are just two sources of writing advice. "Don't be afraid to ask other researchers who have been successful in achieving top-tier publications and funding or who are known as good writers to review your material," says chemical engineer Thomas H. Epps III at the University of Delaware.

Tip 10. Find several readers. Journal articles contain a few big concepts and many small details that an author could miss. Gabriela C. Weaver, a chemical education researcher at Purdue University, pairs up her graduate students as "writing buddies." They read each other's work before she provides comments. Utrecht University's Spek sends his manuscripts to colleagues who are not coauthors so they can comment on them before he submits them to journals.

Because mistyping a number can cast doubt on the rest of the results, organic chemist Roman Dembinski at Oakland University in Rochester, Mich., has every member of his group proofread each manuscript—whether they are authors on it or not. Chemist Thomas Higgins of Chicago's Harold Washington College points out that "colleagues in the humanities make good proofreaders."

Tip 11. Write often. Chemists say putting down just one paragraph of observations each day can help improve writing. "Get as much experience writing as you absolutely can," says Cynthia S. Dowd, who recently joined the chemistry faculty at George Washington University. "Some PIs don't 'allow' you to write, but take a stab at writing the experimental section, introduction, results, and discussion anyway."

Tip 12. Try different genres. Writing for the layman about nonscience topics can be a fun and helpful way to improve your writing. For example, Michelle Francl, a theoretical chemist at Bryn Mawr College, in Pennsylvania, has published essays on topics ranging from parenting to music. Hoffmann has published so many scientific and literary works, among them poems and plays, that he now describes himself as a "theoretical chemist and a writer."
 
相关转载

20:32 | 评论 (0)

2008年5月2日

为了能让Google更好的帮助你,你需要了解以下技巧。以下来自Michael Miller,翻译雪影蓝风,提炼ChemiAndy

1. AND与OR 或需要大些;小写and/or会被当作关键词,且被忽略掉;

2. 被忽略掉的关键词还包括:how where what a

3. 如果一定要包括how这类可能被忽略的关键词,请写作+how

4. 如果你想要搜索“bass”,你所得到的页面可能会包括男歌手一类的或是关于鱼的一类的。如果你仅向搜索的是歌手这类的页面,输入搜索要求时应如下:“bass -fish”。

5. 要搜索类似“elderly”的词,输入“~elderly”,所得到的页面就会不仅是包括“elderly”这个词,还会有包括“senior”、“older”、“aged”等等词的页面。

6. 你想要搜索的页面是按规定的顺序,将这两个词作为一个词组包含在内的,你就应该在输入搜索要求时输入"monty python"——确保这个词组在引号之内。这样的话,如果没有按照规定的顺序将这两个次匹配为一个精确的词组,这个页面就不会被列在搜索结果当中。

7. 如果你很喜欢InformIT上的文章,你可以通过输入“related:http://www.informit.com”来寻找类似的页面。

8. 如果你要搜索一些客观事实,这些问题的答案就会显示在搜索结果页面的顶部。

要查询圣弗朗西斯科的人口,则输入“人口 圣弗朗西斯科”。
要查询马克·吐温在哪里出生,则输入“出生地 马克吐温”。
要查询总统比尔·克林顿什么时候出生,则输入“生日 比尔克林顿”。
要查询雷蒙德·钱德勒什么时候去世,则输入“去世 雷蒙德·钱德勒”。
要查询谁是德国总统,则输入“总统 德国”。

9. Google专业搜索

Froogle可以用来搜索那些有着最低价格的特定商品的在线购物网站。
Google Answers所提供的服务是直接让你的搜索需求面向专业人员的小组,大多数都是用于当你有着更为复杂的问题,而无法通过简单的搜索来解答的时候。
Google Apple Macintosh Search主要是在apple.com域名中以及和其它与苹果相关的站点进行搜索。
Google Blog Search是用来搜索博客和博客文章的。
Google Book Search可以搜索成千上万的小说和非小说类图书的全文。
Google BSD UNIX Search可以搜索到大量专门为BSD版本的UNIX操作系统专业化的站点。
Google Groups可以搜索到Google Groups档案的相关文章。
Google Linux Search用来搜索大量与Linux相关的网站。
Google Microsoft Search可以搜索主要是microsoft.com域名中的内容以及其它微软相关的站点。
Google News可用来搜索大量有最新新闻和头条的新闻网站,也能够搜索历史的新闻资料,一直可以追溯到两个世纪之前。
Google Scholar在一个有着学术杂志、文章、报纸、论文和书籍的数据库中进行搜索,也能够选择大学或研究书库。
Google U.S. Government Search是用来搜索那些美国政府的网站——这是一个最好的用来搜索官方性政府举措、信息、报告等等的地方。
Google University Search能在一个有着超过600所大学网站的数据库中进行搜索——能够用来查询课程安排、入学资料等等。

10. Google操作符

allinanchor: 限制搜索的词语是网页中链接内包含的关键词(可使用多个关键词) allinanchor:keyword1 keyword2
allintext: 限制搜索的词语是网页内文包含的关键词(可使用多个关键词) allintext:keyword1 keyword2
allintitle: 限制搜索的词语是网页标题中包含的关键词(可使用多个关键词) allintitle:keyword1 keyword2
allinurl: 限制搜索的词语是网页网址中包含的关键词(可使用多个关键词) inurl:keyword1 keyword2
filetype: 限制所搜索的文件一个特定的格式 filetype:extension
inanchor: 限制搜索的词语是网页中链接内包含的关键词 inanchor:keyword
intext: 限制搜索的词语是网页内文包含的关键词 intext:keyword
intitle: 限制搜索的词语是网页标题中包含的关键词 intitle:keyword
inurl: 限制搜索的网页的地址 inurl:keyword
site: 限制所进行的搜索在指定的域名或网站内 site:domain

16:32 | 评论 (1)

2008年4月23日

Google 网上论坛
CPMD中文社区

访问此论坛

 

三人行,必有我师----写在CPMD中文社区的创建

我读硕士期间,获取的大部分知识来源于我和组内其他博士、硕士和本科生的讨论。这些讨论经常把我带到一个更高的层次,或者从问题的另一个侧面去体会科学问题的本质。

当时我们课题组的讨论得益于办公室的布局,在一个大房间里,大家的办公桌呈环形分布,而且没有间隔。这很方便讨论,并且别人也很容易随时加入。所以我反对像公司一样有隔间的实验室布局,这样的布局有违于最基本的自由探讨方式的形成。...

CPMD和第一性原理分子动力学基本知识

因为QQ上现有的CPMD群都满了,所以本人新建了这个讨论群,希望为CPMDer提供一个切磋园地。我注意到有几个从分子模拟群过来的XDJM可能还不太了解CPMD,所以我写了这个基本知识贴,适合从未接触过第一性原理MD的人士。我本人以前是做经典分子力场的,刚接触CPMD3个多月,有很多东西理解的也不深刻,希望有大牛来补充指正。以下内容假定您已经知道什么是分子动力学模拟。...

CPMD在Linux下的编译

如果你是第一次在linux下安装软件,那么请阅读以下tips;如果你是老手,请跳过。
1. 首先,linux下安装软件虽然麻烦,但是不是不能克服;只要会linux基本操作,以及有一定的英语基础,一定能成功。请相信自己,下定决心,排除万难!
2. cpmd一般安装在大型cluster上做并行运算,你需要确保cluster上已经安装了inte的ifc编译器,mpi并行包和MKL的数学库;如果你是单机,装了个redhat想学习cpmd也是可以的。

......

by ChemiAndy:)

11:37 | 评论 (0)

2008年4月21日

发现现有的CPMD群都满了,遂新建一群。欢迎加入。

23:46 | 评论 (0)

myid520 译
来源: 南京大学小百合站 http://bbs.nju.edu.cn/vd100000/blogcon?userid=sgsoldog&file=1134716454

ChemiAndy转注:本文从软件工程学的角度,给出了ABINIT第一性原理分子动力学软件的理论与技术的一个完美剖面。翻译者具备良好的理论计算功底和编程基础。原帖散失了所有公式。待查补。译者myid520,研究理论催化,现在吉林。译者博客http://myid520.blog.163.com/

First-principle computation of material properties: the ABINIT software project
X. Gonze, J.-M. Beuken, R. Caracas, F. Detraux, M. Fuchs, G.-M. Rignanese, L. Sindic, M. Verstraete, G. Zerah, F. Jollet, M. Torrent, A. Roy, M. Mikami, Ph. Ghosez, J.-Y. Raty, and D.C. Allan
Comput. Materials Science 25, 478 (2002).

摘要:

用密度泛函理论(DFT)计算电子结构、总能量和材料的其他性能是一个不断发展的领域。为了站在知识的最前沿,处理恰当的话,一个DFT软件工程能够很好的得益于广泛的合作。另外,现代软件工程思想可以使软件开发相当容易。ABINIT工程依赖下列信念:资源的自由性、可靠性、可移植性和在开发复杂的平面波赝势时所强调的个人文档。

在这里,我们介绍在GNU公共软件协议下发布的ABINIT3.0版,给出其功能和一直使用到现在的各种软件技术:用perl脚本和cpp指令处理处理Fortran90资源文件的独立集合来为各种操作系统产生并行或串行目标代码;200多个自动测试来保护现有的功能;一直坚持的严格的编码规则;在线帮助、自学教程、网页资源等文档。

关键词:密度泛函理论,软件工程,电子结构
pacs:71.15.-m,81.05.Zx,31.15.Ew,89.88.+h

1.引言

在过去的20年中,以量子力学和电磁理论为基础的材料性能的第一性原理计算已经经历了巨大的进步,而应用广泛的密度泛函理论正处在这个快速发展的领域的核心。他已经在各种计算机代码和和一般理论(如时间依赖泛函理论)中应用,或者用作很多复杂形式体系的基础。下面,我们不加综合地列举这一领域80年代中期以来的一些里程碑,来看一下它的持续发展,并多花一些笔墨在赝势的使用上。


1985年,Car和Parrinello建议了一个把DFT和分子动力学统一起来的算法[4],同年,Hybertsen和Louie独自地把Hedin[5]的基态近似应用于单电子的叠加和移动能的计算。1987年,固体的动力学和介电性能上的线性响应方法被Baroni,Giannozzi 和Testa[7]实现。Allan和Teter[8]建议用分离Kleinman- Bylander[9]赝势和Car-Parrinello的技术进行结合,1990年,Vanderbilt设计了一个超软赝势[10],三年后,和King-Smith一起指出电子极化是一个几何相[11];同时,举行串行运算(原文为大规模并行。CA)的计算机上的运用开始出现。赝势方面更加精细的思想也产生了导致了Blochl的投影放大波方法[13](即PAW方法。CA)。为了处理激发态,含时DFT和Bethe-Sapeter方程[13-18]最近已被实现。


因此,为了和时代同步,用来进行材料到第一性原理计算的计算机程序必须包括越来越多的功能,随着发展,这些功能变成基本的功能,而在原有的计算机代码上测试一个新想法也明显变得无效。另外,由于软件越来越多的功能需要合并,一个人很难在不牺牲自己研究的情况下来继续这一软件的维护和开发。而DFT形式系统及其应用、应用领域的改进、普遍化需要10年甚至更长的时间。所以,小组开发,甚至国际合作是必要的,在这种情况下,各种现代软件工程技术证明时非常有用的。


ABINIT软件工程开始于1997年,在这个基础上,作为一个开放的软件工程,它对功能没有限定,并且使用多种软件工程技术来方便很多开发组之间的国际合作。ABINIT的主程序使用平面波和赝势,来进行材料性能的密度泛函计算。它的一些特殊的功能还能处理反应函数。


现在,软件有下面四个特点:1.开放源代码(可以在GNU公共软件协议下使用),2.自我测试,3.在不同的操作系统下进行并行、串行运算的可移植性,4.个人文档。另外还提供给使用这一个自学程序。而为了方便国际合作,还制定了旨在要求各个开发组要有统一明确代码风格的协议。网站[20]提供官方版本、赝势、各种应用程序、基准结果、电子邮件列表和参考文献信息。


本文将以3.0版为例进行介绍。以前的版本不是在GNU GPL下开发的,网站也将不提供这些版本。


和ABINIT软件包所包含的各种应用程序一样,ABINIT主程序也是用Fortran90编写的,它包括300多个子程序,大约10万行,其中大约三分之一是注释。软件包包括文档文件、自动测试脚本和赝势文件。


ABINIT v3.0于2000年12月第一次发布,从那时起,程序的错误被定期的报告并在网上公布(现在的3.06版)另外,软件开发的主流一直超过3.0版,包括现在的3.1和3.2版,本文的作者对3.0版作出了主要的贡献,另外还有50多人对本版本也作出了贡献,他们改动了一个或一部分子程序,或发现了一些程序错误。


现在,一些其他代码,如基于平面波和赝势,和基于投影防大波(即PAW方法.CA)(超软赝势形式的改进)的代码可以获得,我们提供的列表[21-31]可能不太详尽,他们中的有些是商业软件,其他的可以通过和主要开发组合作来获得,或者直接从网上下载。


在未来,发展与下列两种团队的合作是有意义的,一种是在GNU GPL下提供他们代码的团队(这对开发者和使用者都提供了法律的保护),另一种是免费提供源代码的团队。和组包括相互检测软件精度和速度,以及共享子程序和函数库。显然,在这方面,最根本的是要开放源代码。


在本文中,我们首先集中介绍ABINIT3.0版的特色功能(第二部分),其中有些是一些基本功能,已经在相似的代码中使用的很久一段时间,我们在这里不进行太详细地介绍。其他的是第一次应用的功能,也是我们将详细解释的。当然,全面地描述还将会另外发表。另外,我们还将粗略的给出软件包的结构和输入文件的组织形式,然后在第三部分,我们将叙述世界范围内小组开发的组织形式,而现在软件工程的思想(自我测试、脚本可移植性、个人文档、使用者自学)使这种组织成为可能。在最后一部分,我们将批判地讨论现在的成就和我们所遵循的开发模型,同时指出需要改进的地方。


2 特色功能

ABINIT软件包包括主程序及应用程序MERGE、IFC和CUT3D。主程序是用来驱动不同密度泛函的基础计算的。下面我们将区分ABINIT在基态计算、结构相关计算(最优化和分子动力学)和反映函数计算方面的特色功能。对大部分功能,给出了许多出版物作参考,包括粗略的描述。然而,有两种情况:自旋轨道影响的处理和绝热联结波动耗散理论(adiabatic-connection fluctuation dissipation theorem, ACFDT),ABINIT时用艺术态来处理的(原文为state-of-the-art,达到最新技术发展水平的),同时给出大量的解释(下面我会有解释)。而应用程序MERGE、IFC和CUT3D将在一个单独的部分描述。

2.1 电子基态计算功能

密度泛函计算中的赝势平面波技术是Payne和其同事来审查的(has been reviewed:))。

ABINIT 3.0版支持下列密度泛函近似:Perdew-Zunger[34]和Teter[35]的局域(自旋)密度近似(LSDA),Perdew-Buike和Ernzerhof[36]的广义梯度近似(GGA),Van Leeuwen-Baerends[37]GGA,以及早些时候Gunnarsson-Lundpuist[38]的非自旋极化局域密度近似(LDA),Wigner[39]和Slater(X-alpha)[40]。

ABINIT能够单独使用的赝势有下列各类型:
 
--在数值格点上的标准正则赝势(normconserving PP模守恒赝势),例如但是不仅限于Troullier-Martins[41]赝势。
 
--Goedecker-Teter-Hutter[35]赝势或Hartwigsen-Goedecker-Hutter[42]赝势,这两种赝势的解析形式特别简洁。
 
-- Teter[43]推荐的扩展的正则赝势。

网站上给出了LDA赝势的两个完全或者说准完全集,一个是Troullier-Martins类型的,另一个是Hartwigsen-Goedecker-Hutter类型的。Fritz-Habor-Institute代码可以用来产生新的赝势,特别是那些用在GGA中的。Hartwigsen-Goedecker-Hutter有一个自旋轨道的部分,与其相对应,Martins赝势代码[45]的最新版本也能产生自旋轨道依赖赝势。

根据Louie,Froyen和Cohen或Tetet的建议,非线性相关中的核心相关是可以处理的。最后,用于研究核心水平化学位移的核心洞赝势也是可以使用的。

在每个k点(倒易空间的波矢,通常在第一布里渊区),波函数用平面波有限集的数字系数来表示,这个系数由动能的截断值决定。k点的集合可按照Monkhorst-Pack[48]系统或一般形式自动产生。在倒易空间中,由于规则地分隔在不同直线上的k点可以自动的产生,电子带结构的结果也可以很容易的形成。

对称性用来减少布里渊区取样所需k点数目,所以,只用不可约去的部分才需要取样。ABINIT 3.0提供不同的可能性来描述倒易空间的波函数(平面波系数)。通常,波函数的系数是复数,是旋量空间的标量。利用独立的自旋和反自旋波函数,以及自旋轨道耦合、旋量波函数,ABINIT 3.0能处理共线磁化(铁磁性和反铁磁性)。能处理自旋轨道耦合是ABINIT的一个想当高级的功能,我们也将在一个单独的部分中介绍。但是ABINIT 3.0中还没有处理非线性磁化的能力。对具体的波矢在时间反转(和通过倒格子矢量的转变)下的不变形,如(0 0 0)或(1/2 0 0)……,波函数用适量的平面波系数的二分集代表。

在实验有效势中,决定波函数的算法是Teter 、Payne 、Allan的连接梯度算法的改进型算法。电子密度就是通过这些波函数构造,并且用来产生势的Hatree能和交换相关能部分。这样,输入实验势就和输出势联系了起来。各种算法允许反复地建立向Kohn-Sham势(输入势和输出势相同的固定点)收敛的实验势,Kohn-Sham势包括:简单混合[50],Anderson势[51]和基于势的连接梯度算法[52,53]。这种势的预处理通过典型介电函数或近似介电函数完成。

当电子密度已经自洽地建立,相应的势可以非自洽地用来简并非占有态(需要带结构简并,或ACFD形式,见2.5部分)。态依赖占有数可以用多种方式处理,可以手工建立(每个能带同时建立,或每个自旋、每个k点或能带单独建立),也可以自动加载。对后一种情况,使用者可以选择半导体填充或金属填充,当然,这要根据不同的抹去方案,看是高斯smearing(Fu和Ho[55]),厄米—高斯smearing(Methfessel和Paxton[56]),还是cold smearing(Marzari[57])。

2.2 有关结构方面计算的能力

ABINIT给出了对称规范的不同选择。假如给出了原胞中的原子位置,则对称操作能被自动识别,相反,如果给出了对称操作和不能约去的原子,原胞中余下的原子也能自动产生
空间点群能够根据国际晶体表[58]给出,在这种情况下,对称操作表可以通过一个数据库初始化。假如晶格常数和对称操作已经给出,ABINIT就能建立布拉菲格子和点对称群(ABINIT3.0版中还没有点对称群)。

得益于Hellmann-Feynman理论和密度泛函理论中的应力理论,以和应力在所有情况下都可以计算,除旋转轨道情况外,总能量在这种情况下也都能计算出来,也就是总能量的计算适合标量波函数和自选极化情况、金属和绝缘体材料,以及各种交换相关函数。

使用Broyden算法[61]、改进型Broyden算法[62]、当离子的运动方向和力的方向相反时运算立即停止的Verlet算法[63],力和应力可以用来最优化结构(最小化力和应力,任意限制它们的分量);使用Verlet算法[64]或Numerov算法[65],力和应力还可以用来产生分子动力学轨道。Verlet算法情况下,可以使用Nose-Hoover 和Langevin热浴[66-70]来取样正则系综。

另外,代码能自动分析键长键角,以及xyz形式的原子坐标。

2.3 相应函数方面计算的能力

我们首先考虑对原子位移和静态同类电子场的相应。

在Berry相形式下,可以计算出介电极化,这一特色功能对绝缘体、磁体和非磁体可用,但是,自旋轨道分裂情况出现时还不可用。

线性响应技术(密度泛函微扰理论)[7,71-74]可以用来计算对原子位移和同类电子场的响应。计算将产生在选择的波矢处的动力学矩阵、Born有效电荷、或者(电子)介电常数。这些量放在一个数据库中,可以用MERGE和IFC来分析(后面还要专门讲到)。对ABINIT3.0版来说,线性响应在自旋极化情况、旋量波函数情况和对交换相关函数的GGA近似情况还不可用。


磁化矩阵和介电矩阵(在频率为0,和对倒格矢)可以通过对整个态公式求和[77,78]计算出来。

电子激发也可以在时间依赖密度泛函理论下研究。

2.4 自旋轨道耦合方面计算的能力

自旋轨道耦合在平面赝势代码中不是经常用到,在力、应力、响应函数可以利用的ABINIT3.0版,它的执行将详细描述[79]。我们在这里给出一个简略的描述,描述他在计算总能量时的执行情况。从狄拉克方程开始,能够得到和薛定谔方程相类似的方程,这个方程和相对论波函数的最大最小分量相混合,具有1/c 的数量级。对每个l+ 和l- 轨道,赝势都能产生,对赝势进行适量的线性组合,将产生标量相对论部分 和自选轨道部分 。按照参考文献[42,81],重新组合赝势,写出电子--离子势,离子势是标量相对论相(SR)和自旋轨道相(SO)的和:Vei= + (1)

标准波函数基扩展到旋量波函数基,旋量波函数基的元素由 表示的二分量波函数。一般矩阵元的自旋独立部分为:
(2)
自旋轨道部分为:
(3)
在Kleinman-Bylander公式中,自旋独立相的结果就是著名的: =4π(2l+1)fl(|G|)fl(|G’|)Pl( (4),其中 、fl(G)是倒易空间中Kleinman-Bylander形式的因子,Pl是勒让得多项试。这个结果,从增加的定理: (5)

到得到自旋轨道项的相似算符,我们首先考虑矢量: 。利用定义L=r p,恒等式 和 ,我们得到: = -i 。因此,我们把矩阵元素变换成:。 (6)
最后一项的计算模仿自旋独立项的计算。注意,由于与 叉乘, 项无贡献。最后,我们得到:
(7)
其中 是 的一阶微分。
通过这个公式,我们能够求出体系的总能量,同时,通过对原子位移和原胞变形微分,我们能求出力和应力。


2.5 绝热连接波动耗散理论

DFT中的局域密度近似和广义梯度近似经常产生固体、表面、分子物理和化学性能的有效精确描述。特别是它们能给出原子结构的实际的计算,以及弹性和震动性质。虽然在分子相互作用和相关势能面方面,GGA比LDA有改进,这也是GGA的典型部分,但是,我们还是需要更精确的函数来克服临界时的缺陷,例如,GGA还不能在化学精度下预测化学反应热力学(分子分裂能、反应热和激活能垒),和LDA一样,不能恰当的包括远距离子系统间的范德瓦尔斯相互作用。

绝热连接波动耗散理论(adiabatic-connection fluctuation-dissipation theorem ACFDF)允许产生完整的非局域交换相关函数,这个函数在远距离情况下包括范德瓦尔斯相互作用或精确的非局域相关,因此,这一理论超越了传统的局域密度近似和广义修正近似。并明确给出了密度为 的电子系统的交换相关能[82]:
(8),
其中 (虚频率)是通过一个标量库伦势 产生电子相互作用的系统的动力学密度响应函数,它进入一个修改的外部势,以便对物理( )基态密度保持不变。对 ,我们处理无相互作用的Kohn-Sham系统,它的响应函数由Kohn-Sham本征态 和本征值 ,即:
(9),
其中求和包括所有占有态( =1)和非占有态( =0)。当 时,相互作用和Kohn-Sham响应函数通过代森型屏幕方程相关,代森型屏幕方程为:
= + (10),
其中 = 库伦和交换相关核函数,它在时间依赖密度泛函理论[83]中建立。就像在参考文献[84]中提到的一样,交换相关能的相关部分和交换部分可以分开。方程8-10可以归结为ACFDT形式。原则上,它能产生精确的密度泛函交换相关能,但实际上,通过对未知的时间依赖交换相关核函数、Kohn-Sham响应函数、和(或)代森方程的解使用具体的近似,从各种近似的动力学密度响应函数都可以产生近似函数。

在ABINIT3.0版中,初始的Kohn-Sham基态(也就是 )是在LDA或GGA条件下计算的,而把响应函数和核函数看作 点,并在定义的平面波代表中处理,例如,对 ,通过 = 来处理,其中G是倒格矢。通过对方程(9)中的所有态求和,得到Kohn-Sham响应函数。使用不同的时间依赖交换相关核函数,我们不需要进一步近似就解出代森方程(10),因为线性方程系统如下:
= (11)
为得到交换相关能,我们给相关能付值为:
(12)
因此,增加了交换能泛函[86-88]。至于对 和u积分,我们重复解方程(9)和(11),并使用高斯求积分公式。

功能的实现还处于试验阶段,还需要最优化。我们的初始目标是评定ACFDT家族的各种函数的精度。

2.6 并行计算能力

我们已经实现不同水平的并行计算:把不同的k点、和给定k点中不同的态相关的工作、与各波函数的系数相关的工作分配在不同的处理器上。当然,还有很大的空间来最优化各水平的并行计算,所以,我们这一部分的目的不是给出加速多少的详细分析,只是给出并行计算下的基本思想。

最有效的并行计算(和通讯有关的大量计算)基于k点的分配,它利用MPI库实现,对两个以上k点的情况(电子结构、确定总能量、响应函数)都适用。它工作在大型并行或SMP机上,或者网络基通讯的机群上。不幸的是,k点数目和原胞尺寸的比值随着原子数目的增加而减小。尽管如此,还有一些情况是工作量和k点数目都比较大(例如金属、响应函数下小单元的性质)。下面我们举几个例子,在有25个处理器的SGI Origin 2000(处理器是R12k,300MHz)上,可以得到比一般情况快20倍的速度,而在有25个Intel奔腾III处理器(550MHz),操作系统为Linux的机群上,速度依然是一般运算的15倍以上。

在给定k点内各态相关的工作的扩展中,ABINIT3.0版仅仅实现了在响应函数情况下的扩展。正如k点的分配,它利用MPI库实现,工作在大型并行或SMP机上,以及网络基通讯的机群上。他的缩放比例和系统尺寸的大小是线性关系,并且和k点的反缩放比例反平衡:

k点数目和态数目的成绩大约是个常数,对相似的系统用相似的精度处理,它的典型的值在200和1000多之间。对响应函数计算来说,在处理器间通讯的数量方面,态基并行运算只比k点的分配大一点点,然而,ABINIT3.0版中,每个处理器所需的内存不因处理器的增加而减小。

最后,使用OpenMP编译指令,可以在SMP机的处理器上分配和波函数的系数有关的工作。

利用这一技术,FFT算法和对波函数的非局域算符的应用已经可以并行运算,然而,这个应用是三个并行运算中最新的,效率还不是太高,一个典型的速度是在四个处理器上并行计算时,速度是在一个处理器上运算的2倍。有意思的是,MPIO和penMP并行计算可以同时使用。


2.7 应用程序

应有程序MERGE和IFC时用来分析数据库的,这些数据库是ABINIT程序产生的总能量对原子位移的微分数据库和ABINIT程序产生的同类电子场数据库。数据库还包括动力学矩阵、波恩有效电荷以及电子介电张量。MERGE时用来进行数据库处理的,而IFC时进行数据库分析的。

根据参考文献[74],IFC分析数据的功能如下:
(1) 基于波恩有效电荷张量和电子介电张量,建立原子间力常数,包括其渐进行为。
(2) 通过数据库提供的动力学矩阵的傅立叶插值,在布里渊区中的任意点建立动力学矩阵,从而建立相应的本征矢和本征值,其中本征值形成声子带结构。
(3) 建立在零波矢时绳子的对称特征。
(4) 在准谐波近似的情况下,通过在布里渊区中对声子自由度积分,用波松-爱因斯坦占有因子建立热力学性质(如自由能、热容和熵)。
(5) 频率低于电子隙的情况下,建立频率依赖介电张量。

应用程序CUT3D用来分析ABINIT程序产生的实空间三位密度或势文件。特别是在一个与三维原胞相交的二位平面上顺着某一直线或在任意一个点,它都能添加已知的密度或势到一个三维任意地卡尔体积中去。另外,它还能使原来非格式化的的密度或势文件格式化,以便作为图形文件MATLAB[75]和MOLEKEL[76]的输入文件。


3 软件开发的组织

就像在前言中提到的一样,ABINIT软件工程依靠一大批开发者,他们属于不同的国际开发组。为了协调这种软件工的开发,计算机科学家开发了软件工程技术,其中有些软件工程技术包括辅助软件,一般在GNU一般公共协议些可以得到,另外一些软件工程技术是引导开发者工作的一些思想。在这些软件工程技术中,有一部分已经在ABINIT中采用,我们将在这一部分叙述,另外一些还没有使用,这将在讨论部分中叙述。


3.1 软件共享:GNU一般公共协议

GNU组织提出了重要的自由软件思想:软件的版权属于开发者,但是软件在一个协议下发布,这个协议保证用户有权利得到源代码、更改源代码、甚至有权利重新发布软件。这一思想在一个法律文件中进行了详尽的阐述,这一文件可以在GNU网站[19]得到。所谓的GNU一般公共协议已在现在所能得到的绝大部分自由软件中使用。

我们已经选择在这个协议下发布ABINIT,其软件包中源文件和文档文件的版权属于其作者和发布协议。通过这种方法,开发者保留他们努力得到的知识,同时允许别人在未来的版本中改进他们的工作,用户也有权得到源代码,并且可以在调试方面做出自己的贡献。


3.2 自动测试

开发者修改工作可能引入错误,这个在代码开发中的问题源在一个大的开发作加入时变得更为严重:大部分开发者仅仅知道代码中有限的部分,同时开发者小心的水平也是千差万别。为了避免这一缺点,引入了自我测试。

在一个完整的ABINIT软件包中包括200多个测试,每个测试的测试环境包括一个输入文件、赝势以及为运行测试批和自动分析他们的结果所需的脚本。对ABINIT的每一个功能都存在一个或多个测试,这些测试都在软件实现时建立。在个人电脑(CPU为800MHz的奔腾III)上运行时,每个测试一般情况运行几十秒。

自动测试环境的最终目的是当一切正常时,程序返回一个正值(一个字节),否则返回适当的失败分析(当然超过一个字节)。在ABINIT3.0版中测试是多水平的:

(1) 第一个脚本叫fldiff(浮点差别),它写在PERL中,它用来计算结果文件和参考文件的差别, 是用这种方法,由于不同平台和计算机的果有差别引起的浮点错误在一定范围内将会被忽略。这个工具要求结果文件和参考文件要十分相似,也就是只存在浮点方面的差别。测试成功的话,只有几行文字写到概要文件中去,集中了自动测试批的测试结果。

(2) 当有不可忽略的差别时,unix命令diff的结果将会自动得到,它允许对更复杂复杂差别进行简单测试。

(3) 每次ABINIT运行,都有一个详细的log文件,其中列出了运行的错误、警告、注释信息。

当要是他们的开发生效时,每个对ABINIT工作的贡献者都要求建立一个测试,修改的原文件、测试用到的输入文件和参考文件都将在包含在下一个版本中。开发者把参考文件送给负责官方版本的人也是必要的,这样能够确保软件的新功能确实是安全的。

最后,还有一小部分测试不是用来测试软件功能的,而是用来标定软件速度的,他们比较不同版本的需要大量CPU的程序, 并允许用户比较不同机器的速度。

3.3 可移植性

ABINIT3.0版安装在了一下平台:

(1) 使用Linux操作系统,编译器(波兰特集团公司)或富士通编译器,奔腾、奔腾II、奔腾III处理器的个人电脑。
(2) 使用Windows 98或NT操作系统,PGI工作站程序组,英特尔486或奔腾II处理器的个人电脑。
(3) 基于阿尔法处理器(EV56,EV6或EV678),使用操作系统固件的康柏计算机。
(4) 基于阿尔法处理器(EV56),使用Linux操作系统的康柏计算机。
(5) 基于Power2和Power3+处理器(型号590,3终端,夜鹰级)的IBM RS6000计算机。
(6) 基于R1000处理器的SGI Origin2000计算机。
(7) CRAY T3E 计算机。
(8) 富士通VPP700计算机。
(9) 太阳公司ultraspare II计算机。
(10) NEC SX4和SX5计算机。
(11) 日立SR8000计算机.
(12) 苹果公司的麦金托什机。

对平台(1)到(7)来说,主代码的最优化非常高级,对其它平台来说,主代码的最优化可能更好。开发者开发了用于大部分平台的二进制代码,这些都能在ABINIT网站上得到。
由于cpp指令,以及MAKE文件和各种脚本的使用,ABINIT已经可以成功的安装在很多平台上。ABINIT援文件的唯一集是在编译时匆忙的预处理的,它产生时间依赖代码,结果,ABINIT可以在UNIX型、Windows型以及Macos型的操作系统下工作。

对ABINIT安装的每一个平台,一个包括编译器名、选项和为预处理而选择的信息的机器依赖文件必须准备(大约15行)。这个机器依赖文件对ABINIT的版本依赖很小,一旦这个文件安装在一个平台上,进一步安装在相同的平台上就十分相似了。

相同的软件技术用来维持ABINIT串行和并行版,他们都通过源文件特别集的预处理产生。

ABINIT MPI版已经在SMP结点的集群上测试和工作,机群由上面提到的计算机组成(太阳公司ultraspare II计算机除外),工作环境为UNIX型操作系统。ABINIT的OpenMP版已经在下列SMP计算机上测试,这些计算机包括:SGI Origin2000计算机、44个Power3+处理器的IBM RS6000计算机(每个节点四个处理器)、以及康柏/数据设备公司的ES40 EV67计算机(每个节点四个处理器)。

3.4 自动测试的可移植性

可移植性和自动测试的相互影响带来很有意思的问题。就像在3.2部分提到的一样,结果的分析包括和参考文件的比较,参考文件时曾旭在一个特定的平台上运行产生的,虽然fldiff能够把浮点运算结果放在一个能忍受的水平(如果来个浮点数的差小于10e-12,它就认为这两个数相等),这已经足够消除大部分因平台改变带来的误差,但是在设计测试输出结果方面,还需要额外的注意是,否则,大部分测试情况的结果都会包含大量的平台以来部分,这很不适合自动测试。

产生大量的数字差别的第一种情况是由于矩阵的对角化。本征值是简并的,则相应的本征矢可以在得到的矢量字空间中任意取值,即使是非简并的情况,波矢的位相也是没定义的。大部分的计算量()不依赖矢量和位相的特定选择,然而,不是总是这样。确实,下面是我们所感兴趣的:

(1) 通过动力学矩阵对角化产生的输出结果和原子本征位移的可视化。
(2) 从不同的空间几何,通常是有更高对称性的空间几何产生的波函数来初始化电子波函数(为了能很好的收敛)。

这两种情况,由于相和矢量相等的线性组合的选择,排除任何合理的简单自动分析,输出文件的具体部分可能完全不同。
ABINIT3.0版用两个方法解决这一问题,第一(程序fxphas.f)通过最大化他们的平方和,来固定本征矢的位相,然后选择第一个非零元素的符号为正;第二(程序phfeq3.f和mkkin.f),通过在每1.0e12部分区一个部分的水平,来稍微改变动力学和动能矩阵的对称性。

移植问题的第二种情况由算法本身的不稳定产生。例如,基于Broden算法的原子间距离的最优化包括海赛形式的矩阵的时间反演,如果从一个分子的两个原子间开始最优化,而且在这个区域中,原子间势的二阶微分几乎为零的话,很小的平台依赖差别将会被放大,以至浮点结果不能满足所需的要求。

在ABINIT3.0版中,这个问题是通过下面方法解决的:首先尽量避免在这些区域中进行测试,如果确实不能避免,就要让这一算法在一两个循环之后,在结果在不同的机器上还没发散之前就停下来。

移植问题的第三种情况是由于实数的分类问题产生的。假设在一个大部分数不相等的列表中,有两个数是相等的,如果这种情况不小心的处理,分类算法将会对他们进行对称分类,但是这将因平台的不同而改变。在ABINIT3.0版中,遇到的这些问题的物理实现如下:

(1) 以原子间距离为顺序,产生相应原子的近邻列表(对称性经常在相同的距离处给出原子),如程序bonds.f 和rsiaf9.f。
(2) 以k点的量级为顺序,产生相应k点的列表(为了有效的填满不可简约的布里渊区),如程序listk.f。
(3) 为了打印,找到密度的最大最小点,如程序prtrhomxmn.f。

为了纠正这一问题,采取的措施是在一定差别允许范围内,让算法知道这两个数是相等的,同时保留着两个数字原有列表(分类前的列表)的顺序。

可移植性中的第四个问题和物理意义没有直接的关系,假如一些浮点数必须打印,如果截断精度小于自动分析工具所允许的值(如使用f8.2的FORTRAN输出格式),由于数字和轴离的太近,舍入情况在不同的机器上也不同。

要解决这一问题,必须在打印数字之前,使用应用机器独立的截断函数,然而这还没在ABINIT3.0版中应用。

即使这四个问题都解决了,还有一些测试情况,它的结果文件和参考文件中的浮点数差别超过所选的容许范围,这些测试情况通常包括响应函数计算,这是由于初始的基态计算有点缺少可移植性,而这少量可移植性的缺乏又在随后的响应函数计算中被放大,这样在基态计算中可以忽略的部分由于在反应函数中被放大而不能忽略。得到了缺乏可移植性的观测结果不等于程序中有错误,然而,有关输出文件中不同部分的意义的知识还是必需的,以此来验证程序是否出现了反常情况。

尽管还存在缺乏可移植性的部分,但是使用自动测试工具,对测试的完全集进行的概要的检查也就至多需要2到3分钟。

3.5 个人文档

当人们说起大型科学的代码(如ABINIT)时,个人文档的软件思想就经常被提到。我们应该注意,为了使开发者不需对软件包有详尽的了解就能维持这些程序,和一个程序有关的文档应该定位在这个程序,或者通过一个链接定位到这个程序。这一思想在“有文化的程序设计”中实现[83]。个人文档工具允许开发者不需保持两个独立的文档就能够利用源代码编写程序文档。用户能用自动的方法掌握代码的整个结构,所有文档都有本地文档产生。在一些局部,必须使用一些标签来引导自动工具。

自动工具能产生有超级链接的HTML文件,例如每个程序的页眉都显示在屏幕上,包括他功能的描述、调用他的程序(父程序)的名字以及他所调用的程序(子程序)的名字。所有程序的目录和搜索工具都能够建立。很多其他功能,例如数学方程的自动格式化也能够建立。为了系统地实现上述功能,开发者必须为他们的注释使用并坚持使用一个标准的格式。由于这经常被看作是额外的负担,在这方面所作的工作应尽量少。

在ABINIT3.0版中,各种辅助程序用来实现这一思想。

这些程序中的第一个程序是ROBODoc[90],它是个文档工具,用来从源文件中提取特别格式的的注释页眉。他自动地从原文本中为每个程序产生HTML文档文件,还包括连接其它程序的超级链接。ROBODoc能在很多语言环境下工作,包括Fortran90。ABINIT的开发者必须为每一个函数建立标准的页眉,包括包括函数或称序所有的信息,这样ROBODoc为变量、类程、函数等建立索引表。

然而,ROBODoc不提供父子程序的自动列表,虽然如果提供了这个的列表,把它们连接起来的超级链接将由ROBODoc自动建立。一个叫“父页面”的PERL脚本已经设计,它可以用来在ROBODoc处理之前自动地在每个程序之前插入父程序。

数学方程是ROBODoc遇的的另外一个问题,这个问题主要是通过用免费软件scr2tex[91]来解决的,这个软件能从子程序的原文件中产生有很好格式方程的LATEX文件。每个程序中插入LATEX风格的方程格式是ABINIT格式的一部分。在scr2tex中使用的格式可以同时在ROBODoc中使用。

在ABINIT3.0版中,源代码是从ROBODoc和scr2tex出发来确定格式的,以便HTML和LATEX文件可以分别作为在线和离线文档。由于例如TtH的转变,在未来的版本中,将写一些像HTML文件一样易于获得的LATEX格式的文档。

3.6 用户自学

ABINIT3.0版中另一个有意义的方面涉及到不需要联系开发者或到学校去学习就可以学会怎么使用他们。为了这个目的,开发者建立了自学教程,教程是HTML格式的,共有5课,每课2小时(包括在一个CPU为800MHz的奔腾III的个人电脑上计算的时间),用来引导学生入门。

其中教程的前两课是为了使学生熟悉是用各种算法和交换相关函数,来计算氢原子的格式化的总能量、电子结构和最优化原子间距离。第三课通过一个绝缘体的范例—硅的电子结构的计算,来介绍固态思想。第四课集中介绍金属铝以及其表面能的计算。第五课介绍绝缘体AlAs的动力学性质和介电性质,包括伽玛点的声子、介电常数、波恩有效电荷、LO-TO分裂以及整个布里渊区中的声子。

在线手册和帮助文件的有效性,以及自动测试中输入文件的有效性使ABINIT基本使用方法的介绍更完备,在线手册和帮助文件包括了所有输入变量的详细描述,而自动测试中的输入文件给出了ABINIT所有功能具体适用的例子。

我们已经尽量简化了ABINIT的使用,其中输入文件的组织依赖于两个文件,第一个文件是“files”型的软件,用户在这个文件中给出了输入文件和输出文件,以及所使用的赝势。这个文件很短,一般6到7行。在另外一个输入文件中,用户具体给出了那些默认值将不考虑的所有变量的值,这个文件由ABINIT解释执行,解释执行前ABINIT检查其中使用的输入变量的关键字。ABINIT中有150多个输入变量,但是在这个文件中要记住的不超过20个。元字符允许个输入变量集在一个单独的文件中具体指出,甚至为了基于以前计算的结果初始化计算,而允许在同一个计算中把各个输入变量链接起来。


3.7合作协议

自由软件、自我测试、个人文档和用户自学的思想的思想对国际合作开发来说重要性是明显的。组织同步工作也是值得的。

在单独开发组的水平,我们鼓励使用软件CVS[94]来开发ABINIT,然而,所有开发者都必须能得到CVS库,因为这个软件同步开发工作。另为,开发者之间的协商也是需要的。SoureForge[95]网站允许在一个很大的范围内交换CVS思想,在不同的组,来自不同的国家的开发者能够得到相同的库。我们从2000年13月开始试者使用SoureForge库,但是,对ABINIT规模的软件,通向它的速度太慢了。因此,我们从1997年开始一直坚持的合作开发协议还一直有效。

我们工作在一个反复的分散—集中模型中:反复的第一步是官方本版在ABINIT网站上发布,一段时间后,来自不同组的非交迭、持续开发工程列表将建立并公布;每个开发组在ABINIT已经暂时加上去的部分程序上共作2到3个月,然后把各个开发组的贡献(资源的改变部分和测试情况)汇集到一块,再用两三个周把各个贡献融合到一块,在新的官方版本发布前,软件还要至少在5个平台上测试和连接。

最后,我们谈一下ABINIT的代码风格。为了使代码风格相同,我们在“代码规则”文档中明确地写出了每个开发组都要遵守的规则。这个文件在软件包中可以找到,并且经常更新。它的建了基于在过去几年来的开发中获得经验(包括在不同平台间移植的经验),以及为了避免程序出现各种错误。例如在所有FORTRAN程序中,要求使用“含蓄的不”。

“代码规则”包括:需要遵守的变量说明风格、变量名的选择风格、FORTRAN援文件格式的风格(特别地,格式必须能够用ROBODoc处理)、数据流控制的结构、数组的使用风格、一些好的代码实例、具体的例外处理方面的代码规则、一些旧的应该避免的代码风格的实例、BLAS和LAPACK子程序的使用、以及当今反射出来的一些主题。

4 讨论和ABINIT工程的特定相比较,很多还要在3.0版的基础上去做。我们现在首先描述现在已经实现的功能,然后描述还缺少的功能,最后叙述现在已经部分使用或还没使用的软件工程思想。现在,对本软件做出贡献的开发组已不限于作者所列出的。可以通过网站[20],来更详细地了解本软件共输出的状态。

下面是和雄心勃勃的软件工程相关的部分:
(1) Blochl[13]的投影放大波技术和超软赝势[10]的使用。
(2) 包含基态代码的界面ABINIT.
(3) 非线性磁化情况下旋量波函数(包括自旋轨道)的处理。
(4) 现在,在所用情况下,响应函数计算的结果都可以为基态计算所利用。
(5) 手工处理并行运算,以及现在实现的并行运算的最优化,特别是不同水平的并行运算的同时运用。

下面是我们的开发工作所涉及到的部分:
(1) 实空间群数目的识别。
(2) 密度泛函微扰理论中的2n+1定则[71]。
(3) Kohn-sham精确交换。
(4) Shubnikov(反铁磁)对陈群。
(5) 表面偶极子的处理。
(6) 频率依赖传导。
(7) 和极化Berry相计算有关的高级特色功能[97]。
(8) 晶格Wannier函数的自动产生。

下面是需要做但是还没给出具体做的时间的部分:
(1) 非局域算符的实空间处理[97]。
(2) 态密度在原子轨道分量上的分解。
(3) 对弹性和炼金术微扰得相应。
(4) 几何形状最优化的新方法和转变态的计算。

在软件工程水平下,首先是持续的努力来处理个人文档中的方程。然后得到应该使用的数据类型(在ABINIT3.0版中很少出现)。FORTRAN90面向对象的特色功能也没在ABINIT3.0版中使用:ORTRAN90面向对象的特色功能虽然没有C++的发达,但是也应该应用。F900面向对象的特色功能方面的局限也必定带来现在的ABINIT基本操作的局限:由于历史的原因(已存在代码的再利用),我们建立的是F90代码。作为另一个可选的语言C++,现在很多开放源代码的工程同时使用Python脚本语言和其它语言来计算任务(一般是C语言,但是为什么不是F90呢)。我们仍然这样认为,我们工程的基本选项应该使它在很多年中一直是可行的和成功的。


我们感觉ABINIT工程是成功的,从工程的开始算起,我们在相对较短的时间能建立了大量的功能。合作的组织使很多人都可以对这个软件工程做出贡献。我们实际上一直根据计算机科学通讯中Linux的开发[98]的例子来开发本软件。

和本文不集中在实际地使用ABINIT来得到有用的计算结果对比,本工程的目的是使用从头计算的方法为与预测材料性能建立可靠的、艺术态的计算程序。在这一思想的指导下,网站[20]上列出了70多篇已发表的文献,来显示其广泛的应有范围,以及迄今为止已使用本代码的了个人和团体。有用输出量的增加是我们成功的基本量度.


5 致谢

我们首先感谢ABINTI的顾问委员会,包括本文的作者和不是本文的作者的:N.Hill,K.Rabe,和D.Teter.我们还要感谢对本软件工程、ABINIT3.0版及以后的版本做出贡献者以及给我们提出建议和热情的支持的人们,包括:A.Alouges,S.Bernard,J.-.Charlier, .Deutsh, S.Erwin, A.Filipetti, R.Godby, S.Goedecker, A.Horsfield, A.Khein,D.D.Klug, C.Lee, Z.Levine, B.Magne,H.Matthis, J.-.Minet, V.Olevano, G,IbudamA.Quandt, Na.Sai,M.Stengel,J.Sullivan,P.Tepesch,P.Thibaudeau,J.Tse,D.Vanderbilt,B.Van Renterghem , M.Veithen,A.Zaitsev.We(X.G.,J.-Y.R.,和G.-M.R.),感谢国家科学研究基金(比利时)在财政和计算资源方面(FRFC工程,NB2.4556.99)的支持.我们还要感谢“pole d’attraction interuniversitaire”(阶段五,比利时联邦政府)和“Action de recherche concerte-interaction electron-vibration dans les nanostructures”的财政支持。

参考文献
[1] P.Hohenberg and W.Kohn, Phys.Rev.136,B864(1964)
[2] W.Kohn and L.J.Sham, Phys.Rev.140,A1133(1965)

辅助阅读:

1. 原文: First-principle computation of material properties: the ABINIT software project
2. Lecture:http://www.realitygrid.org/CompSci07/presentations/Gonze.pdf

20:12 | 评论 (0)

2008年2月27日

分子模拟软件中经常遇到constraint和restraint两个词,他们的区别是什么呢?

金山上说constraint是“The state of being restricted or confined within prescribed bounds:强制,强迫” 而restraint则是“The act of restraining or the condition of being restrained;control:抑制,控制”,区分不是很明显,并非很好的学术界定。

AMBER的主页上是这样说的,首先二者使用上经常 interchangeably,“Constraints implies absolutely fixed values”,“Restraints implies use of an energy function without absolute fixing of the desired quantity; ”

Material Studio的帮助文档上也是这样说,It is important to note the distinction between constraints and restraints - a constraint prevents atomic motion, placing an absolute restriction on a calculation, whereas a restraint allows atomic motion, but imposes a penalty if motion occurs. This produces an energetic bias that tends to lead a calculation in a particular direction.

看来,constraint就是固定住不让原子动,而restraint是通过比如能量这样的约束条件限制原子的运动。

14:35 | 评论 (1)

2007年11月18日

第4届IFPSC(工业流体性质模拟挑战赛)竞赛结果公布,来自德国的Hans小组在第三项的得分远超过别的组而获得第一。第三项是分别模拟计算环氧乙烷的气液相剪切黏度和表面张力。Hans小组提交的结果显示与实验值几乎完全一致。其他四个小组,包括获得第二的U Minnesota的Siepmann小组和以1分之差获得第三的上海交大孙淮教授课题组,在此项上结果相差不大,均较实验值偏差约40-50%。

为什么Hans小组的结果这么好呢?原来Hans小组对最后的模拟结果进行了修正。由于当前的分子模拟计算流体动态性质所建立的模型过于理想化,忽略了一些外界条件的影响,因此,无论所采用的力场计算体相性质多么精确,在计算表面相时均有相当偏差。Hans小组据此进行了修正。具体是如何修正的,只有待Hans小组的论文刊登以后才能知道。

由于其他小组没有进行类似修正,所以这样的比较是吃亏的。有小组质疑这种不公平,但是委员会还是承认了Hans小组的结果的有效性。

的确,Hans小组的做法是相当聪明的。他们在结果处理上比别人多走一步。也许他们没有追求力场精益求精,但是他们看到了整个模型的局限性,并进行分析修正。无疑,这样的做法对所有做分子模拟的工作都具有启发性。

第4届IFPSC的竞赛题目要求采用经典分子模拟方法计算环氧乙烷气液相的17个性质。分为3个Category. 前两个Category分别是流体静态性质和相变性质。在前2个Category,参赛小组的结果差别较小。

IFPSC由美国AIChE协会(美国化学工程师协会)发起,由3M, DOW等跨国公司赞助,旨在推动分子模拟在工业流体性质计算领域的应用。IFPSC每年举办年1次,目前已举办4届。竞赛的题目均来自于工业界的普遍关注的重大基础研究问题。一般每年11月颁奖并公布下一年度的题目,报名参赛的课题组有近一年的时间对竞赛课题进行深入研究,从而保障了结果的科学性和严格性。此竞赛已成为分子力学和分子模拟领域的一项盛事。

上海交通大学的孙淮教授从第1届起开始参加,连续3次上获得冠军。图为孙淮课题组在去年3rd IFPSC中获得“分子力场状态迁移课题”冠军。






23:59 | 评论 (1)

2007年7月6日

Nature, July 05, 2007
封面故事:“多世界”理论的现代追随者

本期Nature封面图片由David Parkins为纪念量子物理学上重要的一个年份而创作:50年前,Hugh Everett III首次提出了后来被称为“多世界”(many worlds)的假设。Everett认为量子物理理论从表面上看是正确的,因为它能满足很多相关的方程式。于是,他开始探究真实情况到底是什么。他试图通过让每个事件的每个可能的结果都在其自己的世界中来定义或存在的办法来解决量子理论所存在的矛盾。在一篇News Feature文章中,Mark Buchanan报告了现代人们对“多世界”观点的反应[page 16; www.nature.com/podcast]。虽然对于上个世纪50年代的大多数物理学家来说太荒诞,但“多世界”理论现在却赢得了很多追随者,尽管正如Max Tegmark在一篇Commentary文章(page 23)中慨叹的那样,他们当中很多人并没有读过原始论文。作为Everett方法的一个铁杆追随者,Tegmark对他自己为什么相信并行宇宙做了解释。Gary Wolfe在Books & Arts栏目(page 25)中解释说,所有这些对科幻作家来说都是好素材。

(以上转载自Nature Asia内容提示服务)

My comment:

多世界,又译作平行宇宙,据我所知,它起源于量子理论研究中的“不确定性”,按照量子理论的统计解释本质,我们无法同时知道一个量子粒子的速度和位置(动量和坐标),可是当我们做了一次观测时,我们却看到了很多种可能中的一种,原先的很多种可能不存在了,“坍塌”了。薛定谔用著名的所谓“薛定谔猫佯谬”解释过这件事情,引起了很大的争论,至今尚未平息,Physic Review Letter上还偶见评述观点。

这个现象50年代被一些人解释为是同时存在很多种可能的情况,尽管我们的观测只看到了其中的一种。这种观点被引申到我们真实世界,一些人认为存在多个平行的宇宙,我们只是多种可能中的一种。一些人喜欢这种解释,去附会心理学上的第六感之类的匪夷所思的现象。李连杰主演过一部电影《The One》,其中说他杀死了平行宇宙中的其他的“我”,以获取他们的能量,达到邪恶的目的,最后被最后一个“我”干掉了,唉,无聊死。

且不说薛定谔猫佯谬我们是否已经真的理解了,把量子世界的现象推广到宏观世界本身就令严肃学者不能赞同。比如根据爱因斯坦,光量子可以达到光速,宏观物体却不能达到。Anyway,搞科学的人呢,some for ideal, some for living, and some for fun.

19:38 | 评论 (6)

2007年5月31日

英国Nature杂志,2007年5月31日
封面故事: 限制热量能够延长寿命的原因已经找到


限制几个卡路里的热量就可以延长实验鼠和其他物种的寿命,但限制进食何以能
够延长寿命仍然是一个谜。现在,研究人员终于在用于衰老研究的模型生物线虫
(C. elegans)身上发现了限制热量与长寿命之间的特定联系。Nicholas
Bishop 和 Leonard Guarente发现,限制饮食能激活头部ASI神经元中的转录因
子SKN-1,后者然后会向周围组织发出增加代谢活性的信号。这种神经细胞影响
非神经组织的现象表明,内分泌系统参与了其中。Panowski等人报告,小肠和头
部及尾部少数细胞中一种名叫PHA-4的转录因子活性的增加也是由限制饮食所产
生的寿命延长所必需的。PHA-4与哺乳动物体内的Foxa转录因子类似,后者影响
发育和调控空腹血糖素和葡萄糖水平。关于这种联系的知识让我们看到了用药物
来模仿限制热量之好处的希望。(Articles pp. 545, 550; News & Views)

(转载自Nature Asia内容提示服务)

14:32 | 评论 (0)

1962年,日本神户大学的汤浅光朝运用历史比较法和数量分析法研究了近代科学的发展,提出了“科学中心转移轮”。根据汤浅光朝,“凡是某国重大科技成果占世界总数25%则为世界中心”。根据这一学说,全世界的科学中心曾历经如下转移:意大利(1540-1610文艺复兴)-英国(1661-1730工业革命)-法国(1770-1830)-德国(1810-1920想象二战时德国的技术),自从1920年起,科学中心一直在美国。如今,美国的重大科技成果占到全世界的一半以上。汤浅还提出一个规律,说科学中心大概每80-100年转移一次。不过,美国至今还看不到科技发展速度减缓的迹象。

与科学中心概念相应的,是高等教育的发达。大学往往是科技发展的发动机。所以,难怪世界各地的青年才俊竞相到美国去读书。而美国政府对大学的投入也是慷慨的。博士生平均每年有$20000-30000美元的津贴,这足以让这些年轻人在美国较为滋润的奉献自己的青春。

清华,北大,中科大一向被誉为“美国大学的预科班”。而上交大因为毗邻长三角,毕业生就业便利,待遇优厚,所以一向出国风气不是太浓厚。近年来,随着就业压力的逐渐增大,上交出国留学的风气日渐增长。昨天,在温度超过35度的上院500号举行的出国留学咨询会,数百名学生济济一堂,由成功者传授经验。

14:01 | 评论 (0)

2007年3月13日

如果你常常找不到自己所需要的文献,记不起来是否下载过,或是用两天时间为自己的论文编写参考文献列表,那么你应该考虑如下一些问题:

1.文献的检索与下载

Google学术是最快速简洁的搜索方式,他几乎能够覆盖所有的数据库,并偶尔能从网上某些作者的网页那里帮你下载到免费的文献;缺点是给出的结果太多。

Scopus是一种极为专业的文献检索工具,它类似于Google,但仍然依赖于某些特定数据库。不过在我所了解的数据库检索工具中,它所覆盖的数据库是最多的。Scopus能提供文献的摘要,所引参考文献,全文地址链接。Scopus提供还提供一些个性化服务,比如保留你的检索结果,为你生成特定格式的参考文献列表,非常有助于paper的准备。

Science direct也是杰出的数据库检索工具之一,它应该是Scopus的前身。

SciFinder Scholar的前身是CA(Chemistry Abstract),因此对化学研究者特别有帮助。按物质(结构、名称等)查询、按主题查询、按文献(题目、作者)等查询方式特别方便。缺点是需要安装客户端软件,并且给出的检索结果太多。

2.文献的保存与命名

按照你的课题名称组织各种不同的文件夹是一种比较好的方式。

下载下来的文献的名称往往是一串意义不明的字母数字,我的建议是一定要自己的规定对每一篇文献重命名,我尝试过多种规则,最后觉得这样最方便:作者_文献标题_刊物_年份。这意味着在下载文献的时候要打开一个空白记事本,依次复制上述信息,用下划线连起来,然后复制作为新文献的名称。

3.使用工具软件辅助管理海量文献并自动生成参考文献

EndNote可能是应用最广的文献管理工具,这类软件对生成特定格式的参考文献列表特别有用。

NoteExpress是一款中文的文献管理工具软件,目前正在生机勃勃的不断开发完善中,我试用过,非常人性化。注册价格也非常便宜。

14:41 | 评论 (3)

 

Stand on the shoulders of giants

切入某一新的领域越来越难了,因为学术领域的细分、研究的不断深入使得对准备工作的要求越来越高。有的人终生只从事某一狭小领域的研究。但是年轻人总会希望更加快速的探索各个不同的领域以期找到自己真正有兴趣的天地。

我觉得如下方法是可行的:

1. 第一阶段,总体性认识阶段:通过Google学术搜索,查找该领域的综述类文献。我的建议是先从中文文献开始。尽管最好的文献可能不在中文文献里,但是对于快速获得总体了解很有效。Google学术搜到的多数中文文献不能直接打开。此时复制文章标题然后登陆学校图书馆的中国科技期刊数据库搜索下载。

2.第二阶段,细致归纳阶段:在第一阶段的了解的基础上,现在你可以列出这个领域研究的主要问题,主要方法工具,最重要的文献,和最新进展。这里的目的有2点:找到切入方向,了解需要学习那些基础知识。

3.第三阶段,深入追本溯源:方向一旦定下来,就要把最重要的文献下载下来仔细研读,里面应该已经包括了必备的基础知识,如果没有,还应该借阅相关的教科书。必须最终确保自己已经对这个领域的核心问题理解透彻。必要的时候与领域牛人沟通,有时候他们的一句话可以解开你数个星期的谜思。

上述既是为了切入某一新的领域的文献查询。这只是整个研究的开始。接下来重要工作包括制定自己的研究计划,重复文献报道的重要实验与计算,提出新的设想与验证......直至新的论文构思与写作等等。

 

13:59 | 评论 (1)

2007年2月14日

五月的咖啡

20:36 | 评论 (0)

2007年1月30日

 作者 D. Kleppner & R. Jackiw

Odd Genius译自Science 2000.8.11

  译者序:本文是世界著名科学刊物Science(8月11日)纪念普朗克提出量子概念100周年的一篇评论文,基本上描述了上个世纪(除相对论外)物理学波澜壮阔的发展场面。故特此译为中文,以飨读者。

点击阅读 http://www.oursci.org/magazine/200108/010811.htm

2000年的一篇文章,但是其里程碑式的晨钟暮鼓,至今余音袅袅。

17:45 | 评论 (1)

2005年12月11日

1.

Linux是个免费的迷宫,Emacs则是这个迷宫中的精灵。

据说Emacs常使用Meatla键,在标准键盘产生之前的一个建,后来消失了----可见Emacs多么古老----现在只好用左手小手指去勾ESC键代替。

2.

Linux的魅力就象去IKEA买家具, 买来一堆部件然后做DIY的游戏. Linux正真擅长的是渲染朱罗纪公园里的恐龙,或是求解1000多个原子体系的分子动力学模拟。但是不可避免要编程。Emacs更像IKEA附送的一把,雕着古老花纹的,螺丝刀。

3.

分子力场迁移的尝试证明不太可行。拟合的结果过多的倚赖于其所处的化学环境。这个问题不能由第二代"结构-能量"函数方法彻底解决。 更多的努力应该转向描述原子与分子间本质作用----电子分布及其变化规律。

20:24 | 评论 (3)

2005年11月7日

“By policy, Wikipedia is not a political site in any way. We are a general reference encyclopedia with a strong neutrality policy. Articles are carefully researched and reviewed by Chinese people in Taiwan, Hong Kong, as well as mainland China. Therefore, Wikipedia is an excellent test case. When Wikipedia is blocked, it can not be claimed that only lies or propaganda are blocked, because we are neither. When we are blocked, it is information itself that is being blocked.“

---- James Wales, Wikipedia's founder

23:00 | 评论 (1)

Copyright ChemiAndy.