| 查看: 982 | 回复: 3 | ||||
| 【悬赏金币】回答本帖问题,作者@七安将赠送您 10 个金币 | ||||
[求助]
如何提取siesta输出的hamiltonian和overlap
|
||||
|
在输入文件中已设置Save HS True并且计算已输出label.HSX文件,现需要查看其中计算的哈密顿量,如何才能从该文件中提取哈密顿量? 发自小木虫手机客户端 |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有6人回复
存款400万可以在学校里躺平吗
已经有14人回复
Materials Today Chemistry审稿周期
已经有6人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
推荐一本书
已经有13人回复
国自然申请面上模板最新2026版出了吗?
已经有17人回复
纳米粒子粒径的测量
已经有8人回复
疑惑?
已经有5人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
卡开发发
专家顾问 (著名写手)
Ab Initio Amateur
-

专家经验: +224 - 1ST强帖: 2
- 应助: 47 (小学生)
- 金币: 3492.8
- 散金: 14
- 红花: 223
- 帖子: 2477
- 在线: 1253.7小时
- 虫号: 1369423
- 注册: 2011-08-16
- 性别: GG
- 专业: 金属材料的磨损与磨蚀
- 管辖: 第一性原理
|
虽然我没具体研究和折腾过,可行的方式有如下几种: 1、直接读取HSX。但HSX是Fortran写入的二进制文件,可能需要去了解HSX读取或者写入逻辑。例如SIESTA程序提供的Utils当中有hsx2hs.f90,其中有读取HSX文件的逻辑,或者你可以参考DeepH程序,当中preprocess/siesta_get_data.py提供了python语言处理HSX的功能。 2、对SIESTA源码部分进行修改,将HSX的写入格式从unformatted改成formatted后重新编译,这样你能得到一份“人类可读”的HSX,然后写程序读取之,只不过可能其他模块并不兼容。 3、在SIESTA编译时挂上NetCDF4,然后计算时使用Write.DMHS.History.NetCDF,然后HS可以按照NetCDF4进行存储,使用相应语言的NetCDF4的库并写程序读取之。 |

2楼2025-08-04 06:26:17
|
siesta编译已具有netcdf4模块,只是在siesta生成的TSHS或HSX文件中读取哈密顿量时有些困难,即使用Python语言提取的哈密顿量也是错误提取 发自小木虫手机客户端 |
3楼2025-08-18 17:55:52
卡开发发
专家顾问 (著名写手)
Ab Initio Amateur
-

专家经验: +224 - 1ST强帖: 2
- 应助: 47 (小学生)
- 金币: 3492.8
- 散金: 14
- 红花: 223
- 帖子: 2477
- 在线: 1253.7小时
- 虫号: 1369423
- 注册: 2011-08-16
- 性别: GG
- 专业: 金属材料的磨损与磨蚀
- 管辖: 第一性原理

4楼2025-08-20 10:15:33











回复此楼