24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2797  |  回复: 34
本帖产生 1 个 程序强帖 ,点击这里进行查看

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-02-26 10:13:17:
根据上面的意思,重新整理了一下:

[code]
program ex

implicit none
character(len = 128) :: line, fm
integer :: ios, len_line, i, j, ion_num, ion_tmp
real, dimension(5000) :: table
inte ...

您好,分成两组的怎么写?比如1-10一组,11-38一组。三个原子体系的不常见,不过也有用,我保存下来了。
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
31楼2011-02-26 10:27:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by 阿黛拉 at 2011-02-26 10:27:25:
您好,分成两组的怎么写?比如1-10一组,11-38一组。三个原子体系的不常见,不过也有用,我保存下来了。

改以下四行中数值:
CODE:
integer, parameter :: ion_pos_1 = 1
integer, parameter :: ion_pos_2 = 10
integer, parameter :: ion_pos_3 = 28
integer, parameter :: ion_pos_4 = 38

按顺序分别改成 1、10、11、38。如果只是两原子体系的话,其实不用这么麻烦,把我前面给的那个程序稍改一下就可以了……,但这种情况可能更加通用一些,呵呵……
32楼2011-02-26 10:30:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-02-26 10:30:51:
改以下四行中数值:
CODE:
integer, parameter :: ion_pos_1 = 1
integer, parameter :: ion_pos_2 = 10
integer, parameter :: ion_pos_3 = 28
integer, parameter :: ion_pos_4 = 38

按顺 ...

你好,两种程序我都试了一下,出来的都有点问题。 请看附件。比如1  4 之间间距不对,第一组中1 4间距接着应该输出1  3间距,不知道什么原因?
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
33楼2011-02-26 12:56:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by 阿黛拉 at 2011-02-26 12:56:09:
你好,两种程序我都试了一下,出来的都有点问题。 请看附件。比如1  4 之间间距不对,第一组中1 4间距接着应该输出1  3间距,不知道什么原因?

你咋改的程序?我这里很正常啊……
CODE:
integer, parameter :: ion_pos_1 = 1
integer, parameter :: ion_pos_2 = 4
integer, parameter :: ion_pos_3 = 5
integer, parameter :: ion_pos_4 = 6

输入的数据文件
CODE:
ion  position               nearest neighbor table
   1  0.388  0.481  0.529-   6 2.91   5 2.94   4 2.92   3 2.94
   2  0.596  0.481  0.529-   6 2.94   5 2.92   3 2.94   4 2.90
   3  0.492  0.377  0.529-   5 2.90   6 2.91   1 2.94   2 2.94
   4  0.492  0.585  0.529-   1 2.94   2 2.90   5 2.93   6 2.93
   5  0.492  0.481  0.425-   2 2.90   1 2.94   3 2.94   6 2.94
   6  0.492  0.481  0.633-   2 2.94   1 2.93   3 2.92   5 2.94

输出的相关文件:

fort.1
CODE:
  1    4  2.92
  1    3  2.94
  2    3  2.94
  2    4  2.90
  3    1  2.94
  3    2  2.94
  4    1  2.94
  4    2  2.90

for.2
CODE:
  5    6  2.94
  6    5  2.94

fort.3
CODE:
  1    6  2.91
  1    5  2.94
  2    6  2.94
  2    5  2.92
  3    5  2.90
  3    6  2.91
  4    5  2.93
  4    6  2.93
  5    2  2.90
  5    1  2.94
  5    3  2.94
  6    2  2.94
  6    1  2.93
  6    3  2.92

终端的输出
CODE:
  1    6  2.91
  1    5  2.94
  1    4  2.92
  1    3  2.94
  2    6  2.94
  2    5  2.92
  2    3  2.94
  2    4  2.90
  3    5  2.90
  3    6  2.91
  3    1  2.94
  3    2  2.94
  4    1  2.94
  4    2  2.90
  4    5  2.93
  4    6  2.93
  5    2  2.90
  5    1  2.94
  5    3  2.94
  5    6  2.94
  6    2  2.94
  6    1  2.93
  6    3  2.92
  6    5  2.94
   2.9270835   
   23.420002               8   5.8800001               2   40.949997              14
   2.9275002       2.9400001       2.9249997   

34楼2011-02-26 13:05:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-02-26 10:30:51:
改以下四行中数值:
CODE:
integer, parameter :: ion_pos_1 = 1
integer, parameter :: ion_pos_2 = 10
integer, parameter :: ion_pos_3 = 28
integer, parameter :: ion_pos_4 = 38

按顺 ...

integer, parameter :: ion_pos_1 = 1
integer, parameter :: ion_pos_2 = 4
integer, parameter :: ion_pos_3 = 5
integer, parameter :: ion_pos_4 = 6
我是按这样改的,我又运行了一下,没有问题了。呵呵 谢谢你了。刚才用你上一个程序运行时出的错,可能是源文件的问题,我又换了一下OUTCAR没有出现间距错误,只是输出不是我想要的。 哈哈 我先用你最后编的吧 。谢谢你不厌其烦的讲解和帮忙。
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
35楼2011-02-26 13:37:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 阿黛拉 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见