计算化学公社

 找回密码 Forget password
 注册 Register
Views: 265|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[算法与编程] 用Fortran 90改写Modern Quantum Chemistry附录B中的HF自洽场源码

[复制链接 Copy URL]

20

帖子

1

威望

712

eV
积分
752

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 zhaixiaoyi001 于 2026-1-30 09:20 编辑

作为练习,用Fortran 90改写了HeH+自洽场代码,主要改动如下:
1、去掉了跳转,改写了do循环和if语句。
2、保留了原代码中的变量和电子积分计算方式。
3、用lapack做对角化,有部分变量是冗余的没有删除。

HeH.f90

11.47 KB, 下载次数 Times of downloads: 16

改写后的源码

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
SeptemberMy + 5
sobereva + 5

查看全部评分 View all ratings

3

帖子

0

威望

1610

eV
积分
1613

Level 5 (御坂)

2#
发表于 Post on 2026-1-29 19:39:15 | 只看该作者 Only view this author
如果你愿意的话可以把这个程序添加到一个Modern Quantum Chemistry汉化的项目中,直接提PR即可,https://github.com/nominhanggai/szaboqc

345

帖子

1

威望

1781

eV
积分
2146

Level 5 (御坂)

3#
发表于 Post on 2026-1-29 23:46:47 | 只看该作者 Only view this author
代码的327行有语法错误,编译后运行会报错,改成

  1. write(*,'(/,4X,A,F10.6,/)') 'DELTA(CONVERGENCE OF DENSITY MATRIX) = ', delta
复制代码

我重写了一个python的版本,逻辑和结构上会清晰很多。

HeH .py (6.41 KB, 下载次数 Times of downloads: 7)

20

帖子

1

威望

712

eV
积分
752

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 2026-1-30 08:46:00 | 只看该作者 Only view this author
slxc920113 发表于 2026-1-29 23:46
代码的327行有语法错误,编译后运行会报错,改成

应该是那个39H字符串报错了,这块的Fortran 77语法我没修改,有的编译器识别不了,之前用ifx和gfortran编译倒是没报错。我再修改一下

20

帖子

1

威望

712

eV
积分
752

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2026-1-30 10:06:38 | 只看该作者 Only view this author
SeptemberMy 发表于 2026-1-29 19:39
如果你愿意的话可以把这个程序添加到一个Modern Quantum Chemistry汉化的项目中,直接提PR即可,https://gi ...

又修改了一下代码,已提PR。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-16 16:58 , Processed in 0.179970 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list