Author Topic: Convergence Problem  (Read 19083 times)

0 Members and 1 Guest are viewing this topic.

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Convergence Problem
« on: April 17, 2012, 17:26 »
Dear Quantum Staff:

Recently I've tested some silicene FET structures. The first structure was hard to converge but I managed to make it. However, when I come to the second one (attached, very similar to the first one), it doesn't converge at the equivalent bulk calculation. The dH is 1E+9! I've no idea about the reason. Could you please test my script? Any advise will be appreciated.

By the way, is it necessary to set the kpoint number in the z direction of central region? In this case (2D silicene FET in yz plain), may I use (1,50,1) instead of (1,50,50) as the central region kpoints? Thank you for your answer!


Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #1 on: April 17, 2012, 20:17 »
The primary advise is not to use SingleZeta, but a larger basis set like SingleZetaPolarized.

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #2 on: April 18, 2012, 04:32 »
Thank you, I tried DZP last night and it seems to work now. However, SZ converges well when there is only one BN layer, which is my first structure. Actually, I have studied the effect of basis set choice on pure silicene system (biased and gated). There is some numerical difference between SZ and DZP but both of them give a similar transmission spectrum in shape. I'm confused about the reason why, in this case, similar structures have so different convergence behavior...

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #3 on: April 18, 2012, 08:25 »
If SingleZeta works it's more by luck than anything else. So, never use it for production runs, at best it can provide some insight regarding the number of k-points needed, but it's just not accurate enough.

We will however introduce a whole new set of basis sets in ATK 12.2, coming out any day now. And there, even the smallest basis sets should be good enough to get convergence - and in fact some accurate results. Of course the accuracy will still be better with a larger basis set, but the point is that we have optimized the new basis sets, one by one (with increasing number of orbitals) and it looks like sometimes even the minimal new basis set gives as good results as DZP :)


Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #4 on: April 18, 2012, 16:46 »
The new basis sounds great! What about the time and memory cost? Are old bases like DZP still provided in 12.2? I have some concern about the consistency if I have to change the basis sets...

Still I have the question about the kpoints of central region. Should the number of kpoints in the z direction be 1? Since there is no periodicity in z direction of central region. Thank you for your answer!

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #5 on: April 18, 2012, 16:57 »
You are exactly right, the increased accuracy comes at the expense of somewhat longer range. However, the lower tiers should not be more expensive than before, it's more a matter that if you want, you can now push on to even better basis sets, which wasn't possible before. Yes, the old sets will still be available (and still default) in 12.2.

Under normal conditions you don't have to worry about the k-points for the central region. If you look in the Python script, the k-points are actually set for the electrodes, and then kA and kB are inherited by the device calculation. For the equivalent bulk, the number of kC points is hardcoded to 1, and for the device calculation (open boundary conditions) no kC points are used at all.



Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #6 on: April 22, 2012, 07:57 »
Sorry to bother you again, changing basis sets seems useless...The dH in equivalent bulk calculation is still 1E9. Do you have any other idea which may leads to such result?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #7 on: April 22, 2012, 23:12 »
If you can post the log file it might contain some hints which elude me... I can't see anything wrong with the setup, which never means convergence is guaranteed, but there is at least no crucial mistake.

Or, well... You should always start at zero bias, no go directly for finite bias. So set the electrode voltages to zero, then for finite bias use the zero-bias converged (fingers crossed!) result as a starting guess.

And remove the radial_step_size argument, the value is default but having it in the script means you risk changing it, and you really should not. Also, the mixing parameter can hopefully be set higher, for zero bias, and still converge.

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #8 on: April 23, 2012, 14:23 »
If you can post the log file it might contain some hints which elude me... I can't see anything wrong with the setup, which never means convergence is guaranteed, but there is at least no crucial mistake. Or, well... You should always start at zero bias, no go directly for finite bias. So set the electrode voltages to zero, then for finite bias use the zero-bias converged (fingers crossed!) result as a starting guess. And remove the radial_step_size argument, the value is default but having it in the script means you risk changing it, and you really should not. Also, the mixing parameter can hopefully be set higher, for zero bias, and still converge.
I did the things above without any improvement in convergence... Here is the output. The last line is owed to killing the process. I don't understand the meaning of such warning:
Code
################################################################################
# WARNING                                                                      #
#                                                                              #
# The computed multigrid residual is greater than the required accuracy.       #
#                                                                              #
# Computed residual :   1.12754e+02                                            #
# Required accuracy :   1.00000e-12                                            #
#                                                                              #
################################################################################

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #9 on: April 24, 2012, 15:10 »
There is one thing about the parameters I noticed now. You do not specify the boundary conditions for the Poisson equation, meaning they will be periodic in X and Y. This is not suitable, you should have Neumann condition in X.

I would also move the gate to the edge of the cell, since that's where the boundary condition is applied. Might make things more stable.
« Last Edit: April 24, 2012, 15:13 by Anders Blom »

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: Convergence Problem
« Reply #10 on: April 24, 2012, 23:49 »
The warning means that the multigrid solver did not converge, i.e. you will not have a correct electrostatic potential.
Changing the boundary conditions as suggest by Anders Blom should help.

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #11 on: April 26, 2012, 04:30 »
There is one thing about the parameters I noticed now. You do not specify the boundary conditions for the Poisson equation, meaning they will be periodic in X and Y. This is not suitable, you should have Neumann condition in X.

I would also move the gate to the edge of the cell, since that's where the boundary condition is applied. Might make things more stable.


Changing the boundary condition does have effect in eliminating the residual warning, but almost has no contribution to convergence.

However, I tested a similar but more complicated structure (with one more BN layer than the above structure) with my original calculation settings yesterday and it converged well. So I think the convergence problem might have nothing to do with the calculation settings...

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #12 on: April 26, 2012, 04:36 »
PS, the new structure still has the warning of residual but the computed one is about 1E-10, much less than the old (unconverged) one (1E+2), while the required accuracy is 1E-12. I'm going to recalculate it with Neumann boundary condition to see whether this matters.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5423
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Convergence Problem
« Reply #13 on: April 26, 2012, 23:35 »
Yes, do that. Sorry about the initial typo; it should be Neumann.

Offline BlackBarrel

  • Heavy QuantumATK user
  • ***
  • Posts: 28
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Convergence Problem
« Reply #14 on: April 27, 2012, 03:16 »
Yes, do that. Sorry about the initial typo; it should be Neumann.

Strangely, changing the boundary condition to Neumann leads to larger residual error of 1E-6 and larger dH of 1E+3 in first 10 steps. It seems unable to converge with Neumann condition...

I'm curious about the role played by Iteration parameters in SCF. I think they must have influence on convergence but have no idea how to modify them. Manual is consulted but I'm still not sure about whether to set them larger or smaller. Can you give me some advice? Thank you!