Re: Error in MLWF calculated :rejected ( No.1 ) |
- Date: 2022/10/21 10:30
- Name: T. Ozaki
- Hi,
The issue arises from the shape of unit cell, i.e., a slimline rhombohedron shape. In this case, the matrix A in finding the weights of shells tends to be in ill-conditioning, (See Eqs. (24)-(27) in https://doi.org/10.1016/j.cpc.2007.11.016 ) and the condition of Eq. (24) may have an numerical error. To handle the issue, you can change a threshold value, used for checking the satisfaction of Eq. (24), by
#define smallvalue 1.0e-6 /*smallvalue close to zero*/
in the line 35 of Generate_Wannier.c.
The default is 1.0e-6, but I noticed that the value should be changed to
#define smallvalue 1.0e-5 /*smallvalue close to zero*/
Then, the weights can be properly calculated for the case.
Also, I noticed that your parameter settings may not be proper. The step lengths used for the minimization of spread function should be changed as
Wannier.Minimizing.StepLength 0.2 Wannier.Minimizing.Secant.StepLength 0.2
With the modification of Generate_Wannier.c and the the parameter settings above, I could reach the convergence as shown below:
----------------------------------
CG 3227 ------------------------------------------------------------------------> CENT Center of Wannier Function (Angs) | Spread (Angs^2) WF 1 (12.47895272, 1.10121944, 2.45821422) | 5.64627866 --->CENT WF 2 (11.82619848, 4.13247445, 2.45831263) | 5.64644702 --->CENT WF 3 (12.49057912, 2.68949963,-0.20040956) | 5.63197430 --->CENT WF 4 (15.28578264, 4.87413119, 1.09911472) | 5.63057389 --->CENT WF 5 (15.93706367, 1.84906062, 1.09928644) | 5.63027751 --->CENT WF 6 (15.29727048, 3.29404611, 3.76410250) | 5.64631611 --->CENT WF 7 (-0.00005814,-0.00141760, 0.00180785) | 5.53531126 --->CENT WF 8 ( 0.00053391,-0.00208469, 0.00125966) | 5.53721075 --->CENT WF 9 (-0.00049192, 0.00115465, 0.00192839) | 5.53646934 --->CENT WF 10 ( 0.00031113, 0.00207483,-0.00143526) | 5.53560819 --->CENT WF 11 ( 0.00099969,-0.00163965,-0.00155695) | 5.53620410 --->CENT WF 12 (-0.00039373, 0.00210632,-0.00150215) | 5.53677559 --->CENT WF 13 ( 6.32906355, 0.82963211, 1.10189498) | 5.64560314 --->CENT WF 14 ( 6.10969223, 1.84893712, 1.10171983) | 5.64579204 --->CENT WF 15 ( 6.31721996, 1.36025546, 0.20041496) | 5.63033657 --->CENT WF 16 (21.67876956, 4.13224553, 2.46083429) | 5.63167452 --->CENT WF 17 (21.45818547, 5.15653468, 2.46093643) | 5.63174319 --->CENT WF 18 (21.44639477, 4.61823453, 3.35561511) | 5.64720249 --->CENT Total Center (166.65607356,35.88646473,21.36053809) sum_spread 100.88179866 --->CENT The component of spread function is: Omega_I=94.732333932460 Omega_D= 0.136343307919 Omega_OD= 6.012314500888 Total_Omega=100.880991741267237671 | CG 3227 | 3.61297208E-08 | -2.73289195E-09| ---> CONV | CG 3227 | 94.73233393 | 0.13634331 | 6.01231450 | 100.88099174 | ---> SPRD beta= 0.81209 for constructing next searching direction. ************************************************************* ---> CONV CONVERGENCE ACHIEVED ! ---> CONV ************************************************************* ---> CONV ************************************************************* ---> SPRD CONVERGENCE ACHIEVED ! ---> SPRD ************************************************************* ---> SPRD Wannier Interpolation ... ... Real-space Hamiltonian Data file .//Bi2Se3-WF.HWR Band data file .//Bi2Se3-WF.Wannier_Band
outputting data on grids to files...
Save the scfout file (.//Bi2Se3-WF.scfout) ----------------------------------
Also, if you change the line of 79
Ascend_Ordering(distance, ordering, tot_kpt);
in Generate_Wannier.c as follows:
qsort_double_int(tot_kpt, distance, ordering);
you may be able to shorten the computational time.
Regards,
TO
|
Re: Error in MLWF calculated :rejected ( No.2 ) |
- Date: 2022/10/21 13:54
- Name: Adantion
- Thank you very much for the kind and fast reply.
I appreciate a lot.
Best, Adantion
|
|