Author Topic: Why the number of electrons is so large  (Read 5278 times)

0 Members and 1 Guest are viewing this topic.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Why the number of electrons is so large
« on: October 11, 2011, 12:18 »
This is the self-consistent output file.

# ----------------------------------------------------------------
# TwoProbe Calculation
# ----------------------------------------------------------------
# sc  0 : q =  512.00000 e
# sc  1 : q = 3131.32021 e  Ebs =        nan Ry  dRho =  5.3144E+02
# sc  2 : q = 3013.32101 e  Ebs =        nan Ry  dRho =  1.4456E+02
The total number of electrons of the two-probe system is 512. But why it changes to 3131.32021, when it runs the second self-consistent loops.
How to solve this problem?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5429
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Why the number of electrons is so large
« Reply #1 on: October 11, 2011, 12:55 »
Impossible to say without more details.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Re: Why the number of electrons is so large
« Reply #2 on: October 11, 2011, 12:58 »
central_edp=electronDensityParameters(mesh_cutoff        = 200*Rydberg,
                                      initial_scaled_spin= [0.0]*10+[1.0]+[0.0]*10+[1.0]+[0.0]*10+[1.0]+[0.0]*10+[1.0]+[0.0]*60+[1.0]+[0.0]*10+[1.0]+[0.0]*10+[1.0]+[0.0]*10+[1.0]+[0.0]*10+[1.0])
central_tcip=twoCenterIntegralParameters(cutoff= 2500.0*Rydberg,
                                         points= 1024)
central_imp=iterationMixingParameters(algorithm                = IterationMixing.Pulay,
                                      diagonal_mixing_parameter= 0.001,
                                      quantity                 = IterationMixing.Hamiltonian,
                                      history_steps            = 12)
#Tolerance for convergence
central_icp=iterationControlParameters(tolerance= 1.0e-4,
                                       criterion= IterationControl.DensityMatrix,
                                       max_steps= 500)
central_ecip=energyContourIntegralParameters(circle_points          = 100,
                                             integral_lower_bound   = 15*Rydberg,
                                             fermi_line_points      = 10,
                                             fermi_function_poles   = 10,
                                             real_axis_infinitesimal= 0.01*eV,
                                             real_axis_point_density= 0.02*eV)
# Define methods for constrained algorithm
central_ap=twoProbeAlgorithmParameters(electrode_constraint = ElectrodeConstraints.Off,
                                       initial_density_type = InitialDensityType.NeutralAtom)
#Collect parameters into a two-probe calculation method
constrained_method=TwoProbeMethod((lelectrode_parameters,relectrode_parameters),
                                   basis_set_parameters              = [bsp_c,bsp_h,bsp_fe],
                                   exchange_correlation_type         = LDA.PZ,
                                   electron_density_parameters       = central_edp,
                                   two_center_integral_parameters    = central_tcip,
                                   iteration_mixing_parameters       = central_imp,
                                   iteration_control_parameters      = central_icp,
                                   energy_contour_integral_parameters= central_ecip,
                                   electrode_voltages                = (0.0,0.0)*Volt,
                                   algorithm_parameters              = central_ap)

All the basis sets are DZP.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5429
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Why the number of electrons is so large
« Reply #3 on: October 11, 2011, 13:06 »
In general, troubleshooting convergence problems in ATK 2008.10 and earlier is difficult, and no longer supported, you should upgrade to 11.x. My best guess is that you have a too short electrode, or for some other reason the Fermi level of the electrode and the central region are mismatched, but I can't without the geometry.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Re: Why the number of electrons is so large
« Reply #4 on: October 11, 2011, 13:18 »
We use the ATK 2008.10. How to decide the length of the electrode?  And in the code, how to match the Fermi level of the scattering region?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5429
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Why the number of electrons is so large
« Reply #5 on: October 11, 2011, 13:20 »
The length of the electrode is an input parameter, it's the size of the electrode cell. You don't match the Fermi level yourself, I just meant it's probably the cause of the problem, deepest down, but it's controlled indirectly by having a proper input geometry (and parameters). As mentioned, without seeing that actual input file in full, there is no way to advice. And, moreover, in general 2008.10 is not a supported version any more.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Re: Why the number of electrons is so large
« Reply #6 on: October 11, 2011, 13:58 »
I have read a lot of notices in the forum, there are many questions about the missing electrodes. But this is the first time the electrons are increased. Is this relative to the self-consistent process? The basis sets we used are DZP, and I find that for Carbon elements, the 3d orbitals are also occupied. I send the structure file to you by email. Thanks for your suggestions.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Re: Why the number of electrons is so large
« Reply #7 on: October 13, 2011, 02:11 »
We test the initial_density_type paremeter and find that the EquivalentBulk and the NeutralAtom give nearly the same results. They all don't convergen. In principle, the more regular the system is, the faster the convergence runs. However, nowdays, more and more studies began to care about the complex system. Do you have some techniques which make the self-consistent convergence easier?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5429
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Why the number of electrons is so large
« Reply #8 on: October 13, 2011, 08:18 »
Well, yes - ATK 11.x provides these new methods, and convergence there is in general really, really good.

Offline wring

  • Regular QuantumATK user
  • **
  • Posts: 24
  • Reputation: 0
    • View Profile
Re: Why the number of electrons is so large
« Reply #9 on: October 19, 2011, 13:50 »
But, why can the ATK 11.x convergence well? I want to know, for two very different leads, how the code deals with. For my systems, the left/right leads can not coincide with the simple translation. So it does not convergence.  What do you think?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5429
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Why the number of electrons is so large
« Reply #10 on: October 25, 2011, 22:30 »
I have now completed the test run of the system (it didn't take so long, just had lots of other things to run as well), and it converges with essentially default parameters with ATK 11.2.3 (parallel electrode spins). I set the initial spin of the iron atoms to 0.5, but 1.0 would probably have worked just as well. I used EquivalentBulk but I'm sure it would converge with NeutralAtoms too, perhaps it would use a bit more iterations in two-probe, but it would scale better in parallel.

I can't answer in any simple way why ATK 11.x is better - it just is. Primarily, we improved the algorithm, taking into account spill-in components of the electron density at the edges of the central region, which gives a more accurate alignment of the Fermi level in the bulk-like electrodes and the open boundary condition system (no other codes does this as accurately as ATK 11.x and hence, I believe, it converges so nicely).

Another nice thing with ATK 11.x is that for the anti-parallel electrode spins, you can initialize the calculation from the converged results of the parallel spin calculation; the code will internally flip up spins to down and vice versa, automatically.