This thread is locked.Only browsing is available.
Top Page > Browsing
Error in MLWF calculated :rejected
Date: 2022/09/28 19:53
Name: Adantion   <1221024622@njupt.edu.cn>

Dear sir:
I am now using Wannier function to calculate Bi2Se3 Bands.Next is Input file:
-----------------------------------------------------------------------------------------
#
# File Name
#

System.CurrrentDirectory ./ # default=./
System.Name Bi2Se3
level.of.stdout 1 # default=1 (1-3)
level.of.fileout 1 # default=1 (0-2)

#
#
# Definition of Atomic Species
#

Species.Number 4
<Definition.of.Atomic.Species
Bi Bi8.0-s3p3d2 Bi_PBE19
Se Se8.0-s3p3d2 Se_PBE19
projBi Bi8.0-s1p1d1 Bi_PBE19
projSe Se8.0-s1p1d1 Se_PBE19
Definition.of.Atomic.Species>

#
# Atoms
#

Atoms.Number 5
Atoms.SpeciesAndCoordinates.Unit FRAC # Ang|AU
<Atoms.SpeciesAndCoordinates
1 Bi 0.40000 0.40000 0.40000 7.5 7.5
2 Se 0.20800 0.20800 0.20800 3.0 3.0
3 Se 0.00000 0.00000 0.00000 3.0 3.0
4 Bi -0.40000 -0.40000 -0.40008 7.5 7.5
5 Se -0.20800 -0.20800 -0.20800 3.0 3.0
Atoms.SpeciesAndCoordinates>
Atoms.UnitVectors.Unit Ang # Ang|AU
<Atoms.UnitVectors
9.84000 0.00000 0.00000
8.96791 4.04997 0.00000
8.96791 1.93109 3.55994
Atoms.UnitVectors>

#
# SCF or Electronic System
#

scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE
scf.SpinPolarization NC # On|Off|NC
scf.SpinOrbit.Coupling on # On|Off, default=off
scf.ElectronicTemperature 300.0 # default=300 (K)
scf.energycutoff 200.0 # default=150 (Ry)
scf.maxIter 1000 # default=40
scf.EigenvalueSolver band # DC|GDC|Cluster|Band
scf.Kgrid 8 8 8 # means n1 x n2 x n3
scf.Generation.Kpoint regular # regular|MP
scf.Mixing.Type rmm-diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
scf.Init.Mixing.Weight 0.30 # default=0.30
scf.Min.Mixing.Weight 0.001 # default=0.001
scf.Max.Mixing.Weight 0.400 # default=0.40
scf.Mixing.History 5 # default=5
scf.Mixing.StartPulay 6 # default=6
scf.Mixing.EveryPulay 6 # default=6
scf.criterion 1.0e-8 # default=1.0e-6 (Hartree)
scf.lapack.dste dstevx # dstevx|dstedc|dstegr,default=dstevx

HS.fileout on
#
# 1D FFT
#

1DFFT.NumGridK 900 # default=900
1DFFT.NumGridR 900 # default=900
1DFFT.EnergyCutoff 3600.0 # default=3600 (Ry)

#
# Orbital Optimization
#

orbitalOpt.Method Off # Off|Unrestricted|Restricted|species
orbitalOpt.InitCoes Symmetrical # Symmetrical|Free
orbitalOpt.initPrefactor 0.1 # default=0.1
orbitalOpt.scf.maxIter 12 # default=12
orbitalOpt.MD.maxIter 2 # default=5
orbitalOpt.per.MDIter 2 # default=1000000
orbitalOpt.criterion 1.0e-4 # default=1.0e-4 (Hartree/borh)



#
# SCF Order-N
#

orderN.HoppingRanges 5.0 # default=5.0 (Ang)
orderN.NumHoppings 2 # default=2

#
# MD or Geometry Optimization
#

MD.Type opt # Nomd|Constant_Energy_MD|Opt
MD.maxIter 1 # default=1
MD.TimeStep 0.5 # default=0.5 (fs)
MD.Opt.criterion 1.0e-4 # default=1.0e-4 (Hartree/bohr)

#
# Band dispersion
#

Band.dispersion on # on|off, default=off

# if <Band.KPath.UnitCell does not exist,
# the reciprical lattice vector is employed.
Band.Nkpath 4

<Band.kpath
50 0.0 0.0 0.0 0.5 0.5 0.5 G Z
50 0.5 0.5 0.5 0.0 0.5 0.5 Z F
50 0.0 0.5 0.5 0.0 0.0 0.0 F G
50 0.0 0.0 0.0 0.0 0.5 0.0 G L
Band.kpath>

#
# MO output
#

MO.fileout off # on|off
num.HOMOs 2 # default=2
num.LUMOs 2 # default=2

MO.Nkpoint 1 # default=1
<MO.kpoint
0.0 0.0 0.0
MO.kpoint>

#
# DOS and PDOS
#

Dos.fileout off # on|off, default=off
Dos.Erange -20.0 20.0 # default = -20 20
Dos.Kgrid 2 2 2 # default = Kgrid1 Kgrid2 Kgrid3

#
# Wannier Function
#
Wannier.Func.Calc on
Wannier.Func.Num 18
Wannier.Outer.Window.Bottom -6.0
Wannier.Outer.Window.Top 0.0
Wannier.Inner.Window.Bottom -6.0
Wannier.Inner.Window.Top 0.0
Wannier.Initial.Guess on
Wannier.Interpolated.Bands on
Wannier.Initial.Projectors.Unit FRAC #AU, ANG or FRAC

<Wannier.Initial.Projectors
projBi-p 0.40008 0.40008 0.40008 0.0 0.0 -1.0 -1.0 0.0 0.0
projBi-p -0.40008 -0.40008 -0.40008 0.0 0.0 1.0 1.0 0.0 0.0
projSe-sp2 0.00000 0.00000 0.00000 0.0 0.0 1.0 1.0 0.0 0.0
projSe-sp2 0.00000 0.00000 0.00000 0.0 0.0 -1.0 -1.0 0.0 0.0
projSe-sp2 0.21170 0.21170 0.21170 0.0 0.0 1.0 1.0 0.0 0.0
projSe-sp2 -0.21170 -0.21170 -0.21170 0.0 0.0 -1.0 -1.0 0.0 0.0
Wannier.Initial.Projectors>

Wannier.Minimizing.Scheme 2
Wannier.Minimizing.StepLength 2.0
Wannier.Minimizing.Secant.Steps 5
Wannier.Minimizing.Secant.StepLength 2.0
Wannier.Minimizing.Conv.Criterion 1e-8 # default 1e-8
Wannier.Minimizing.Max.Steps 10000 # default 200
Wannier.Kgrid 10 10 10
Wannier.Readin.Overlap.Matrix off # on|off, default is on
Wannier.MaxShells 80 #12
-----------------------------------------------------------------------
When I calculated with above input file, the result was reported incorrectly:
"The b vectors is not found. 1 is rejected".
Increasing the number of Wannier.Maxshells did not work.
In the input file, what is the problem?
I hope you can help me solve this problem, I would be very grateful!




メンテ
Page: [1]

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
メンテ

Page: [1]