| 查看: 486 | 回复: 0 | |||
| 当前主题已经存档。 | |||
xirainbow木虫 (正式写手)
|
[交流]
【分享】How to get G-vectors and eigenvectors
|
||
|
原帖网址:http://blog.sina.com.cn/s/blog_5f15ead20100gfrd.html I am very interested in get the detailed information of basic vectors and their coefficients (that is wavefunction). The reason is very simple: basic vector and their coefficients are directly related with KS equation. Unfortunately, these dates are all stored in binary files. Although I can plot electronic density in Xcrysden, I can not get the wavefunction. Today, I notice a discussion in PWscf Forum, which is concerned with how to convert binary date to readable format. Although I still do not know the transformation detail,I know I can do it ![]() The following is quoted from PWscf Forum. in general you can convert all the .dat files from the $prefix.save directory (or subdirectories) into xml using the iotk conversion tool (which is linked in ~espresso/bin ) 1: ~espresso/bin/iotk convert file.dat file.xml I think this utility is particularly useful to understand which and how are the data stored in the QE save directory. Then, you can parse the xml file if you like. My personal suggestion would be to do that only if you need this piece of information for a very simple postprocessing code, because parsing xml from fortran, even if not impossible, is not simple... Instead, I think the easiest way to go is to use the qexml library (distributed with QE in ~espresso/PP/qexml.f90) which is exactly meant to provide tools to read (and in principles also write) QE datafiles... The library must be initialized specifying the output directory, prefix, and few other informations, and then it directly provides routines to read all the piece of data you need. Some examples about how to use it are given in the WanT code(www.wannier-transport.org); just grep qexml_ in the sources. 2:In terms of the usage of the library, you can have a look at a simple example at http://web.mit.edu/~ferretti/www/Test_QEXML.tgz instructions to compile, run and check the test are given inside the tarball. There is a proble in the Makefile, change the lines $(espresso_home)/PP/qexml.o: cd $(espresso_home)/PP make qexml.o into $(espresso_home)/PP/qexml.o: cd $(espresso_home)/PP; make qexml.o Then the code of Test_QEXML work well. But it only give a brief information about G-vector and eigenvector. Therefore, the full information can only be obtained by espresso/bin/iotk convert file.dat file.xml |
» 猜你喜欢
航天502所 高瑛珂博士 婚内征婚 欺骗女性开房
已经有25人回复
26/27申博
已经有4人回复
地球科学部D01口青年基金,最低几A几B几C才能有几率中呀。
已经有4人回复
宿州学院学报
已经有6人回复
投稿文章被秒拒了
已经有5人回复
招收2026级博士生
已经有6人回复
博士申请
已经有5人回复












回复此楼