24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1647  |  回复: 7
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kathy2008

木虫 (正式写手)

[求助] 如何从高斯输出文件快速提出 pai 轨道信息。

如题。从高斯输出文件提出了eigenvector那一部分出来,即附件1。现在需要得到 pai 轨道信息。即附件2。 附件2 对应于附件1的32号,35号,38号,39号,40号,41号轨道(占据轨道),42号一直到47号(非占据轨道)的2Px值。求一小程序。请指点。谢谢。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:36:56
引用回帖:
Originally posted by snoopyzhao at 2011-07-03 22:28:17:
你的 .out 文件是咋生成的,这次的这个文件比上次的文件每一行前面多了一个空格……

所以,你把程序中:
CODE:
line = line(21:)

改成
CODE:
line = line(22:)

就可以了……

运行后报错信息如下:
*** glibc detected *** ./a.out: double free or corruption (out): 0x00000000079e2980 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3e64871ce2]
/lib64/libc.so.6(cfree+0x8c)[0x3e6487590c]
./a.out[0x4012c5]
./a.out[0x4019de]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x3e6481d974]
./a.out[0x400a99]
6楼2011-07-04 07:23:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
ben_ladeng(金币+2): 很详细,待楼主评定后奖励程序强帖 2011-06-18 17:42:21
kathy2008(金币+10): 2011-06-19 13:00:43
微尘、梦想(程序强帖+1): 2011-06-19 17:04:28
大概这个样子。只是需要手工输入轨道号(这样可能灵活一些),每次输入一个轨道序号,回车,输入 0 则结束整个程序……
CODE:
program ei
real, dimension(:,:), allocatable :: px,ppx
character(len=256) :: line
character(len=40) :: fm
integer :: nrow, ncol, i, j, k, ios

open(unit=12, file='eigenvector.out', status='old')
open(unit=13, file='2px.out', status='new')

do
   read(12,'(a)', iostat=ios) line
   if (ios /= 0) exit
   if (index(line,'EIGENVALUES') /= 0) then
      nrow=0
      ncol=0
      do
         read(12,'(a)', iostat=ios) line
         if (ios /= 0) exit
         if (line(1:4) == '    ') exit
         ncol=ncol+1
         if (index(line, '2PX') /= 0) nrow=nrow+1
      end do
      exit
   end if
end do

!write (*,*) nrow, ncol
rewind (12)

allocate(px(nrow,ncol),ppx(nrow,ncol))

i=0
j=0
do
   read(12,'(a)', iostat=ios) line
   if (ios /= 0) exit
   if (i == nrow) then
       i=0
       j=j+n
   end if
   if (index(line, '2PX') /= 0) then
       line = line(21:)
!      write(*,*) trim(line)
       i=i+1
       n = len_trim(line)/10
       write(fm,'(a,i0,a)') '(', n, 'f10.5)'
!      write(*,*) j
       read(line,fm) px(i,(j+1):(j+n))
   end if
end do

k=0
do
   write(*,*) 'please input a number between 1 and ', nrow, 'end the program by 0.'
   read(*,*) i
   if(i==0) exit
   k=k+1
   ppx(:,k) = px(:,i)
end do

!write(*,*) k/5, mod(k,5)

if (k>=5) then
   do j=1,k/5
      do i=1,nrow
         write(13,'(5f10.5)') ppx(i,(j-1)*5+1:j*5)
      end do
      write(13,*)
   end do
end if
if (mod(k,5) /=0) then
   write(fm,'(a,i0,a)') '(', mod(k,5), 'f10.5)'
   do i=1,nrow
      write(13, fm) ppx(i,(k/5*5+1):k)
   end do
end if

end program ei

2楼2011-06-18 16:41:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:36:05
引用回帖:
Originally posted by snoopyzhao at 2011-06-18 16:41:08:
大概这个样子。只是需要手工输入轨道号(这样可能灵活一些),每次输入一个轨道序号,回车,输入 0 则结束整个程序……

[code]
program ei
real, dimension(:,, allocatable :: px,ppx
character(len=256 ...

利用该程序提取π轨道信息,报错。信息如下
At line 48 of file eigen-pai-nc3h7-r2.f
Fortran runtime error: Bad value during floating point read

google也没有找到应对之策,请高手指点。
3楼2011-07-03 15:06:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:36:26
你的 .out 文件是咋生成的,这次的这个文件比上次的文件每一行前面多了一个空格……

所以,你把程序中:
CODE:
line = line(21:)

改成
CODE:
line = line(22:)

就可以了……
4楼2011-07-03 22:28:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿哈工大 085600 277 12材科基求调剂 5+5 chenny174 2026-04-10 26/1300 2026-04-12 14:42 by seattle40
[考研] 调剂求收留 +26 果然有我 2026-04-10 27/1350 2026-04-12 14:21 by ss613
[考研] 305求调剂 +6 77Qi 2026-04-07 6/300 2026-04-12 02:30 by 秋豆菜芽
[考研] 化工调剂求导师收留!一志愿失利,踏实肯干,有植物提取科研经历 +20 yzyzx 2026-04-09 21/1050 2026-04-12 00:12 by 小小小小啦啦啦
[考研] 271求调剂 +21 2261744733 2026-04-11 21/1050 2026-04-11 20:19 by Angchemist
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 一志愿211生物学280分 求调剂 +7 李rien 2026-04-05 7/350 2026-04-11 11:16 by 逆水乘风
[考研] 300分求调剂 (085501机械专硕,本科扬大) +8 xu@841019 2026-04-11 8/400 2026-04-11 10:46 by qingpingzhu
[考研] 0854调剂 +4 长弓傲 2026-04-09 4/200 2026-04-11 09:18 by 猪会飞
[考研] 材料复试求调剂 +20 xhhdjdjsjks 2026-04-09 20/1000 2026-04-10 10:25 by 孙小小12457
[考研] 材料专硕初试分332一志愿西北工业大学, +12 故人?? 2026-04-09 12/600 2026-04-09 18:34 by Ccclqqq
[考研] 一志愿厦大生物学332求调剂 +10 池池池池池池 2026-04-08 10/500 2026-04-09 17:10 by 独醉梦孤城
[考研] 328求调剂 +17 lftmya 2026-04-07 18/900 2026-04-09 08:05 by 5268321
[考研] 270求调剂 +3 031127 2026-04-06 4/200 2026-04-08 21:00 by 逆水乘风
[考研] 304求调剂 +10 素年祭语 2026-04-06 17/850 2026-04-08 09:05 by 蓝云思雨
[考研] 求调剂 +11 wwwwabcde 2026-04-07 11/550 2026-04-07 23:16 by JourneyLucky
[考研] 材料调剂 +13 汉123456 2026-04-07 14/700 2026-04-07 22:53 by 来看流星雨10
[考研] 生物学363调剂求助 +7 fanzhang6666 2026-04-06 9/450 2026-04-07 17:37 by lijunpoly
[考研] 328求调剂 +4 ghhh88888 2026-04-06 5/250 2026-04-07 14:45 by ghhh88888
[考研] 308求调剂 +3 终不似从前 2026-04-05 3/150 2026-04-05 22:23 by hemengdong
信息提示
请填处理意见