科学网

 找回密码
  注册

tag 标签: 六边形

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

这些尺子够数学的
热度 1 jiangxun 2018-2-27 09:09
作者:蒋迅 说起尺子,当然够数学了,但是我觉得这些新颖的设计实在太好了。所以特别推荐给读者。 产品在香港 。喜欢的话就买吧。
个人分类: 够数学|6561 次阅读|1 个评论
开大题口,给感觉加油!
wkwzydgjjx 2015-6-12 09:01
开大题口,给感觉加油! 关于多边形内角和等知识的教学提问,我还是这样的开大题口的提问习惯,还是这样的机械。例如关于多边形内角和等的教学。 师:如图1,在四边形ABCD的图形中,你看到了什么? 生:四个点四个边四个内角四个同傍内角。(1) 师:立足于点边内角和同傍内角的整体,看相同点,哪些法图最靠近它? 生:三角形内角和定理。还有五边形,六边形,七边形,等等。(2) 师:准确。四边形ABCD中没有三角形啊,五边形,六边形,七边形的,它们中也没有三角形啊,连三角形都没有,怎么运用三角形内角和定理?怎么办? 生:添加辅助线,使这些多边形中出现三角形的图形。(3) 你看,学生们(1)的视觉感觉、(2)的意识感觉及(3)的“依法变形”的思维习惯,在三个大题口的提问下被主动出来了。 有老师会问,你们的学生都这么聪明?当然不是。无课外作业的感觉教学的实践历经10年,教学了三届带一个初二年级班。第一届是原生态;第二、三两届因特色招生政策,生源很差;最后教的那个初二年级班的生源比较好,教的特别得心应手。 无论是怎样的班,能有如此主动的看到的想到的感觉,很有天赋的极少数学生你不讲他也有,对多数学生而言即使你都讲了这些他还是不会有。事实也是如此。开大提问题口的实验进行了两年,对少数学生产生的效果很好,也可以说是特别的好。 为培育好学生们的创新思维能力,数学的教育教学必须能够让尽可能多的学生有这样的感觉能力。为达如此目的,这是一个十分现实且必须解决的现实问题。 开大提问题口的操作,仍然是被安置在讲思路讲方法的理解记忆的大背景中,无法解决这一问题。88年底我研制出了几条以联想为主的数感题,开大了演练习题的题口,首先实验于我的宝贝女儿,锻炼她的感觉思维,收到了立竿见影之效! 例如关于三角形图形,初一的学生们能够看到什么,几乎只能是来自于已经的平几知识的教学。如我们约定用大写字母表示几何的点,学了这一知识,即时给出一个△ABC等等的图形,提出你看到了什么?学生们的大脑中刚刚建立了关于点的这一感觉,怎么可能不注意到这些图形中的点。 学习了线段和角知识,你再把△ABC等多边形拿出来,再一次提问你看到了什么,学生们会看不到这些图形中有几个点几个边几个内角吗? 教学中若发现这样的教学力度不够,出示“△ABC→”的数感题,让学生们演练! 学习了两点三线八角,......。 学习了平行线的判定和性质,即时出示“同傍内角→”的数感题让学生们演练,会收到怎样的效果? 关于开大习题题口的数感题锻炼学生感觉思维的问题,我在新浪网、腾讯微博的“无课外作业的感觉教学”中及科学网中,都有不少的例题和说明,这里就不多说了。 我们能创新的东西,不会从天上掉下来,都在你能感觉到的地方,都需要运用你大脑中的已有。数学在校学习的创新,首重的应该是看,看都看不到,怎么可能创新自己!感觉都没有,怎么去多看多想,怎么可能有更多更好的创新自己。看的越多,想的越多,探究发现就多,多看多想多发现,哪里来,本能来。感觉的本能是天赋的,文化文明的数学感觉,尽管是源自于本能,毕竟不是本能。本能之力不够,怎么办,帮助,给力,把对基本概念的是什么的认知变成直觉,要有后天的锻炼。本能产生后能,后能培育本能,让本能不断成长。 人是靠感觉认识世界的,感觉是思维的创新之源,中小学生产生创新自己的数学也不可能例外。互联网时代的思维,能够属于我们人类自己的就几乎只有感觉了,感觉是创新创造之源。创新自己必须有自己的感觉思维的主动,有这样的主动未必会有创新,没有这样的主动就一定不会有创新,哪里有这样的主动哪里才会有创新的成功。视觉和意识的主动,不得不是学生数学思维成长的不可或缺的最重要的基础,不能不是数学创新思维能力培育的主体。否则,难达形式逻辑能力培养之特色目标。 现在的教育教学的发展,核心是思维教育,是思维的方式方法,不是学习的方式方法。数学及相应的思维方式是人类共识,数学思维教育不得不以其相应的知识为基本,不得不接受其知识的导向。 布鲁纳说:“学习不但应该把我们带往某处,而且还应该让我们日后的继续前进时更为容易。”“最有较强直觉思维能力的学生可以看成人才。”
个人分类: 数学思维教育|2287 次阅读|0 个评论
初识红秋葵
热度 1 cladocera123 2014-7-21 19:13
偶然看见一种漂亮的花:花瓣单瓣极淡的黄色,花心和花蕊紫红色。初看以为只是某种花,细看发现上面还结了几个像辣椒样的果实,应该是某种蔬菜吧。 后来在门口卖菜的大爷那看见类似果实,但颜色为枣红色。一打听才知道,这种植物叫“红秋葵”,是现在时髦的一直蔬菜呢,听说营养价值还很高,遂买几个尝尝鲜。 红秋葵的成熟果实枣红色,长角形,表面摸起来有点粗糙,密布细绒毛,四周有 6 道纵棱。横切面为规则的六边形,对应有 6 个孔,孔中有芝麻大小的白色种子。切面上粘液比较多,滑滑的。 清炒过后,红色竟然消失了,变成了绿色。口感很不错,脆脆的。 搜索发现,有博文介绍过黄秋葵,红秋葵是黄秋葵种中的一个果实外皮红色的品种。据说营养丰富,价格有点小贵,下次试试别的烹饪方法。 红秋葵的花 红秋葵的果实 横切后的样子 炒熟后的样子(红色的是辣椒)
4492 次阅读|1 个评论
宝岛行---似曾相识花博会
xuxfyuwp 2014-4-24 14:48
刚在上海看到过世博会,又有机会到台北看花博会,算是很不错的经历了。想象中的花博会应是以花的展示为主,花博园也应是各类鲜花构成的大花园。实际却并非如此,似乎与世博会的展览方式更接近一些。有4个园区,16个展馆,园区确实有各式各样的鲜花,展馆内就很不相同了,每个馆都有不同的主题,与花没有什么必然的联系,如流行馆、真相馆、名人馆、梦想馆等。所展示的理念与世博会也有些类似,包括环保、节能减排、灾害防御、科技进展等。 看了“流行馆”,多数内容没有留下太深印象,倒是40多万个再生塑料瓶构成的展馆主体确实有些独特。据说这40几万个塑料瓶是利用了150多万个废旧塑料瓶加工而成的。新加工的塑料瓶都是按六边形的断面设计的,相互之间很易咬合。白透明塑料瓶的外形也很易配上各类灯光加以装饰,据介绍这一建筑可以抗9级地震,符合抗灾标准,未来拆迁也很方便。废物利用显然符合环保理念,只是没问清楚将塑料瓶重新加工的成本大不大,额外的消耗有多少。 “真相馆”主要内容是灾害防御。其中有一个3D影片展示了2009年台风“莫拉克”登陆台湾后所造成的地质灾害,拍得很有水准,通过一个简单故事,诉说了一家人在台风登陆后遭遇地质灾害侵袭的遭遇,使人们在观看后可以提高对自然灾害的认知,人类在自然灾害来临时的无奈令人震撼,影片中模拟的暴风雨和泥石流很逼真,与世博气象馆中的3D片有些相似,但故事更具体。 时间关系,多数馆没有机会去,只是听解说员做些简单介绍。如“名人馆”,是以邓丽君这位在岛内和国际上都有很大影响的台湾名人为主题设计的。11月18日举行开馆仪式时,被称为“小邓丽君”的大陆歌手王静到场做了演唱,成为仪式上引起“轰动”的压轴戏。王静与邓丽君的相貌和歌声都很像,她演唱了《何日君再来》、《小城故事》、《路边野花不要采》等歌曲,令在场观众惊叹。邓丽君的三哥邓长富也表示王静很像邓丽君,不完全是模仿,音质确实也与邓丽君很相近。 “梦想馆”则是一个高科技馆,重点介绍一些面向未来的技术发展,这个馆是整个园区最受欢迎的馆,每天早上开园后,有限的票会很快被一抢而空,有点类似世博会期间的一些热门展馆。 在园内还可以看到西安、上海、香港的展区。下一届花博会将在西安举办,或许台湾花博会的有些做法可以得到借鉴。 (原文写于2010-12-13 22:14:55 新浪博客)
个人分类: 杂记|903 次阅读|0 个评论
[转载]浙江大学研制出六边形柱状“隐身衣”
zsunnywell 2013-11-3 11:22
博士郑斌整理一件“隐身”装置 一束光在该装置内“转弯” 铅笔被放入该装置中时,铅笔中间部位“不见了” 制造出能实现完美隐形的“隐身衣”,是科学家、工程师及科技爱好者梦寐以求的事。浙江大学陈红胜教授等带领的研究团队,正在从事电磁波“隐身衣”机理及实验研究。他们相信,虽然目前的技术还存在一定的局限性,电磁波隐身将是隐身技术真正走入 生活 领域的一个重大契机。 电磁波(包括光波)照射到物体时,会在物体上发生散射;散射的电磁波被接收后,就表明那里存在物体。如果能让电磁波“转弯”,绕着物体走,这样物体就能 “隐身”,陈红胜团队所进行的研究正是基于这样的理念。 该团队提出了一种可见光波段多边形“隐身衣”的设计方法,理论上能够实现在各个方向上的隐身效果。在实验上,他们研制出一种六边形柱状“隐身衣”,其工作频段可达整个光波段。另外,该团队还制作出了微波段圆柱体隐身器件等。 陈红胜团队所进行的研究,不仅对“隐身衣”从理论走向实用起到了促进作用,还有效降低了其实现的复杂度。
个人分类: 隐身技术/材料|2267 次阅读|0 个评论
科学家首次拍到一个石墨烯分子的内部情况
热度 4 sulihong 2012-9-19 12:44
美国国际商用机器公司(IBM)的美国科学家同行发表的石墨烯内部单个分子的照片,验证了我们在2010年就指出的石墨烯内部化学键形成的碳碳六元环,不会是标准的六边形,而会发生变形的观点,我在去年发表论文中纳米科技也提到这一观点(具体见我前年博文和相关论文).并且给出了理论计算证明.美国同行的检测(我与IBM公司个别研究者也因石墨烯相识成为朋友,对他们公司这一报告我很开心),他们的研究工作可以说为我们的理论计算和观点,提供了更明确的实验数据支持.所观察到的实际情况与我们自己以前做的研究结果和结论是完全符合.正是因为石墨烯内部的不均衡微观结构才导致这一结果,而且这是石墨烯可以克服热力学不稳定性,而在常温下可以被制备的根本原因. 当然这一结果,美国同行还有忽视了两个因素,未被报告.第一,测试样品的大小也会是一个影响因素,这可以从我们论文的结论明确得知.第二,就是我前期对日本研究者的石墨烯照片不足指出的,这一测试实际测试的"唱针",也可以说探针,对于样品本身的实时形貌也会有影响,所拍摄和发表的照片不能完全视作其准确的形貌.这点我们在六七年前的纳米材料实验观察中就有发现,实际在此纳米尺度任何外界的探针都会是一个不可忽视的因素.
个人分类: 石墨烯|5871 次阅读|8 个评论
[转载]生成富勒烯的螺旋算法简介以及使CaGe中的编号与Fowler-Manolopou
热度 1 zhangslvip 2012-3-6 11:38
近日有个网友,投了篇富勒烯包夹三金属氮化物的文章。她用的富勒烯是CaGe生成的,编号用的是CaGe生成时的顺序。然而审稿人要求必须使编号规则满足IUPAC推荐的编号规则,即Fowler-Manolopoulos编号系统。经过探索,现在笔者已找到办法让CaGe的编号顺序和Fowler-Manolopoulos编号系统对应上,将在此文介绍。在介绍具体做法前,将先顺便介绍一下富勒烯的结构、螺旋算法以及spiral和CaGe程序。 1 富勒烯结构简介 富勒烯(fullerene)是指由三价碳原子、只由五边形和六边形面构成的球状多面体。最常见的那种C60,即足球烯,是富勒烯的一种。通过欧拉定理可以证明富勒烯都是由偶数个碳原子构成,五边形一定有且只有12个。n个碳原子的富勒烯Cn包含n/2+2个面,n/2-10个是六元环。富勒烯没有原子数上限,最小的是C20,因为再小的话面数将少于12个,也就不可能包含12个五边形了。 IPR规则(isolated pentagon rule)是指富勒烯的五元环彼此之间不共点(与不共边的条件是等价的)。不满足IPR,即存在相连五元环的富勒烯是存在的,但符合IPR的富勒烯通常比不符合IPR的要稳定。最小的满足IPR的富勒烯是C60的最稳定的异构体,即足球烯,再大的就是C70。 一定原子数目的富勒烯可以有很多异构体,不同异构体的原子间连接关系不同。下图列出了各种碳原子数的富勒烯的可能的异构体数。由于所用的螺旋算法不能保证能找到所有可能的异构体,对于碳数多的富勒烯的异构体数可能比图中的更多。另外,C22连一种异构体也没有。图中括号里是考虑了对应异构体的情况。 这些异构体中,只有极少数满足IPR规则。例如C88的异构体中只有35个满足IPR。 2 生成富勒烯的算法--螺旋算法简介 生成富勒烯异构体,实际上也就是生成各种异构体中各个原子间的连接关系。连接关系可以以邻接矩阵来表示,这是对称矩阵,维度为n*n,若i,j原子相连接,则i,j矩阵元为1,否则为0。螺旋算法(spiral algorithm)是使用得最为广泛的一种生成富勒烯异构体的算法,原理比较清楚形象,虽然不能保证一定能够得到全部可能的异构体,但是对于380个原子以内的富勒烯是可靠的。螺旋算法比较适合低对称性的多面体构造,由于富勒烯的异构体对称性普遍很低,所以这种算法是适合的。螺旋算法在Fowler和Manolopoulos写的AN ATLAS OF FULLERENES一书(1995)中的第二章有介绍,这里只是说说梗概。 富勒烯可以用平面图来表示连接关系。例如下面的图就是唯一满足IPR的C60的异构体的平面图(先别管曲线),每条直线都是一个C-C键,五元环、六元环都能看得很清楚。注意每种异构体虽然唯一地定义一种连接关系,但是平面图的画法并不是唯一的,比如满足IPR的C60可以取一个六元环当成平面图的中心,即下图中间和右边那种,虽然图看起来和以五元环为中心时,即下图中左边那种不同,但是实际上是等价的。 在说明怎么通过螺旋算法构建异构体前,先来看看如何将一个异构体进行解螺旋。解螺旋时,从平面图的任意一个面开始(为了看起来方便通常取图中间的),一圈一圈穿过各个面,就会得到一个螺旋序列,例如上图左、中、右三种解螺旋路径会分别得到下面这些螺旋序列 56666656565656566565656565666665 65655566656656656566566565656566 66565656566566565665665666565656 即如果穿过的是五元环,序列中就是5,若是六元环,就写6。解螺旋的路径不是随意的画画圈就行。下一个要到达的面,必须紧埃着刚才的面,且同时挨着上一圈螺旋中第一个敞开的面。例如下图中,当目前位置是红点所在的面时,下一个面必须是蓝点对应的面,因为蓝点的面与刚才的红点的面挨着(绿线),同时和上一个螺旋第一个开放的面挨着(黄线。第二个开放的面就是指黄线左边的横线)。紫色的面不能作为下一个面,因为虽然挨着红点的面,但是不挨着黄线。解螺旋过程未必都能成功,有可能解到某个面时,发现无法找到满足要求的下一个面,此时解螺旋宣告失败。一种异构体,从某些面开始可以成功解螺旋(即所有面都能按要求地经过),而从某些面开始解螺旋则会失败。可以证明最多有6n种可能的解螺旋路径(包括对称等价的路径)。而一些原子数很大的富勒烯,如C380的一种异构体,甚至无法找到任何一种能够成功解螺旋的路径,此时,也就不可能按下文的过程通过螺旋算法来获得这种异构体了,这就是为什么说螺旋算法不保证能找到所有异构体。 同一个异构体的各种螺旋序列是等价的,为了避免模糊性,就有必要从中选一个序列来唯一代表那种异构体,通常选择序列对应的数值最小的那个序列,也叫正则(canonical)螺旋序列。因此,上面给出三种序列中第一种就是正则螺旋序列。 将解螺旋过程反过来,就可以构建异构体。首先,生成所有可能的螺旋序列。n个原子的富勒烯,由于有n/2+2个面,12个五元环,n/2-10个六元环,根据排列组合规则可知,总共有(n/2+2)!/12!/(n/2-10)!种排法。然后,依次尝试将这些螺旋序列按照规则卷起来(解螺旋的逆过程),看看能否成功。所有螺旋中只有少数能够通过这个检测。剩下的螺旋序列中有大量是等价的,因此,需要再把成功卷起来的每种异构体再以全部6n种可能方式解开,找出等价的螺旋序列,并保留正则螺旋序列。这样,寻找异构体的过程就结束了,我们得到了正则螺旋序列,也得到了相应的异构体的面之间邻接关系。在上述过程中,可以很容易地将IPR作为限制条件,搜索出的异构体的数量将会大为减少,搜索速度也会大为加快。 最后还要说一下dual(对偶)概念,会在下文用到。一个多面体的dual,就是将这个多面体的面替换成顶点,并根据原来的面的相邻关系将这些顶点连接起来。例如下图,左边是20面体,它的dual就是12面体。由红线所示,在左侧的一些面的中间取一点,根据面相邻的关系将点相连,就得到了dual的顶点和边。也就是说,多面体的面之间的邻接关系,实际上就是这个多面体的dual的顶点之间的邻接关系,它们包含的信息是相同的。另外值得一提的是,对dual再取dual就恢复为原始多面体;dual中的面的边数就是原始多面体相应顶点的价数(即那个顶点与多少个其它顶点相连)。由于在富勒烯中每个碳都与另外三个碳相连,所以Cn富勒烯的dual就是由n个三角形组成的多面体。 3 Fowler-Manolopoulos编号系统和spiral程序 富勒烯的异构体非常多,而且本身原子数也很多,因此如果不在文献中使用一个标准的编号系统,会使交流变得很困难。Fowler-Manolopoulos编号系统是被广为使用的,写为Cn:xxxx形式。n是原子数,xxxx就是这种异构体在Fowler和Manolopoulos编纂的AN ATLAS OF FULLERENES一书的附录中给出的生成富勒烯异构体程序中的生成顺序。例如C60共有1812个异构体,符合IPR的唯一一种C60异构体在书中的程序中是最后一个输出,因此这个异构体就叫C60:1812。 书里的程序在本文中将称为spiral。这个程序功能远没有下面介绍的CaGe那么强大,而且速度颇慢,但是由于只有利用这个程序才能得到异构体的Fowler-Manolopoulos编号,所以十分重要。其它的生成富勒烯异构体的程序还有很多,但是由于使用的算法不同,而即便是使用了螺旋算法的程序,如著名的CaGe,由于在内部生成初猜的螺旋序列的顺序不同,导致输出的异构体的顺序也和Fowler-Manolopoulos编号不符。如何找到CaGe输出的异构体的序号和Fowler-Manolopoulos编号之间的关系(或者说spiral输出的异构体的序号),就是后文要解决的。在此,首先介绍spiral程序的使用。 spiral的代码和编译好的可执行文件(Win32版)可以在这里下载: http://dl.dbank.com/c0y6mvtqa3 代码主体是从那本书里搬下来的,为了能够同时输出异构体的指纹(根据邻接矩阵生成的一个能够唯一标识这种异构体的浮点数,详见第五节),笔者在原始代码的基础上进行了改造,编译时还需要blas和lapack库文件,因为生成指纹时用到了lapack的对称矩阵对角化子程序。编译很简单,比如在intel visual fortran里,把那四个.f90文件和blas、lapack库文件都拖到工程的Source Files里,然后编译即可;若是Linux下用ifort,就运行ifort -O3 *.f90 lapack.a blas.a -o spiral。 程序使用很简单,每一步都有提示。 (1)首先输入碳原子数以及是否需要满足IPR。例如要生成C60全部异构体,符合与不符合IPR的都包括在内,就输入60,0。 (2)选择是否输出异构体的指纹。如果输入0,就不输出指纹,也不输出邻接矩阵。如果输入1或2,就输出指纹,1代表生成指纹用的邻接矩阵是富勒烯的dual的顶点的邻接矩阵(或者说,是富勒烯的面的邻接矩阵);若是2,就代表用的是富勒烯的顶点的邻接矩阵。 (3)如果上一步选择了输出指纹,则程序还会问你是否把邻接矩阵也输出出来。1代表输出。输出的邻接矩阵是什么邻接矩阵,对应于上一步选的是1还是2。 看个例子。这里要生成C36的全部异构体,并输出各种异构体的顶点的邻接矩阵的指纹,同时也输出邻接矩阵本身。于是就依次输入 32,0 2 1 屏幕上立刻输出总共找到的6种异构体 ----------------------------------------------------------------------------- 1 C2 1 2 3 4 5 7 12 14 15 16 17 18 16 x 2 2 D2 1 2 3 4 5 8 12 13 15 16 17 18 8 x 4 3 D3d 1 2 3 4 5 9 12 13 14 16 17 18 1 x 2, 1 x 6, 2 x 12 4 C2 1 2 3 4 7 10 11 12 14 15 17 18 16 x 2 5 D3h 1 2 3 4 7 10 11 13 14 16 17 18 1 x 2, 3 x 6, 1 x 12 6 D3 1 2 3 5 7 9 10 12 14 16 17 18 1 x 2, 5 x 6 ----------------------------------------------------------------------------- 第一列,即输出序号,就是这种异构体的Fowler-Manolopoulos编号。第二列是点群。后面12个数字是螺旋序列中12个五元环所在位置。最后一块是13C NMR信号,这里不做讨论。 同时,各个异构体的顶点的邻接矩阵输出到了当前目录的adjmat.txt里,比如第一个异构体的前四行是 01010010000000000000000000000000 10100000100000000000000000000000 01001000001000000000000000000000 10001100000000000000000000000000 .... 说明其中第一个碳原子与2、4、7号碳原子相连,第二个碳原子与1、3、9号碳原子相连... 同时,当前目录下fp.txt记录了全部异构体的指纹,如下所示 1 -7.27828597613050 2 41.8007533755431 3 41.7891354377565 4 23.6786023771991 5 43.7753607538324 6 48.6561193681689 4 CaGe使用简介 CaGe是Linux平台下的历史悠久的生成各种类型多面体结构的程序,还特别包括富勒烯、碳管等类型。该程序不仅可以生成结构,还可以通过基于java的图形界面直接观看结构,十分方便。生成速度也非常快,远远超越spiral。CaGe可以免费从 http://www.mathematik.uni-bielefeld.de/~CaGe/ 下载。 在编译CaGe前,系统里必须安装JDK(仅安装java运行环境,即JRE是不够的)。 解压CaGe安装包后,在其目录下运行./INSTALL,程序一般会说找不到java的路径(哪怕已经将JDK安装在了默认路径下),于是输入?然后输入/usr让程序在此目录下自行寻找java路径。在笔者的RHEL6-U1 64bit系统在安装时已经装了openjdk,于是安装脚本找到了java的路径是/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin,输入1(对应于这个路径的编号),CaGe就开始编译了。 运行cage.sh就可以启动CaGe的图形界面。实际上也可以直接通过命令行方式调用结构生成器而不经过图形界面。各种结构的生成器都在CaGe安装目录下的Generators目录下,比如fullgen就是用来生成富勒烯的程序。 这里以观看C60的异构体为例介绍使用方法。首先启动图形界面,选3-regular plane graphs,选fullerenes标签页,将最小和最大原子数都设成60,然后点next进入输出方式的设定界面。将3D representation和2D representation都勾上,并都选择为Viewer,选Start,就会如下图看到平面图和立体结构。实际上,CaGe是由很多模块构成的,生成器模块只生成邻接关系,而所看到的平面和三维坐标是通过所谓的embed模块通过读取邻接关系后转化而成的。CaGe生成的三维结构并不是准确的,想获得准确结构需要用量子化学方法优化。 同时还出现一个窗口用于选择要生成并显示的异构体,如下图。view/goto里填入指定数字就可以显示指定序号的异构体。advance可以以1为步进或者以指定数目为步进显示后续的异构体。点flow会寻找并显示能够生成的最后一个异构体,对于C60,就会最后在1812号停住。之前浏览过的异构体可以用review的左右按钮来切换。注意异构体是在后台按顺序生成的,如果想浏览第m个异构体,那么程序就会把前m个异构体的邻接关系在后台全都生成出来(即generated所显示的数量),并且接下来只能浏览编号大于m的异构体,而不能返回去浏览漏过去的编号小于m的异构体,除非某些编号小于m的异构体在之前已经浏览过(浏览过的异构体的平面和三维坐标会被记录了下来,可以再次浏览)。看完后点exit可推出程序,cancel则返回主界面。 如果想一次将所有异构体的顶点的邻接关系存到一个文件里,可以在设定输出方式时勾上Adjacency information,并选择File,format选writegraph,点start之后就会看到出现一个小窗口显示生成到了多少,显示finished时代表生成结束。这时可以检查当前目录下full_60.w0d文件,可以用文本编辑器打开,里面记载了各个异构体中每个原子和另外哪三个原子相连。 如果想把所有异构体的三维结构输出到pdb文件里,则设定输出方式时勾上3D representation,选File,Format选pdb。这样得到的pdb可以用VMD等程序打开,每一帧对应一个异构体。 5 寻找CaGe的编号与Fowler-Manolopoulos编号的关联 原理上讲,可以通过修改CaGe的fullgen程序代码让其输出的异构体序号满足Fowler-Manolopoulos编号,但是这个程序里不仅注释,甚至连变量名都是德文,而且代码颇长,很难修改。因此,为寻找CaGe生成的异构体的编号与Fowler-Manolopoulos编号的关联,应通过比较CaGe输出的邻接信息与Spiral输出的邻接信息来实现。显然,最直白的比较方式就是比较邻接矩阵,看看是否相同,相同则为同一个异构体。但是这样做有两个问题:(1)原子编号在CaGe里和spiral里通常不一样,所以必须考虑以各种方式对行和列进行置换后再进行比较,这显然太麻烦,而且十分耗时。(2)对于原子数多的情况,全部邻接矩阵记录下来的话会占很大硬盘。所以,笔者想出一个办法,就是给每个异构体生成一个唯一的数字,可以称之为指纹。通过比较指纹是否相同,来判断异构体是否相同会有效率得多。 如果两个异构体相同,无论原子编号是否一致,它们的邻接矩阵的本征值是一定相同的(改变编号顺序等于做矩阵的相似变换,这不影响本征值)。因此,可以用比较本征值来代替比较矩阵,问题大大简化。然而本征值的数目也是很多的,为了比较更为方便,可以将矩阵的一串本征值压缩成为一个称为指纹的数。构建指纹的算法无穷多,但要求是必须能让不同的异构体的指纹差异比较大,这样一个异构体才能被一个指纹唯一、清楚地代表。笔者尝试了不少构建方法,最后决定用这种形式: nint(eig(1))-eig(1)+nint(100*(tmpval-nint(tmpval)))+sum(eig(N-5:N-3)) 其中tmpval=10*(eig(2)+eig(7)),eig是本征值从小到大的序列,nint代表取浮点数最近的整数,N是总原子数。这种定义看似很诡异,的确,这是很随意的,它确实能让指纹差异较大。 (实际上,最好的办法是直接比较异构体的正则螺旋序列是否相同,这才是最清楚、严格的指纹。然而CaGe并不能输出正则螺旋序列,笔者也不打算修改CaGe使之能生成。) 介绍完原理,现在看看具体实现。下面是笔者编写的adjmat2eig程序,它可以读取CaGe生成的富勒烯的顶点的邻接信息(.w0d文件),然后生成邻接矩阵,之后计算指纹,最后与spiral生成的记载了指纹的文件进行比较,输出CaGe的编号与Fowler-Manolopoulos编号的对应表。这个程序的源代码文件和编译好的程序(win32)可以由此下载: http://dl.dbank.com/c0xdsa2btd 。编译时也需要blas和lapack库。 这里介绍下这个程序的代码 ============================================================ program Adjmat2eig implicit real*8 (a-h,o-z) character*80 filename real*8,allocatable :: adjmat(:,:),eigvecmat(:,:),eigvalarr(:),fp1(:),fp2(:) integer,allocatable :: linkfound(:) integer tmparr(4) write(*,*) "Adjmat2eig" write(*,"(a)") "Read adjacent matrix of vertices of fullrene outputted by CaGe (.w0d) and calculate eigenvalues then generate fingerprints" write(*,*) "Written by Sobereva (), 2011-Oct-3" write(*,*) write(*,*) "Input filename" read(*,"(a)") filename !读取.w0d文件,其中记录的必须是富勒烯的顶点的邻接信息,而不能是其dual的顶点的邻接信息。如果输入的文件名叫result.txt,则直接从此文件中读取指纹数据,而不利用邻接关系重新生成 open(10,file=filename,status='old') if (filename=="result.txt") write(*,*) "The fingerprints will be loaded from result.txt directly" write(*,*) "Input number of atoms" read(*,*) natom !富勒烯的原子数 write(*,*) "Input number of isomers recorded in this file" read(*,*) nisomer !此文件内记录的异构体数目 allocate(adjmat(natom,natom),eigvecmat(natom,natom),eigvalarr(natom),fp1(nisomer),fp2(nisomer),linkfound(nisomer)) if (filename=="result.txt") then do iso=1,nisomer read(10,*) nouse,fp1(iso) end do close(10) goto 1 end if write(*,*) "If also output reformatted adjacent matrix? 0/1=no/yes" read(*,*) ioutadjmat !是否把由CaGe的.w0d文件转化出的邻接矩阵也输出出来 if (ioutadjmat==1) open(11,file="isomat.txt",status='replace') open(12,file="result.txt",status='replace') write(*,*) "Please wait..." do iso=1,nisomer adjmat=0D0 read(10,*) do iatom=1,natom !读取.w0d文件 read(10,*) tmparr adjmat(iatom,tmparr(2:4))=1D0 !构造邻接矩阵 end do if (ioutadjmat==1) then write(11,"(a,i12,a)") "=========== isomer:",iso," ===========" do itmp=1,natom do jtmp=1,natom write(11,fmt="(i1)",advance='no') nint(adjmat(itmp,jtmp)) !输出各个邻接矩阵到isomat.txt end do write(11,*) end do end if call diagsymat(adjmat,eigvecmat,eigvalarr,istat,natom) !将邻接矩阵adjmat对角化,eigvalarr是由小到大排序的本征值数组 tmpval=10D0*(eigvalarr(2)+eigvalarr(7)) fp1(iso)=nint(eigvalarr(1))-eigvalarr(1)+nint(100D0*(tmpval-nint(tmpval)))+sum(eigvalarr(natom-5:natom-3)) !生成指纹,fp1的第i个元素就是CaGe的第i个异构体的指纹 write(*,*) iso,fp1(iso) !输出到屏幕 write(12,*) iso,fp1(iso) !也输出到result.txt end do close(10) close(11) close(12) write(*,"(a)") "Done! The results shown above have also been outputted to result.txt in current folder" if (ioutadjmat==1) write(*,"(a)") "Reformatted adjacent matrix has been outputted to isomat.txt in current folder" write(*,*) 1 write(*,*) "Make connection for the result with which file?" read(*,"(a)") filename !输入另一个记录了各个异构体指纹的文件的名字,注意格式必须和spiral输出的fp.txt文件或者本程序输出的result.txt一样。此文件内异构体的数目也必须和前面输入的一样 open(10,file=filename,status='old') do iso=1,nisomer !载入另一个文件记录的指纹 read(10,*) nouse,fp2(iso) end do close(10) open(11,file="relat.txt",status='replace') linkfound=0 !这个数组用于记录当前文件(就是指.w0d文件或者一开始直接载入的result.txt)内的异构体序号与另一个文件内的异构体序号的对应关系 iwarndouble=0 iwarnlack=0 write(*,*) "The connection between isomers recorded in the two files" write(*,*) " Current file Another file" do iso1=1,nisomer !依次选择当前文件中的每个异构体的指纹,与另一个文件中异构体的每个指纹进行比较 do iso2=1,nisomer if (abs(fp1(iso1)-fp2(iso2))1D-10) then !判据。考虑到数值精度,如果两个指纹间的差异小于1D-10就代表这两个异构体等价 if (linkfound(iso2)/=0) then !另一个文件记录的第iso2号异构体此前已经与当前文件的一个异构体linkfound(iso2)有对应关系了,此时说明当前文件内iso1和linkfound(iso2)异构体的指纹太相近,导致都能对应上另一个文件中的iso2异构体的指纹。此时,需要调整指纹的生成算法(别忘了在spiral程序里也对应地修改算法,使二者一致),或者将差异的判据设得更严格 warndouble=1 write(*,"('Warning: The isomer',i12,' in another file has already linked to isomer',i12,' in current file')") iso2,linkfound(iso2) write(11,"('Warning: The isomer',i12,' in another file has already linked to isomer',i12,' in current file')") iso2,linkfound(iso2) !同时在屏幕上和relat.txt中显示警告信息 end if linkfound(iso2)=iso1 write(*,"(i12,' --------',i12)") iso1,iso2 write(11,"(2i12)") iso1,iso2 !同时在屏幕上和relat.txt中输出对应关系 exit end if if (iso2==nisomer) then !说明当前文件中第iso1号异构体在另一个文件中找不到等价异构体,即没有相符的指纹。既有可能这是真实情况,也有可能是因为判据太严,且数值精度不够,导致本来是等价构体的指纹间的差异大于判据。此时应放宽判据,但判据放得太宽,就容易导致不是等价的异构体因为指纹相近也被认为是等价的 iwarnlack=1 write(*,"(a,i12,a)") "Warning: Cannot find connection for isomer",iso1," of current file" write(11,"(i12,a)") iso1," ????????" end if end do end do close(11) write(*,"(a)") "Done! The relationship shown above has also been outputted to relat.txt in current folder" if (iwarndouble==1) write(*,*) "You may need to tighten the criteria for comparison" if (iwarnlack==1) write(*,*) "You may need to lower the criteria for comparison" write(*,*) "Press Enter to exit" pause end program !下面这个子程序用来将lapack库里面的DSYEV子程序重新封装成简洁形式,因为DSYEV的参数太多,使用不便。DSYEV用来将对称矩阵对角化。如果istat不为0,说明子程序执行出错。 subroutine diagsymat(mat,eigvecmat,eigvalarr,istat,nsize) integer istat real*8 mat(nsize,nsize),eigvecmat(nsize,nsize),eigvalarr(nsize) real*8,allocatable :: lworkvec(:) allocate(lworkvec(3*nsize-1)) call DSYEV('V','U',nsize,mat,nsize,eigvalarr,lworkvec,3*nsize-1,istat) eigvecmat=mat mat=0D0 forall (i=1:nsize) mat(i,i)=eigvalarr(i) end subroutine ============================================================ 6 实例:寻找C88的CaGe的编号对应的Fowler-Manolopoulos编号 这里,我们将结合使用CaGe、spiral和Adjmat2eig程序来寻找CaGe生成的C88全部异构体的编号对应的Fowler-Manolopoulos编号。 首先,在CaGe里按照前文所述方法,生成C88全部异构体的邻接信息,储存到full_88.w0d,这个文件已经在Adjmat2eig程序压缩包里面提供。然后,使用spiral生成C88全部异构体的指纹,即启动程序后依次输入 88,0 2 0 //邻接矩阵没必要输出,所以选0 在笔者的机子上(i7-2630QM)经过20分钟左右程序运行完毕。实际上,当程序输出到81738时就可以停掉程序了,因为已知C88只有这么多异构体,这些异构体的指纹也已经同步输出到了fp.txt。fp.txt已在Adjmat2eig程序压缩包里面提供。 启动Adjmat2eig,依次输入 full_88.w0d 88 //原子数 81738 //文件中异构体数 0 //没必要输出邻接矩阵。而且输出的话很占硬盘,还降低程序运行速度 现在程序开始生成CaGe生成的异构体的指纹,生成完毕后,输入 fp.txt 程序就开始将刚刚生成的指纹与fp.txt里的进行比较,同时在屏幕上输出进程,这些内容也会输出到当前目录下relat.txt文件里。此文件里前几行为 1 3646 2 4622 3 4623 4 4 5 3 6 3660 7 3661 8 3659 9 3658 ...... 也就比如说,CaGe生成的第8号异构体,按照Fowler-Manolopoulos编号就应该写为C88:3659。搜索一下relat.txt,发现没有warning和???字样,说明CaGe的每个异构体都完美地找到了对应的Fowler-Manolopoulos编号。 转载、: http://hi.baidu.com/sobereva/blog/item/f7d60009e7e08db32fddd448.html
4238 次阅读|1 个评论
MS办公软件居然画不出正六边形
热度 3 youzhizhe 2012-1-11 11:03
偶然发现。请众位网友评述。 本文所示画正边形图时均已按住shift键,并无操作错误。 图1 Microsoft Office Powerpoint中按住shift画得的六边形。 按照常识,中心旋转60度后应该和原图重合的,但上图结果并非如此。 图2 Microsoft Office Word中按住shift画得的六边形。 按照常识,中心旋转60度后应该和原图重合的,但上图结果并非如此。 图3 Microsoft Windows 7 自带的画图按住shift得到的六边形。 按照常识,中间画个内切圆是可以的,但上图结果并非如此。 最终用AutoCAD搞定。这才叫真正的正六边形! 图4 AutoDesk AutoCAD画得的六边形。
个人分类: 科研笔记|16584 次阅读|4 个评论
石墨烯问题释疑II
热度 8 sulihong 2011-1-17 10:01
因为与多位老师讨论,他们提出了疑问,为了更清楚解释,对原文作了修改,再次发表。我要强调这只是我们研究结果的一个推论,2009年长沙纳米会议上就提出了相关研究结论。在2010年诺贝尔物理奖的公告发表前就已经有定论的东西,只是当时并未拿起人们重视。诺奖公告中很多对于石墨稀的宏观应用预测,如石墨稀吊床等是不真实的,应该打假;但对于石墨稀微观性能研究还应继续深入,比如半导体器件等研究。 广为传播的网上石墨烯由多个正六边形组成的图案,是想当然的图案,因为边界处碳原子与两个碳原子连接,键长短强度大,而石墨烯内部碳原子与三个碳原子连接,键长长强度小,两者以现有试验数据,就可知化学键能差距约在40%左右(注意有误差,但差距明显不容否认),石墨烯边界处碳碳之间和内部碳碳之间,是不同的化学键在相互连接。这点得到了包括前诺奖得主在内的多位科学家认同。 石墨烯的特异性是依靠其边界而存在的,我们提出边界碳原子的色散作用导致石墨烯可以存在的微观结构本质原因。我们认为其悬浮态下,很难制备更大尺度超过数十微米的稳定的单层悬浮石墨烯。若石墨稀附着载体上,其尺寸会达到几十厘米级别,但是大尺寸石墨稀与微米级以下的石墨烯性质已经不同,此时若石墨稀悬浮,它会极不稳定而发生破裂或者褶皱(注意这也形成了新的边界,此时化学键的键角发生了变化)。诺奖公告中的与此相关的很多宏观应用的结论是不真实的。 打个比方就象两种不同强度的弹簧联接着碳原子,而边界处的碳原子受到短而更高强度的弹簧来连接,那么其结果是对于内的较弱强度长的弹簧会起到收紧的作用。而在表观上起到了限制石墨烯内部碳原子自由振动的作用,石墨烯才在现实中可以稳定存在,所以二维石墨烯才能有制备分离出来的可能。 因为键长键角不同,边界处石墨烯六边形结构会变形,而因为原子和原子间结构的紧密性,保持六边形必然使得相邻碳原子电子云受到色散应力,这一应力作用范围有限,但是它会想接力赛一样,将这一应力一级一级传递下去,而在微观尺度下,传递效率会很高,受不同角度和方向边界传递过来的这一色散应力作用,会发生抵消衰减的,石墨烯内部的就会难以稳定存在,所以石墨烯(我强调单一完整的悬浮)不可能获得尺寸无限增大。而且即使增大到数百微米的石墨烯与一微米大小的石墨烯相比,因为上述原因,其性质也会有差异,而且具体可以获得的石墨烯最大尺寸与制备时大气环境下的温度和压力也相关。 实际能稳定存在的石墨烯其内部每个碳碳化学键的电子云分布都要受到边界不同碳碳键导致的色散应力的影响,而达到一个动态均化的平衡,这是悬浮石墨稀能够存在的动力学基础。2010年诺奖得主应当是对此认识不清,诺奖委员会对此也是未搞清楚,以为单层悬浮石墨烯可以达到作石墨烯吊床之类而写入其公告中。 为了方便大家理解,石墨烯之所以存在,实际是打个比方来说就像一个网球拍,这个网是固定在一个由收紧的边界“箍”上,而这个“箍”所能施加的色散应力是有限的,一旦这网变大,网中间的碳原子自有振动受到约束力会越来越小,一旦其振动超出化学键作用范围,这个网必然破损。石墨烯不能制备很大道理与此类似。这样比喻更形象,仅是为了向大家介绍采用。实际物理机理还要考虑的势函数和电子轨道分布的影响(实际这些理论本身误差也很大,目前可用的数据准确性差, 所以不罗列这些公式计算了,这些计算结果误差大,但不影响结论),主要是利于大家理解这一问题。 诺奖研究者的很多结论和预期应用并不能推广到宏观尺度。根据其结果,因为热门,所发表的研究很多,但并未考虑到实际随着尺寸增大,其研究对象性质已经起了很大变化。诺奖和其后续很多研究者应当是忽视了这一问题。很多其材料研究存在跟风盲目的错误。 这一结论,不仅限于石墨烯,对于其他纳米材料也是一样的。十几纳米陶瓷粉体,可以在其熔点一半左右的温度成瓷,而微米级陶瓷粉体无法实现这一点,要到接近熔点温度才可以实现,这充分说明纳米晶界面能的作用,固体材料纳米尺度与宏观尺度最大的物质结构差别之一就在于界面在其体积中所占比例大小,换言之是界面化学键量子效应对于整个纳米结构都存在影响的尺寸,才是纳米材料的定义尺寸,对于每一种物质包括其同分异构体都会是不同的。除此之外,我们在其他纳米材料研究中,也测试到随着尺寸增大,在小于某一尺寸时,粉体地一些性质发生近似非线性的变化。
个人分类: 石墨烯|7532 次阅读|19 个评论
诺奖石墨烯问题再释疑
热度 3 sulihong 2010-11-9 22:31
2010年诺贝尔物理奖的公告中很多对于石墨稀的宏观应用预测,如石墨稀吊床等是不真实的,应该打假;但对于石墨稀微观性能研究还应继续深入,比如半导体器件等研究。 广为传播的网上石墨烯由多个正六边形组成的图案,是想当然的图案,因为边界处碳原子与两个碳原子连接,键长短强度大,而石墨烯内部碳原子与三个碳原子连接,键长长强度小,两者以现有试验数据,就可知化学键能差距约在40%左右(注意有误差,但差距明显不容否认),石墨烯边界处碳碳之间和内部碳碳之间,是不同的化学键在相互连接。这点得到了包括前诺奖得主在内的多位科学家认同。 石墨烯的特异性是依靠其边界而存在的,我们提出边界碳原子的色散作用导致石墨烯可以存在的微观结构本质原因。 为了方便大家理解,石墨烯之所以存在,实际是打个比方来说就像一个网球拍,这个网是固定在一个由收紧的边界“箍”上,而这个“箍”所能施加的色散应力是有限的,一旦这网变大,网中间的碳原子自有振动受到约束力会越来越小,一旦其振动超出化学键作用范围,这个网必然破损。石墨烯不能制备很大道理与此类似。这样比喻更形象,仅是为了向大家介绍采用。实际物理机理还要考虑的势函数和电子轨道分布的影响(实际这些理论本身误差也很大,目前可用的数据准确性差, 所以不罗列这些公式计算了,这些计算结果误差大,但不影响结论),主要是利于大家理解这一问题。 诺奖研究者的很多结论和预期应用并不能推广到宏观尺度。根据其结果,因为热门,所发表的研究很多,但并未考虑到实际随着尺寸增大,其研究对象性质已经起了很大变化。诺奖和其后续很多研究者应当是忽视了这一问题。很多其材料研究存在跟风盲目的错误。 这一结论,不仅限于石墨烯,对于其他纳米材料也是一样的。十几纳米陶瓷粉体,可以在其熔点一半左右的温度成瓷,而微米级陶瓷粉体无法实现这一点,要到接近熔点温度才可以实现,这充分说明晶界的作用,固体材料纳米尺度与宏观尺度最大的物质结构差别之一就在于界面在其中的所占比例大小,换言之是界面化学键对于整个纳米结构都存在影响的尺寸,才是纳米材料的定义尺寸,对于每一种物质包括其同分异构体都会是不同的。除此之外,我们在其他纳米材料研究中,也测试到随着尺寸增大,在小于某一尺寸时,粉体地一些性质发生近似非线性的变化。
个人分类: 石墨烯|6574 次阅读|16 个评论
[转载]蜂巢为什么是六边形的?
liuzhti 2010-9-5 10:37
        蜂巢巢室的中心线总是水平的,而巢室的非角度行排(non-angled rows)也是水平地(非垂直地)排成一线。因此,每个巢室都有两个垂直的墙,由两个角墙构成地板和天花板。而巢室的斜度是些微地向上,在9至14度之间,朝向开端,这样蜂蜜便不至流出。       那么为什么蜂巢是六边形,而非其他形状的?现在的说法有两个。第一,六边形能以每范围最小的周界去平铺一平面,就是说六边形结构可以在一定体积里,能用最少的材料去建造一个最宽敞的巢室。另一个原说法是英国动物学家汤普生提出的,他认为六边形形状是基于个别的蜜蜂们将巢室摆放在一起的程序:有些类似在肥皂泡间制造的边界形状。为支持此论点,他指出个别建造的蜂王巢室,它们多是不规则和凹凸不平,不是以最有效率的方式制作      蜜蜂建筑蜂巢似乎是基于它们的本能,而生物学一般的理论均认为自然界里这么有效能的形状的现象是由于自然选择。      蜂巢巢室的末端也是几何效能的例子,虽然稍微不起眼。末端是一个所有邻近表面两面角度为120的三面锥形,在一定容量最小化表面面积的角度(一个在锥形顶部边缘形成的角度大约为10928'16( = 180- arccos(1/3)).)         蜂巢巢室3D几何图      巢室的形状就像是两个相对的蜂巢层互相套叠对方,而末端的各个平面都是和对边的巢室共享的。         相对层蜂巢的巢室合并在一起      当然个别巢室并非如上图显示的几何完美:在一个实际的蜂巢里,完美的六边形是有少许百分比偏差的。在较大的雄蜂蜂巢和较小的工蜂蜂巢之间的过渡地区,或当蜜蜂遇到障碍时,巢室型状都可能会歪曲的。而在1965年,匈牙利数学家拉兹洛费耶托斯发现蜜蜂所用的三面锥形(由三个菱形组成)不是理想最佳的三维几何形状。而由2个六角形和2个较小菱形组成的巢室末端将会多.035%(或接近1/2850)的效能。
个人分类: 生活点滴|4637 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 15:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部