Re: One more NEGF issue ( No.1 ) |
- Date: 2014/07/16 09:07
- Name: Chen
- Hi,
I can not give clear explanation for your questions but I guess there are several possibilities.
1) I think the highest possibilities is arisen from the initial charge density in SCF.In NEGF calculation, the wrong charge density distribution is usually obtained since we are dealing a fixed boundary condition problem. To solve your problem, it's better to do BAND calculations first before NEGF calculation in order to obtain a good initial charge density for NEGF calculations.
2) Perhaps the length of buffer layer is another reason.
Just for your reference.
Best, Chen
|
Re: One more NEGF issue ( No.2 ) |
- Date: 2014/07/16 18:16
- Name: Artem <artem.pulkin@epfl.ch>
- Hi Chen,
Thank you for your comments.
I do converge "band" scf part before starting negf calculations. However sometimes I have left and right leads different so the "band" part of scf introduces another feature when connecting right and left leads. Therefore I would not say that the "band" scf can really help with fixing charges on the edges. It just converges charge density to something different in periodic boundary conditions.
As for the second comment, you may have noticed that only edge atoms are affected which are close to the connection of the left lead to the scattering region. If you take only Mo atoms from the second example, their charges are:
13.90 - 13.63 - | - 14.48 - 13.91 - 13.91 - 13.93 - ... - feature
As you can see the Mo atoms 4,5,6 have their populations close to perfect one 13.9. I would expect that the deviation of the charge density decreases when it goes further away from the feature I am studying. But it does not. It always has this strange bump at the same place.
Moreover, in the first NEGF example provided in openmx you do not even care about the size of the scattering region: the system is a perfect ballistic conductor. But the charge deviates by small amount.
Update: _____________
When I take the unit cell of the leads doubled in my MoS2 example the charge bump stays at the same place, i.e.:
13.91 - 13.96 - 13.79 - 13.90 - | - 13.90 - 13.90 - 13.89 - ... - feature
So this problem may probably be not related to connections of the left lead to the scattering region.
Artem Pulkin
|
Re: One more NEGF issue ( No.3 ) |
- Date: 2014/07/23 00:21
- Name: Artem <artem.pulkin@epfl.ch>
- Update:
The Mulliken populations of a NEGF carbon chain example seem to be improved by
NEGF.Poisson.Solver FFT
While here
http://www.openmx-square.org/openmx_man3.7/node101.html
it is written that FD produces better potential on the boundaries. I agree with this statement but by fact FFT performs better than FD.
|
Re: One more NEGF issue ( No.4 ) |
- Date: 2014/07/29 21:27
- Name: Artem <artem.pulkin@epfl.ch>
- Update:
This issue was actually reported already for an older version of OpenMX:
http://www.openmx-square.org/forum/patio.cgi?mode=view&no=1338
The solution described there is essentially to use a large enough NEGF.SCF.Iter.Band. I would like to point out that this does not fix systems with different leads where the edges of scattering region is also a defect in periodic boundary conditions (PBC). Both after the BAND self-consistent part and after NEGF one the charge density on the edges of scattering region is different from converged charge distribution in the leads.
I googled the author of the previous topic and it seems like Sarah also studied systems with different leads (Al - C nanotube junctions):
http://cora.ucc.ie/bitstream/handle/10468/1286/Thesis.pdf?sequence=2
A possible fix here would be usage of converged density matrices of the leads for composing initial density matrix of the scattering region.
As for the carbon chain, small deviations of Mulliken populations are due to the approximation of finite difference method and larger cutoff should fix the problem.
|
Re: One more NEGF issue ( No.5 ) |
- Date: 2014/08/11 16:47
- Name: T. Ozaki
- Hi,
Sorry for my late response. The problem comes from the regular mesh that OpenMX uses. When the cutoff energy is changed by "scf.energycutoff" in the example with Lead-Chain.dat and NEGF-Chain.dat, one can get the following Mulliken population for the atom 3:
Cutoff(Ryd) Mulliken population of atom 3 100 4.01094 180 4.00603 500 4.00207 1000 4.00108 2000 4.00055
The convergence is actually slow. Can you see how your case depends on the cutoff energy, and whether the modest value of cutoff energy can reach your requirement or not.
Regards,
TO
|
Re: One more NEGF issue ( No.6 ) |
- Date: 2014/08/11 18:58
- Name: Artem <artem.pulkin@epfl.ch>
- Dear Taisuke,
I am currently investigating this issue and after some time I will report your results with some input and output files. Currently I think there is no problem with OpenMX and the edge charges can be for several reasons:
1) As you noticed right, one of the reasons is a real space grid: the more points you put the closer finite difference solution is to the FFT solution (in the ideal case).
2) As it was reported here
http://www.openmx-square.org/forum/patio.cgi?mode=view&no=1338
The system may indeed converge to wrong density. I have a carbon chain with a defect input file that may converge to either of two charge distributions, depending on NEGF.Band. From my point of view, the problem here is in formalism: the Hamiltonian matrix elements for PAOs which overlap outside the scattering region are set to values taken from leads at each iteration. This actually violates self-consistency.
3) In my actual case with MoS2 I have a problem with polar material. The electric field from a charged scattering region converges really slowly with the size of the scattering region and causes charged boundaries which is of course unphysical.
|
Re: One more NEGF issue ( No.7 ) |
- Date: 2014/08/12 21:50
- Name: Artem <artem.pulkin@epfl.ch>
- As I announced, here is the file with Carbon chain defect. With this set of parameters it produces a meaningful Hartree potential (and Mulliken occupations). But if you set NEGF.SCF.Iter.Band to 10 the converged charge density is very different on the edges. The scattering region becomes charged +5.5 and the Hartree potential looks very strange.
System.CurrrentDirectory ./ # default=./ System.Name negf-chain level.of.stdout 1 # default=1 (1-3) level.of.fileout 1 # default=1 (0-2) NEGF.filename.hks.l lead-chain.hks NEGF.filename.hks.r lead-chain.hks NEGF.Num.Poles 100 # default=150 NEGF.scf.Kgrid 1 1 # default=1 1 NEGF.SCF.Iter.Band 15 NEGF.bias.voltage 0.0 # default=0.0 (eV) NEGF.bias.neq.im.energy 0.01 # default=0.01 (eV) NEGF.bias.neq.energy.step 0.02 # default=0.02 (eV) Species.Number 1 <Definition.of.Atomic.Species C C5.0-s2p2d1 C_CA13 Definition.of.Atomic.Species> Atoms.SpeciesAndCoordinates.Unit Ang Atoms.Number 18 <Atoms.SpeciesAndCoordinates 1 C 3.000 0.000 0.000 2.0 2.0 2 C 4.500 0.000 0.000 2.0 2.0 3 C 6.000 0.000 0.000 2.0 2.0 4 C 7.500 0.000 0.000 2.0 2.0 5 C 9.000 0.000 0.000 2.0 2.0 6 C 10.500 0.000 0.000 2.0 2.0 7 C 12.000 0.000 0.000 2.0 2.0 8 C 13.500 0.000 0.000 2.0 2.0 9 C 15.000 0.000 0.000 2.0 2.0 10 C 18.000 0.000 0.000 2.0 2.0 11 C 19.500 0.000 0.000 2.0 2.0 12 C 21.000 0.000 0.000 2.0 2.0 13 C 22.500 0.000 0.000 2.0 2.0 14 C 24.000 0.000 0.000 2.0 2.0 15 C 25.500 0.000 0.000 2.0 2.0 16 C 27.000 0.000 0.000 2.0 2.0 17 C 28.500 0.000 0.000 2.0 2.0 18 C 30.000 0.000 0.000 2.0 2.0 Atoms.SpeciesAndCoordinates> LeftLeadAtoms.Number 3 <LeftLeadAtoms.SpeciesAndCoordinates 1 C -1.500 0.000 0.000 2.0 2.0 2 C 0.000 0.000 0.000 2.0 2.0 3 C 1.500 0.000 0.000 2.0 2.0 LeftLeadAtoms.SpeciesAndCoordinates> RightLeadAtoms.Number 3 <RightLeadAtoms.SpeciesAndCoordinates 1 C 31.500 0.000 0.000 2.0 2.0 2 C 33.000 0.000 0.000 2.0 2.0 3 C 34.500 0.000 0.000 2.0 2.0 RightLeadAtoms.SpeciesAndCoordinates> scf.XcType LDA # LDA|LSDA-CA|LSDA-PW|GGA-PBE scf.SpinPolarization off # On|Off|NC scf.ElectronicTemperature 600.0 # default=300 (K) scf.energycutoff 180.0 # default=150 (Ry) scf.maxIter 1000 # default=40 scf.EigenvalueSolver NEGF # DC|GDC|Cluster|Band scf.lapack.dste dstevx # dstegr|dstedc|dstevx, default=dstegr scf.Kgrid 1 1 1 # means n1 x n2 x n3 scf.Mixing.Type rmm-diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk scf.Init.Mixing.Weight 0.020 # default=0.30 scf.Min.Mixing.Weight 0.020 # default=0.001 scf.Max.Mixing.Weight 0.100 # default=0.40 scf.Mixing.History 20 # default=5 scf.Mixing.StartPulay 10 # default=6 scf.Kerker.factor 1.0 # default=1.0 scf.criterion 1.0e-7 # default=1.0e-6 (Hartree)
|
Re: One more NEGF issue ( No.8 ) |
- Date: 2014/08/16 00:27
- Name: Artem <artem.pulkin@epfl.ch>
- I would be grateful if someone explains me following thing.
In my input file I have
NEGF.SCF.Iter.Band 40
I trace the Mulliken populations. Here they are:
******************* MD= 1 SCF=40 ******************* 1 s MulP 2.97 2.97 sum 5.93 diff 0.00 ( 89.69 0.03) Ml 0.00 ( 93.81 0.03) Ml+s 0.00 ( 89.72 0.03) 2 s MulP 2.97 2.97 sum 5.93 diff 0.00 ( 89.69 180.03) Ml 0.00 ( 93.81 180.03) Ml+s 0.00 ( 89.72 180.03) 3 mo MulP 6.99 6.99 sum 13.99 diff 0.00 ( 0.89 179.94) Ml 0.00 ( 0.00 210.50) Ml+s 0.00 ( 0.61 180.00) 4 s MulP 3.04 3.04 sum 6.07 diff 0.00 ( 90.29 -0.20) Ml 0.00 ( 27.51 -0.29) Ml+s 0.00 ( 89.72 -0.20) 5 s MulP 3.04 3.04 sum 6.07 diff 0.00 ( 90.29 179.80) Ml 0.00 ( 27.50 179.71) Ml+s 0.00 ( 89.72 179.80) 6 mo MulP 6.95 6.95 sum 13.91 diff 0.00 ( 0.12 180.31) Ml 0.00 ( 0.00 -23.14) Ml+s 0.00 ( 0.06 180.42) 7 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 88.35 179.20) Ml 0.00 ( 80.32 180.17) Ml+s 0.00 ( 88.32 179.21) 8 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 88.35 -0.80) Ml 0.00 ( 80.30 0.19) Ml+s 0.00 ( 88.32 -0.80) 9 mo MulP 6.95 6.95 sum 13.90 diff 0.00 (179.91 -2.93) Ml 0.00 ( 0.30 163.36) Ml+s 0.00 (179.94 5.72) 10 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 90.11 -0.96) Ml 0.00 (179.00 171.58) Ml+s 0.00 ( 90.18 -0.96) ... 34 s MulP 3.02 3.02 sum 6.04 diff 0.00 ( 89.98 265.03) Ml 0.00 ( 90.01 180.00) Ml+s 0.00 ( 90.00 201.65) 35 s MulP 3.02 3.02 sum 6.04 diff 0.00 ( 89.94 85.37) Ml 0.00 ( 90.02 0.00) Ml+s 0.00 ( 89.99 21.62) ... 59 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 90.10 0.87) Ml 0.00 (179.51 178.66) Ml+s 0.00 ( 90.16 0.87) 60 mo MulP 6.95 6.95 sum 13.90 diff 0.00 (179.86 -2.20) Ml 0.00 ( 1.29 160.55) Ml+s 0.00 (179.89 2.33) 61 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 88.26 0.81) Ml 0.00 ( 34.31 -0.30) Ml+s 0.00 ( 88.08 0.81) 62 s MulP 3.03 3.03 sum 6.05 diff 0.00 ( 88.26 180.81) Ml 0.00 ( 34.30 179.71) Ml+s 0.00 ( 88.08 180.81) 63 mo MulP 6.95 6.95 sum 13.91 diff 0.00 ( 0.09 178.60) Ml 0.00 (179.97 22.70) Ml+s 0.00 ( 0.10 177.60) 64 s MulP 3.04 3.04 sum 6.07 diff 0.00 ( 90.31 180.18) Ml 0.00 ( 8.61 181.07) Ml+s 0.00 ( 89.82 180.18) 65 s MulP 3.04 3.04 sum 6.07 diff 0.00 ( 90.31 0.18) Ml 0.00 ( 8.62 1.01) Ml+s 0.00 ( 89.82 0.18) 66 mo MulP 7.00 7.00 sum 13.99 diff 0.00 ( 1.07 180.46) Ml 0.00 ( 0.01 3.35) Ml+s 0.00 ( 0.83 180.45) 67 s MulP 2.97 2.97 sum 5.93 diff 0.00 ( 89.69 179.97) Ml 0.00 ( 82.21 179.97) Ml+s 0.00 ( 89.63 179.97) 68 s MulP 2.97 2.97 sum 5.93 diff 0.00 ( 89.69 -0.03) Ml 0.00 ( 82.22 -0.03) Ml+s 0.00 ( 89.63 -0.03)
Sum of MulP: up = 292.00206 down = 291.99794 total= 584.00000 ideal(neutral)= 584.00000 <DFT> Mixing_weight= 0.010000000000
******************* MD= 1 SCF=41 ******************* 1 s MulP 3.18 3.17 sum 6.35 diff 0.00 ( 84.91 180.00) Ml 0.00 (162.72 180.01) Ml+s 0.00 ( 86.74 180.00) 2 s MulP 3.18 3.17 sum 6.35 diff 0.00 ( 84.91 -0.00) Ml 0.00 (162.72 0.01) Ml+s 0.00 ( 86.74 -0.00) 3 mo MulP 6.94 6.94 sum 13.88 diff 0.00 (180.00 0.87) Ml 0.00 (180.00 181.42) Ml+s 0.00 (180.00 0.87) 4 s MulP 3.51 3.51 sum 7.02 diff 0.00 ( 88.72 180.00) Ml 0.00 (163.56 179.99) Ml+s 0.00 ( 89.66 180.00) 5 s MulP 3.51 3.51 sum 7.02 diff 0.00 ( 88.72 -0.00) Ml 0.00 (163.56 -0.01) Ml+s 0.00 ( 89.66 -0.00) 6 mo MulP 8.25 8.25 sum 16.51 diff 0.00 (180.00 180.12) Ml 0.00 (180.00 -6.05) Ml+s 0.00 (180.00 180.19) 7 s MulP 2.51 2.51 sum 5.02 diff 0.00 ( 82.60 179.83) Ml 0.00 (143.47 180.01) Ml+s 0.00 ( 83.67 179.84) 8 s MulP 2.51 2.51 sum 5.02 diff 0.00 ( 82.60 -0.17) Ml 0.00 (143.47 0.01) Ml+s 0.00 ( 83.67 -0.16) 9 mo MulP 6.63 6.63 sum 13.26 diff 0.00 ( 0.00 -12.42) Ml 0.00 (180.00 179.08) Ml+s 0.00 ( 0.00 -12.63) 10 s MulP 2.96 2.96 sum 5.92 diff 0.00 ( 89.82 180.03) Ml 0.00 ( 39.55 -0.04) Ml+s 0.00 ( 89.80 180.03) ... 34 s MulP 2.57 2.57 sum 5.14 diff 0.00 ( 82.94 198.67) Ml 0.00 ( 90.00 0.00) Ml+s 0.00 ( 83.93 -15.93) 35 s MulP 2.57 2.57 sum 5.14 diff 0.00 ( 82.95 18.34) Ml 0.00 ( 90.00 180.00) Ml+s 0.00 ( 83.88 164.19) ... 59 s MulP 2.96 2.96 sum 5.92 diff 0.00 ( 89.82 179.98) Ml 0.00 ( 37.29 0.04) Ml+s 0.00 ( 89.79 179.98) 60 mo MulP 6.63 6.63 sum 13.26 diff 0.00 ( 0.00 1.34) Ml 0.00 ( 0.00 4.71) Ml+s 0.00 ( 0.00 1.35) 61 s MulP 2.51 2.51 sum 5.02 diff 0.00 ( 82.51 0.16) Ml 0.00 (145.30 -0.01) Ml+s 0.00 ( 83.79 0.16) 62 s MulP 2.51 2.51 sum 5.02 diff 0.00 ( 82.51 180.16) Ml 0.00 (145.30 179.99) Ml+s 0.00 ( 83.79 180.16) 63 mo MulP 8.25 8.25 sum 16.50 diff 0.00 (180.00 0.58) Ml 0.00 (180.00 7.38) Ml+s 0.00 (180.00 0.61) 64 s MulP 3.51 3.51 sum 7.02 diff 0.00 ( 88.72 0.00) Ml 0.00 (164.05 0.01) Ml+s 0.00 ( 89.67 0.00) 65 s MulP 3.51 3.51 sum 7.02 diff 0.00 ( 88.72 180.00) Ml 0.00 (164.05 180.01) Ml+s 0.00 ( 89.67 180.00) 66 mo MulP 6.94 6.94 sum 13.88 diff 0.00 (180.00 178.61) Ml 0.00 (180.00 -0.68) Ml+s 0.00 (180.00 178.61) 67 s MulP 3.18 3.17 sum 6.35 diff 0.00 ( 84.91 0.00) Ml 0.00 (162.76 -0.01) Ml+s 0.00 ( 86.74 0.00) 68 s MulP 3.18 3.17 sum 6.35 diff 0.00 ( 84.91 180.00) Ml 0.00 (162.76 179.99) Ml+s 0.00 ( 86.74 180.00) Sum of MulP: up = 286.68739 down = 286.66349 total= 573.35088 ideal(neutral)= 584.00000
<DFT> Mixing_weight= 0.010000000000
Again, atoms 1 and 68 are the edges of scattering region. I do not understand why immediately after switching to NEGF 11 electrons disappeared. Well, I may understand overlap from the leads, etc., but why do I miss almost 2 electrons in the middle? The density matrix with this small mixing should not have changed much. And, returning to the initial problem, why do I have these edge deviations?
Regards,
Artem
|
Re: One more NEGF issue ( No.9 ) |
- Date: 2014/08/19 21:28
- Name: T. Ozaki
- Hi,
The treatment specified by the keyword "NEGF.SCF.Iter.Band" is just a way to estimate an initial guess of charge density distribution of the central part, where it is assumed that the central part periodically arranged along a-axis. Thus, switching the "BAND" to "NEGF" can be a drastic change to the calculation of charge density distribution. If a system is not polar and the leads look similar to the central part in terms of structure and composition, one may find a rather smooth transition in the SCF iteration when switching the "BAND" to "NEGF". Otherwise, one may find a sudden change of charge density distribution when switching the "BAND" to "NEGF". I guess that the what you observed is the latter case.
We have also noticed that it is much more difficult to get the SCF convergence in the NEGF calculation than in conventional calculation, and been handling the difficulty by restarting the SCF iteration, controlling scf.Mixing.EveryPulay, and doing on-the-fly control of SCF mixing parameters, depending on systems.
Regards,
TO
|
Re: One more NEGF issue ( No.10 ) |
- Date: 2014/08/19 22:00
- Name: Artem <artem.pulkin@epfl.ch>
- Dear Taisuke,
As far as I understood, NEGF method provides a density matrix from the Hamiltonian via a well-known integration. This is, of course, different from the conventional BAND scheme. I agree with your statement:
"Thus, switching the "BAND" to "NEGF" can be a drastic change to the calculation of charge density distribution."
So, from my perspective here is what happens:
1. 40th (BAND) iteration gives me (quite) converged charge density 2. The same charge density is used for 41st (NEGF) iteration 3. Mixing is very small so 41st density matrix is almost the same as 40th 4. The Mulliken charges are calculated
I do not understand at which point here I miss 10 electrons far away from leads. This was my question.
Regards,
Artem
|
Re: One more NEGF issue ( No.11 ) |
- Date: 2014/08/20 12:59
- Name: T. Ozaki
- Hi,
You summarized the computational flow as follows:
1. 40th (BAND) iteration gives me (quite) converged charge density 2. The same charge density is used for 41st (NEGF) iteration 3. Mixing is very small so 41st density matrix is almost the same as 40th 4. The Mulliken charges are calculated
However, the actual computational flow is
1. 40th (BAND) iteration gives me (quite) converged charge density 2. The same charge density is used for 41st (NEGF) iteration 3. The Mulliken charges are calculated using the OUTPUT density matrix at 41st iteration, and shown on your display. 4. Mixing is performed based on either density matrix or Fourier transformed charge density, thus the INPUT charge density at 42nd iteration is almost the same as 40th and 41st as long as mixing weight is small
The reason why the Mulliken charges calculated by the OUTPUT density matrix are shown on the display is that the Mulliken charges calculated from the INPUT density matrix are no longer available when the mixing schemes based on the Fourier transformed charge density are employed.
Thus, the fact that you missed 10 electrons is nothing but an indication that the converged charge density calculated by the BAND method is far from that by the NEGF method in your system.
Regards,
TO
|
Re: One more NEGF issue ( No.12 ) |
- Date: 2014/08/21 20:50
- Name: Artem <artem.pulkin@epfl.ch>
- Thank you.
I would like to ask your advice:
Since I am dealing with a polar insulator I am suffering a lot from NEGF method convergence problems. I want to set
NEGF.SCF.Iter.Band 100 SCF.maxiter 100
and to do a transport from this one. My question is: the Hamiltonian matrix elements obtained this way, do they correspond to scattering region in periodic boundary conditions (PBC)? Or they will be calculated using PBC density matrix but using non-periodic boundary conditions?
|
Re: One more NEGF issue ( No.13 ) |
- Date: 2014/08/25 21:03
- Name: Artem <artem.pulkin@epfl.ch>
- Ok, I analysed the code and the answer here is no: even if BAND iterations are employed solely the Hamiltonian being solved does not contain any hopping terms along the transport axis. Would be nice to see this fixed in future releases.
|