Hello Professor Arash Mostofi and Hung,
Thanks for replying my question so quickly and thank Hung for providing your code. I think that might be some problem with my seedname_u_dis.mat. 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. Is there any way to fix the segmentation fault error? The link ( https://drive.google.com/drive/folders/1-FptFSxeMugjKk27V9OKiYKQdSbyPQkP?usp=sharing) contains some of my input and output file. The following is my input setting (seedname.win) . num_wann = 11 num_bands = 32 !postproc_setup = T guiding_centres = T begin projections S:p Mo:d end projections !bands_plot = T !begin kpoint_path !K 0.333 -0.333 0.000 G 0.000 0.000 0.000 !G 0.000 0.000 0.000 M 0.500 0.000 0.000 !M 0.500 0.000 0.000 K 0.333 -0.333 0.000 !end kpoint_path !bands_num_points = 79 dis_win_min = -8 dis_froz_min = -7 dis_froz_max = 3 !wannier_plot = T !wannier_plot_supercell = 5 5 1 !write_xyz = T write_u_matrices = T write_hr = T begin unit_cell_cart 1.5900000 2.7539610 0.0000000 -1.5900000 2.7539610 0.0000000 0.0000000 0.0000000 15.0000000 end unit_cell_cart begin atoms_cart Mo -0.0000000 3.6719461 7.5000000 S 0.0000000 1.8359713 9.0639323 S 0.0000000 1.8359713 5.9360677 end atoms_cart mp_grid = 24 24 1 Hung Pham <phamx...@umn.edu> 於 2020年3月4日 週三 上午9:15寫道: > > Hello Che-Hong, > > I think it is possible that the U_dis matrix wasn't read and stored properly. U and U_dis matrix must be unitary. > And the orthogonality of U_dis is always checked internally using the internal_check_orthonorm() function in disentangle.F90 as Arash mentioned. > 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. > > The unitary of U or U_dis can be checked by using a simple python script: > > import numpy as np > import mcu > kpts, U_kpts = mcu.read_U_matrix("wannier90_u_dis.mat") > nkpts, nband, nwann = U_kpts.shape > for i, kpt in enumerate(kpts): > is_unitary = np.linalg.norm(U_kpts[i].T.conj() @ U_kpts[i] - np.eye(nwann)) < 1.e-8 > 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)) > > I attached the in/out files from my testing on the MoS2 layer so you can check it out yourself. > Let me know if it solves your problem. > > Best, > Hung > > > On Tue, Mar 3, 2020 at 11:42 AM Mostofi, Arash <a.most...@imperial.ac.uk> wrote: >> >> Dear Che-Hong >> 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. >> Best wishes, >> Arash >> >> — >> Professor Arash Mostofi — www.mostofigroup.org >> Director, CDT in Theory and Simulation of Materials >> Imperial College London >> >> >> >> >> On 1 Mar 2020, at 14:00, 周哲弘 <lion08130...@gmail.com> wrote: >> >> Dear Wannier developers >> >> >> >> I have used a combination of VASP (PAW-GGA package) and Wannier90 to obtain >> >> MLWFs in the system of monolayer MoS2. >> >> >> >> 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). >> >> >> >> Could anyone help me with this problem? >> >> >> >> Che-Hong Chou >> >> Graduate Student >> >> Department of Electrophysics >> >> National Chiao Tung University >> >> Taiwan >> >> >> >> >> >> _______________________________________________ >> Wannier mailing list >> Wannier@lists.quantum-espresso.org >> https://lists.quantum-espresso.org/mailman/listinfo/wannier >> >> >> _______________________________________________ >> Wannier mailing list >> Wannier@lists.quantum-espresso.org >> https://lists.quantum-espresso.org/mailman/listinfo/wannier > > > > -- > > Hung Q. Pham > Gagliardi Group > Office: Smith 101 > Email: phamx...@umn.edu > Personal page: hungpham2017.github.io > Department of Chemistry > University of Minnesota - Twin Cities, Minneapolis, MN 55455 >
_______________________________________________ Wannier mailing list Wannier@lists.quantum-espresso.org https://lists.quantum-espresso.org/mailman/listinfo/wannier