| 查看: 782 | 回复: 21 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】新手请教一段程序的疑问....【已完结】
|
|||
|
我的疑问是,在do i=1,natom, read (1,*) molname,atomname,index,x(i),y(i),z(i),这里do 做 一个循环,我后面的输出要求是输出,x(i-1),y(i-1),z(i-1), x(i),y(i),z(i),x(i+1),y(i+1),z(i+1)这3个坐标,这样输出可以吗?? open(1,file='benz-22.gro',status='unknown') !打开benz-co2.gro文件,并读取 do istep=1, nstep read(1,*) sysname read(1,*) natom do i=1, natom read(1,*) molname,atomname,index,x(i),y(i),z(i) if (atomname .eq.'Cb') then r2=(x(i)-2.623)**2+(y(i)-2.554)**2 if (r2 .LT. 0.01932) then h2=(z(i)-2.608)**2 if (h2 .LT. 0.5776 .AND. z(i) .NE. 2.608) then open(20,file='aromaticco2.txt') write(20,*)'Oa',x(i-1),y(i-1),z(i-1) !输出这个Cb原子的坐标和Cb编号的前面和后面的一个原子的坐标。 write(20,*)'Cb',x(i),y(i),z(i) write(20,*)'Oc',x(i+1),y(i+1),z(i+1) [ Last edited by 波不动 on 2009-11-25 at 23:52 ] |
» 猜你喜欢
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有7人回复
申请2026年博士
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有6人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复

你好,谢谢你的帮忙,可是我又出问题了.
|
谢谢你帮忙,根据你的提示,我把我的程序给改了一下,compile没有错误,但是execute program时,就不能运行,望帮我看看哪里有问题 program getdistance implicit none integer istep,nstep !构象的个数 integer natom !每个构象中原子的总数 character*80 sysname,molname,atomname !体系的名字,分子的名字,原子的名字 integer i,p,q,r,atomindex(500) !定义了一个存编号的数组 integer index !原子序号 real x(4514),y(4514),z(4514) !原子坐标 real xbox,ybox,zbox !盒子的大小 real j,k,m,n,sum nstep=2500 !共有2500个构象 open(20,file='co2ben.txt',status='unknown') !打开一个输出文件 open(1,file='benz-7.gro',status='unknown') !打开co2.gro文件,并读取 do istep=1, nstep p=0 read(1,*) sysname read(1,*) natom do i=1,natom read(1,*) molname,atomname,index,x(i),y(i),z(i) if (atomname .eq.'Cb') then !原子的名字atomname 为Cb的原子的坐标满足与空间中一点(2.615,2.572,2.601)的距离小于4 j=abs(x(i)-3.019)**2 k=abs(y(i)-3.426)**2 m=abs(z(i)-3.129)**2 n=j+k+m sum=sqrt(n) if (sum < 0.56) then p=p+1 atomindex(p)=i end if end if enddo do q=1,p r=atomindex(p) write(20,*)'Oa',x(r-1),y(r-1),z(r-1) !输出这个Cb原子的坐标和Cb编号的前面的一个原子的坐标。 write(20,*)'Cb',x(r),y(r),z(r) write(20,*)'Oc',x(r+1),y(r+1),z(r+1) read(1,*) xbox,ybox,zbox !读入盒子的大小 enddo enddo close(1) end |

9楼2009-11-25 11:08:08
jjdg
版主 (知名作家)
- 程序强帖: 9
- 应助: 223 (大学生)
- 贵宾: 3.926
- 金币: 51002.6
- 红花: 238
- 帖子: 7227
- 在线: 474.2小时
- 虫号: 27000
- 注册: 2003-10-21
- 专业: 药物代谢与药物动力学
- 管辖: 程序语言
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流

2楼2009-11-24 12:43:59
maomao1210
金虫 (正式写手)
- 程序强帖: 5
- 应助: 2 (幼儿园)
- 金币: 1431.3
- 散金: 242
- 红花: 16
- 沙发: 1
- 帖子: 991
- 在线: 441.5小时
- 虫号: 253215
- 注册: 2006-05-20
- 性别: MM
- 专业: 考古理论
3楼2009-11-24 16:49:36
maomao1210
金虫 (正式写手)
- 程序强帖: 5
- 应助: 2 (幼儿园)
- 金币: 1431.3
- 散金: 242
- 红花: 16
- 沙发: 1
- 帖子: 991
- 在线: 441.5小时
- 虫号: 253215
- 注册: 2006-05-20
- 性别: MM
- 专业: 考古理论
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
open(1,file='benz-22.gro',status='unknown') !打开benz-co2.gro文件,并读取 do istep=1, nstep read(1,*) sysname read(1,*) natom I_emuch=1 do i=1, natom read(1,*) molname,atomname,index,x(i),y(i),z(i) if (atomname .eq.'Cb') then r2=(x(i)-2.623)**2+(y(i)-2.554)**2 if (r2 .LT. 0.01932) then h2=(z(i)-2.608)**2 if (h2 .LT. 0.5776 .AND. z(i) .NE. 2.608) then Index_emuch(I_emuch)=i endif endif endif I_emuch=I_emuch+1 Enddo Do J_emuch=1,I_emuch open(20,file='aromaticco2.txt') if(ii.gt.1)write(20,*)'Oa',x(ii-1),y(ii-1),z(ii-1) !输出这个Cb原子的坐标和Cb编号的前面和后面的一个原子的坐标。 write(20,*)'Cb',x(ii),y(ii),z(ii) write(20,*)'Oc',x(ii+1),y(ii+1),z(ii+1) Enddo Enddo |
4楼2009-11-24 17:04:49













回复此楼