| 查看: 458 | 回复: 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 |
» 猜你喜欢
博士延得我,科研能力直往上蹿
已经有7人回复
退学或坚持读
已经有27人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
有70后还继续奋斗在职场上的吗?
已经有5人回复
遇见不省心的家人很难过
已经有22人回复
多组分精馏求助
已经有6人回复














回复此楼