想问一下楼主,这个第六步是怎么按照规则定义的,搜过一些资料,发现似乎MS不支持卷曲成管。需要自己写程序,或者仅仅卷曲一定程度然后复制结合。想知道楼主这个第六步是怎么实现的,看到过文章MS可以做,但我不知道 谢谢 |
您好,能否求一份教程3156751197@qq.com |
同求高级教程。谢谢1042159397@qq.com |
求高级教程,3198349661@qq.com ,感谢!! |
求高级教程,859307931@qq.com,感谢! |
同求高级教程,894289636@qq.com。非常感谢 |
请问楼主是怎么把 TiO2纳米管放在盒子里的啊? |
能否求一份教程 |
同求高级教程,17715156409@yeah.net |
可以发我一份吗高级教程吗?谢谢 523704695@qq.com |
用个C6H6试过 可以 其它不好 有空再去改改 |
/*********************************************************************************************************************************************/ /* */ /* This C program is writted by Shaozheng Zhang in Quzhou University, Zhejiang. */ /* */ /*********************************************************************************************************************************************/ #include<stdio.h> #include<stdlib.h> #include<math.h> #define pi 3.1415926 #define maxcell 100 #define debug 1 struct coordinate { char a,b; float x,y,z; }; int main() { //Input the basic parameters of the stripe and generating nanotube. xyz molecular format is accepted. printf("Length and number of a stripe to construct one nanotube:\n"); float l_stripe,r_tube; int n_stripe; scanf("%f%d",&l_stripe,&n_stripe); r_tube=n_stripe*l_stripe/(2.0*pi); #ifdef debug printf("the length of stripe and the number of stripe to construct one nanotube:%f %d\n",l_stripe,n_stripe); printf("The diameter of the nanotube:%f\n",r_tube); #endif //输入纳米带的数据结构,采用.xyz文件的格式。 struct coordinate cell[maxcell]; printf("Input the location of xyz file:\n"); char structure[100]; scanf("%s",structure); FILE *fp; if((fp=fopen(structure,"r"))==NULL) { printf("cannot open file\n"); exit(0); } int n_atom; char description[100]; fscanf(fp,"%d\n",&n_atom); fscanf(fp,"%s\n",description); #ifdef debug printf("the number of atoms in the stripe:%d\n",n_atom); printf("Description of the system:%s\n",description); #endif int cycle; for(cycle=0;cycle<n_atom;cycle++) fscanf(fp,"%c%c%f%f%f\n",&(cell[cycle].a),&(cell[cycle].b),&(cell[cycle].x),&(cell[cycle].y),&(cell[cycle].z)); #ifdef debug for(cycle=0;cycle<n_atom;cycle++) printf("%c%c %f %f %f\n",cell[cycle].a,cell[cycle].b,cell[cycle].x,cell[cycle].y,cell[cycle].z); #endif fclose(fp); //Output the structure of nanotube which rolls from the input stripe. printf("Nanotube coordinate Section:\n"); printf("%d\n",n_atom*n_stripe); printf("%s\n",description); int roll; float reradius,delta,re_x,re_y,re_z; for(roll=0;roll<n_stripe;roll++) for(cycle=0;cycle<n_atom;cycle++) { reradius=r_tube+cell[cycle].z; delta=(cell[cycle].x+l_stripe*roll)/reradius; re_x=reradius*sin(delta); re_y=cell[cycle].y; re_z=reradius*cos(delta); printf("%c%c %f %f %f\n",cell[cycle].a,cell[cycle].b,re_x,re_y,re_z); } } |
参与人数Participants 1 | eV +3 | 收起 理由Reason |
---|---|---|
| + 3 |
zszguangdian 发表于 2015-10-11 22:25 能贴出来看看吗?我尝试用fortran 写一个? |
程序没那么复杂 几十行而已 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2025-8-18 06:59 , Processed in 0.238240 second(s), 32 queries , Gzip On.