24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 953  |  回复: 21
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

tpp001

金虫 (著名写手)

[交流] 【求助】新手请教一段程序的疑问....【已完结】

我的疑问是,在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 ]
回复此楼

» 猜你喜欢

迷茫在知识的海洋里,需要你的指导。thankyou
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tpp001

金虫 (著名写手)

你好,谢谢你的帮忙,可是我又出问题了.

引用回帖:
Originally posted by maomao1210 at 2009-11-25 09:10:

      
       
        Implicit Real*8(A-H,O-Z)
      Character(Len=7) A_emuch
        Character(Len=2) B_emuch
        Dimension Index_emuch(1500),X(1500),
     +Y(1500),Z(1500),Inemuch(800)
        open(1,file='benz-22.g ...

谢谢你帮忙,根据你的提示,我把我的程序给改了一下,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
迷茫在知识的海洋里,需要你的指导。thankyou
9楼2009-11-25 11:08:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

jjdg

版主 (知名作家)

优秀版主


小木虫(金币+0.5):给个红包,谢谢回帖交流
努力学习!以正当途径!获得需要的知识!
2楼2009-11-24 12:43:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by tpp001 at 2009-11-24 09:25:
我的疑问是,在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个坐标,这样输出可以 ...

很显然不行,i=1的时候,你仅仅读入了对应第一个原子的信息,何来i=2?。
3楼2009-11-24 16:49:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

maomao1210

金虫 (正式写手)


小木虫(金币+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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 招收生物学/细胞生物学调剂 +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[考研] 289求调剂 +13 新时代材料 2026-03-27 13/650 2026-03-29 01:16 by 544594351
[考研] 299求调剂 +7 15188958825 2026-03-25 7/350 2026-03-29 01:15 by 544594351
[考研] 085600 材料与化工 329分求调剂 +10 Mr. Z 2026-03-25 10/500 2026-03-29 00:34 by 我是小康
[考研] 2026年华南师范大学欢迎化学,化工,生物,生医工等专业优秀学子加入! +3 llss0711 2026-03-28 5/250 2026-03-29 00:23 by MRMFYTL
[考研] 083000学硕274求调剂 +8 Li李鱼 2026-03-26 8/400 2026-03-28 20:33 by 加油向未来啊
[考研] 275求调剂 +10 Micky11223 2026-03-25 14/700 2026-03-28 15:48 by Micky11223
[考研] 346求调剂 一志愿070303有机化学 +3 萝卜炖青菜 2026-03-28 3/150 2026-03-28 14:11 by 唐沐儿
[考研] 286求调剂 +4 丢掉懒惰 2026-03-27 7/350 2026-03-28 08:07 by baoball
[考研] 085404求调剂,总分309,本科经历较为丰富 +4 来财aa 2026-03-25 4/200 2026-03-28 07:41 by 棒棒球手
[考研] 07化学280分求调剂 +10 722865 2026-03-23 10/500 2026-03-27 15:51 by Plutoqq
[考研] 复试调剂,一志愿南农083200食品科学与工程 +5 XQTJZ 2026-03-26 5/250 2026-03-27 14:49 by 狂炫麦当当
[考研] 化学308分求调剂 +8 你好明天你好 2026-03-23 9/450 2026-03-27 14:01 by 杨光于青云
[考研] 317求调剂 +7 蛋黄咸肉粽 2026-03-26 7/350 2026-03-27 02:29 by fmesaito
[考研] 求调剂 +8 Auroracx 2026-03-22 8/400 2026-03-26 19:55 by 不吃魚的貓
[考研] 07化学303求调剂 +5 睿08 2026-03-25 5/250 2026-03-25 22:46 by 418490947
[考研] 一志愿南航 335分 | 0856材料化工 | GPA 4.07 | 有科研经历 +6 cccchenso 2026-03-23 6/300 2026-03-25 22:25 by 544594351
[考研] 318求调剂 +3 plum李子 2026-03-23 3/150 2026-03-25 09:42 by 雾散后相遇lc
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考研] 335求调剂 +4 yuyu宇 2026-03-23 5/250 2026-03-23 23:49 by Txy@872106
信息提示
请填处理意见