版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(1048)
>
虫友互识
(90)
>
导师招生
(49)
>
硕博家园
(35)
>
考博
(30)
>
找工作
(18)
>
论文道贺祈福
(14)
>
文献求助
(13)
>
考研
(6)
>
论文投稿
(6)
>
功能材料
(5)
>
招聘信息布告栏
(4)
>
绿色求助(高悬赏)
(4)
>
教师之家
(4)
>
休闲灌水
(4)
>
海外博后
(2)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
Fortran
»
如何从高斯输出文件快速提出 pai 轨道信息。
6
1/1
返回列表
查看: 1491 | 回复: 7
查看全部回帖
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
kathy2008
木虫
(正式写手)
应助: 0
(幼儿园)
金币: 2161.5
红花: 2
帖子: 328
在线: 213.2小时
虫号: 558502
注册: 2008-05-15
性别: GG
专业: 材料物理化学
[
求助
]
如何从高斯输出文件快速提出 pai 轨道信息。
如题。从高斯输出文件提出了eigenvector那一部分出来,即附件1。现在需要得到 pai 轨道信息。即附件2。 附件2 对应于附件1的32号,35号,38号,39号,40号,41号轨道(占据轨道),42号一直到47号(非占据轨道)的2Px值。求一小程序。请指点。谢谢。
回复此楼
» 猜你喜欢
博士读完未来一定会好吗
已经有21人回复
导师想让我从独立一作变成了共一第一
已经有5人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有11人回复
读博
已经有4人回复
JMPT 期刊投稿流程
已经有4人回复
心脉受损
已经有5人回复
Springer期刊投稿求助
已经有4人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
申请2026年博士
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
用高斯计算瞬态吸收时分子轨道后出现A,B是什么意思
已经有3人回复
请教,关于用gaussview看分子轨道
已经有8人回复
【求助】用gaussview 读取windows版g03计算出来的chk文件时能打开却不能看MO 轨道
已经有4人回复
【求助】如何在以下高斯03输出文件中得到二阶超极化率
已经有15人回复
【求助】高斯中怎么计算轨道磁矩
已经有6人回复
1楼
2011-06-17 19:54:10
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
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的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★
dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:36:26
你的 .out 文件是咋生成的,这次的这个文件比上次的文件每一行前面多了一个空格……
所以,你把程序中:
CODE:
line = line(21:)
改成
CODE:
line = line(22:)
就可以了……
赞
一下
(1人)
回复此楼
4楼
2011-07-03 22:28:17
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★
dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:36:35
这样可能更好一些:
CODE:
program ei
implicit none
real, dimension(:,:), allocatable :: px,ppx
character(len=256) :: line
character(len=40) :: fm
integer :: nrow, ncol, i, j, k, ios, n, m
open(unit=12, file='nc3h7-r2-sto-eiv.out', status='old')
open(unit=13, file='nc3h7-r2-sto-pai.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, '2PZ') /= 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, '2PZ') /= 0) then
line = line(21:)
! write(*,*) trim(line)
i=i+1
n = len_trim(line)/10
m = mod(len_trim(line),10)
! write (*,*) m, n
if (m /= 0) then
write(fm,'(a,i0,a,i0,a)') '(tr',m,',',n,'f10.5)'
else
write(fm,'(a,i0,a)') '(',n,'f10.5)'
end if
! write (*,*) fm
! write(*,*) j
read(line,fm) ppx(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
赞
一下
(1人)
回复此楼
5楼
2011-07-03 22:59:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★
jjdg(金币+1): 感谢参与 2011-07-04 12:46:36
我才注意到,你把我在二楼给出的程序中的
CODE:
read(line,fm) px(i,(j+1):(j+n))
改成了
CODE:
read(line,fm) ppx(i,(j+1):(j+n))
害得我弄了半天才知道为啥出来的结果总是不对。
赞
一下
(1人)
回复此楼
7楼
2011-07-04 09:48:55
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
snoopyzhao
至尊木虫
(职业作家)
程序强帖: 16
应助: 157
(高中生)
贵宾: 0.02
金币: 18844.7
红花: 29
帖子: 3803
在线: 1422.4小时
虫号: 183750
注册: 2006-02-13
专业: 污染生态化学
★ ★
jjdg(金币+2): 辛苦了 2011-07-04 12:46:22
另外,原程序中
CODE:
write(*,*) 'please input a number between 1 and ', nrow, 'end the program by 0.'
应该改为
CODE:
write(*,*) 'please input a number between 1 and ', ncol, 'end the program by 0.'
赞
一下
(1人)
回复此楼
8楼
2011-07-04 09:50:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
kathy2008
的主题更新
6
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定