<div dir="ltr">Hello Professor Arash Mostofi and Hung,<br><br> <br><br>Thanks for replying my question so quickly and thank Hung for providing your code.<br><br>I think that might be some problem with my seedname_u_dis.mat. <br><br>I tried to use Hung’s code to check my seedname_u_dis.mat but the result showed the U^{dis} matrix is still not unitary, so I run the wannier90 again and I found that the segmentation fault (forrtl: severe (174): SIGSEGV, segmentation fault occurred) appeared in my window. The wannier90 still can output the seedname_u.mat and seedname_u_dis.mat, and I have checked the U matrix is unitary but U^{dis} matrix is not.<br><br>Is there any way to fix the segmentation fault error?<br><br> <br><br>The link (<a href="https://drive.google.com/drive/folders/1-FptFSxeMugjKk27V9OKiYKQdSbyPQkP?usp=sharing">https://drive.google.com/drive/folders/1-FptFSxeMugjKk27V9OKiYKQdSbyPQkP?usp=sharing</a>) contains some of my input and output file.<br><br>The following is my input setting (seedname.win) .<br><br>num_wann = 11<br><br>num_bands = 32<br><br> <br><br>!postproc_setup = T<br><br>guiding_centres = T<br><br> <br><br>begin projections<br><br>S:p<br><br>Mo:d<br><br>end projections<br><br> <br><br>!bands_plot = T<br><br>!begin kpoint_path<br><br>!K 0.333 -0.333 0.000 G 0.000 0.000 0.000<br><br>!G 0.000 0.000 0.000 M 0.500 0.000 0.000<br><br>!M 0.500 0.000 0.000 K 0.333 -0.333 0.000<br><br>!end kpoint_path<br><br>!bands_num_points = 79<br><br> <br><br>dis_win_min = -8<br><br>dis_froz_min = -7<br><br>dis_froz_max = 3<br><br> <br><br>!wannier_plot = T<br><br>!wannier_plot_supercell = 5 5 1<br><br> <br><br>!write_xyz = T<br><br>write_u_matrices = T<br><br>write_hr = T<br><br> <br><br>begin unit_cell_cart<br><br>     1.5900000     2.7539610     0.0000000<br><br>    -1.5900000     2.7539610     0.0000000<br><br>     0.0000000     0.0000000    15.0000000<br><br>end unit_cell_cart<br><br> <br><br>begin atoms_cart<br><br>Mo      -0.0000000     3.6719461     7.5000000<br><br>S        0.0000000     1.8359713     9.0639323<br><br>S        0.0000000     1.8359713     5.9360677<br><br>end atoms_cart<br><br> <br><br>mp_grid =    24    24     1<br><br><br>Hung Pham <<a href="mailto:phamx494@umn.edu">phamx494@umn.edu</a>> 於 2020年3月4日 週三 上午9:15寫道:<br>><br>> Hello Che-Hong,<br>><br>> I think it is possible that the U_dis matrix wasn't read and stored properly. U and U_dis matrix must be unitary. <br>> And the orthogonality of U_dis is always checked internally using the internal_check_orthonorm() function in disentangle.F90 as Arash mentioned.<br>> I just included a function to read wannier90 U_matrices (either U_mat or U_mat_opt) in my MCU package. Please see the function here. <br>><br>> The unitary of U or U_dis can be checked by using a simple python script:<br>><br>> import numpy as np<br>> import mcu<br>> kpts, U_kpts = mcu.read_U_matrix("wannier90_u_dis.mat")<br>> nkpts, nband, nwann = U_kpts.shape<br>> for i, kpt in enumerate(kpts):<br>>     is_unitary = np.linalg.norm(U_kpts[i].T.conj() @ U_kpts[i] - np.eye(nwann)) < 1.e-8<br>>     print("kpt = {0:6.3f} {1:6.3f} {2:6.3f} ;Is U_kpt unitary?: {3}".format(kpt[0], kpt[1], kpt[2], is_unitary))<br>><br>> I attached the in/out files from my testing on the MoS2 layer so you can check it out yourself.<br>> Let me know if it solves your problem.<br>><br>> Best,<br>> Hung<br>><br>><br>> On Tue, Mar 3, 2020 at 11:42 AM Mostofi, Arash <<a href="mailto:a.mostofi@imperial.ac.uk">a.mostofi@imperial.ac.uk</a>> wrote:<br>>><br>>> Dear Che-Hong<br>>> I believe the code internally does this check (in subroutine dis_project in src/disentangle.F90) and reports an error if it is not satisfied. Admittedly, I’ve never explicitly checked that u_matrix_opt, as written to the seed name_u_dis.mat file, satisfies it... Note that the order of the matrix multiplication matters: U_{dis}^{\dagger}U_{dis} = 1, but not U_{dis}U_{dis}^{\dagger}, so a little care is needed in the evaluation. Perhaps you could check and, if you are sure it’s a problem, then post your input and output files (and script to read the matrices and evaluate the matrix product) and someone will try to take a look.<br>>> Best wishes,<br>>> Arash<br>>><br>>> — <br>>> Professor Arash Mostofi — <a href="http://www.mostofigroup.org">www.mostofigroup.org</a><br>>> Director, CDT in Theory and Simulation of Materials<br>>> Imperial College London<br>>><br>>><br>>><br>>><br>>> On 1 Mar 2020, at 14:00, 周哲弘 <<a href="mailto:lion08130716@gmail.com">lion08130716@gmail.com</a>> wrote:<br>>><br>>> Dear Wannier developers<br>>><br>>>  <br>>><br>>> I have used a combination of VASP (PAW-GGA package) and Wannier90 to obtain<br>>><br>>> MLWFs in the system of monolayer MoS2.<br>>><br>>>  <br>>><br>>> Recently I am trying to output the U and U^{dis} matrices (seedname_u.mat and seedname_u_dis.mat), and I find that U^{dis} doesn’t follow the rule (U^{dis})dagger* U^{dis}=1 (User Guide v3.0, p.14, footnote 2).<br>>><br>>>  <br>>><br>>> Could anyone help me with this problem?<br>>><br>>>  <br>>><br>>> Che-Hong Chou<br>>><br>>> Graduate Student<br>>><br>>> Department of Electrophysics<br>>><br>>> National Chiao Tung University<br>>><br>>> Taiwan<br>>><br>>>  <br>>><br>>>  <br>>><br>>> _______________________________________________<br>>> Wannier mailing list<br>>> <a href="mailto:Wannier@lists.quantum-espresso.org">Wannier@lists.quantum-espresso.org</a><br>>> <a href="https://lists.quantum-espresso.org/mailman/listinfo/wannier">https://lists.quantum-espresso.org/mailman/listinfo/wannier</a><br>>><br>>><br>>> _______________________________________________<br>>> Wannier mailing list<br>>> <a href="mailto:Wannier@lists.quantum-espresso.org">Wannier@lists.quantum-espresso.org</a><br>>> <a href="https://lists.quantum-espresso.org/mailman/listinfo/wannier">https://lists.quantum-espresso.org/mailman/listinfo/wannier</a><br>><br>><br>><br>> --<br>><br>> Hung Q. Pham<br>> Gagliardi Group<br>> Office: Smith 101<br>> Email: <a href="mailto:phamx494@umn.edu">phamx494@umn.edu</a><br>> Personal page: <a href="http://hungpham2017.github.io">hungpham2017.github.io</a><br>> Department of Chemistry<br>> University of Minnesota - Twin Cities, Minneapolis, MN 55455<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div></div>