计算化学公社

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

[辅助/分析程序] 分享我写的mwfn文件读写库:libmwfn

[复制链接 Copy URL]

345

帖子

7

威望

3171

eV
积分
3656

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Freeman 于 2025-6-12 15:26 编辑

mwfn是社长提出的存储波函数文件的格式。我写的两个程序都需要读写mwfn文件,但两个程序分别是用C++和Python写的,我必须分别写mwfn读写功能,很繁琐。后来我发现pybind11这个库很棒。我只需要写C++的程序,再多加几行提示,包含pybind11的头文件,编译完就能得到可以被Python调用的动态库,十分方便。我用这种方式编写了mwfn文件读写库——libmwfn,同时提供C++和Python接口,这里分享给大家。将来大家有读写mwfn文件的需求,链接/调用libmwfn即可,不必自己写了。

安装:
1. C++
1.1 依赖:
线性代数库Eigen3。Eigen3是header-only的,下载即用。
支持C++20的编译器。
GNU make。
1.2 下载
  1. git clone https://github.com/FreemanTheMaverick/libmwfn.git
复制代码
1.3 改写makefile的前两行,指定C++编译器和Eigen3的位置。
1.4 安装
  1. make -j
复制代码

2. Python
2.1 依赖:
Python>=3.7,setuptools,pip
2.2 安装
  1. pip install libmwfn
复制代码


功能:
获取/修改mwfn保存的电荷,电子数(两种自旋),原子数,基函数个数,轨道个数,(每个原子的)壳层数,轨道系数矩阵,轨道能量,轨道占据数,密度矩阵,Fock矩阵,原子-壳层-基函数对应关系列表
Gram-Schmidt或Lowdin正交化轨道。
详细信息请看主页和头文件里的注释。

注意事项:
1、暂时不支持RO波函数;
2、mwfn的笛卡尔基函数的存储顺序是[d0, d+1, d-1, d+2, d-2],但libmwfn内部存储顺序是[d-2, d-1, d0, d+1, d+2]。读写mwfn时,libmwfn会自动改变顺序,以保证mwfn和内部的顺序均无误。

评分 Rate

参与人数
Participants 5
威望 +1 eV +20 收起 理由
Reason
greatzdk + 5 GJ!
zjm123456 + 5
sobereva + 1
Uus/pMeC6H4-/キ + 5 不明觉厉
wal + 5 GJ!

查看全部评分 View all ratings

345

帖子

7

威望

3171

eV
积分
3656

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2025-6-12 23:14:11 | 只看该作者 Only view this author
bluewhale 发表于 2025-6-12 21:44
在 macOS (Apple M1)下makefile中的 -march=native 要换成 -mcpu=apple-m1,否则报类似如下的错误提示:
c ...

谢谢提醒。我确实没有在macOS上测试过。以后我会测试-march=native的必要性,如果发现没必要,就直接删掉好了。

174

帖子

0

威望

5199

eV
积分
5373

Level 6 (一方通行)

2#
发表于 Post on 2025-6-12 21:44:20 | 只看该作者 Only view this author
在 macOS (Apple M1)下makefile中的 -march=native 要换成 -mcpu=apple-m1,否则报类似如下的错误提示:
cc1plus: error: unknown value 'apple-m1' for '-march'
cc1plus: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8.7-a armv8.8-a armv8-r armv9-a native

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

GMT+8, 2025-8-14 21:49 , Processed in 0.179777 second(s), 23 queries , Gzip On.

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