版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(3706)
>
虫友互识
(558)
>
文献求助
(368)
>
导师招生
(320)
>
休闲灌水
(271)
>
考博
(176)
>
博后之家
(138)
>
招聘信息布告栏
(128)
>
论文道贺祈福
(126)
>
考研
(96)
>
基金申请
(94)
>
硕博家园
(89)
>
论文投稿
(69)
>
教师之家
(68)
>
绿色求助(高悬赏)
(59)
>
找工作
(54)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
如何从高斯输出文件快速提出 pai 轨道信息。
1
1/1
返回列表
查看: 1518 | 回复: 7
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
【答案】应助回帖
★ ★
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人)
回复此楼
2楼
2011-06-18 16:41:08
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
智能机器人
Robot
(super robot)
我们都爱小木虫
找到一些相关的精华帖子,希望有用哦~
用高斯计算瞬态吸收时分子轨道后出现A,B是什么意思
已经有3人回复
请教,关于用gaussview看分子轨道
已经有8人回复
【求助】用gaussview 读取windows版g03计算出来的chk文件时能打开却不能看MO 轨道
已经有4人回复
【求助】如何在以下高斯03输出文件中得到二阶超极化率
已经有15人回复
【求助】高斯中怎么计算轨道磁矩
已经有6人回复
点击这里搜索更多相关资源
科研从小木虫开始,人人为我,我为人人
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
kathy2008
的主题更新
1
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定