QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: alan on May 1, 2010, 14:31

Title: Problem with equivalent atoms
Post by: alan on May 1, 2010, 14:31
Hi,
i have a script 8.py for the two probe configuration.
when i drop the script to the Result Browser, two configuration 8.png looks well. when you drag the script into Atomic Manipulator first and then drag into either Result Browser or Nanolanguage Scripter,yuo will see thetwo configuration is wrong 81.png. i find the issue is on the equivalent_atoms.
the script is correct or not?
moreover, i have the same problem when i run the script 8cbn.py:
# TwoProbe Calculation
# ----------------------------------------------------------------
# sc  0 : q =  172.73989 e
Traceback (most recent call last):
  File "<string>", line 299, in ?
ATKError: inverse(DZMatrix const &) : Could not LU factorize!\
what can i do?
Title: Re: Problem with equivalent atoms
Post by: zh on May 2, 2010, 12:52
The configurations for two-probe system in your script files are not reasonable. For the left(or right) surface layer, it should include at least one repetition of the left (or right) electrode.
Title: Re: Problem with equivalent atoms
Post by: Anders Blom on May 2, 2010, 22:38
The original script is correct, except that the electrodes are way too short; you should at least make them 3 periods, probably 4. And it wouldn't hurt to make the central region longer too, to include more perfect ribbon close to the electrodes, before the "impurity region".

The Atomic Manipulator somehow gets confused about the equivalent atoms; another good reason why this concept has been removed altogether in the new ATK/VNL (2010.xx). To check if the script is correct, visualize it in the Nanoscope instead; if you drag your initial script there, you will see that indeed it renders correctly (just too small, as noted above and also by zh).
Title: Re: Problem with equivalent atoms
Post by: alan on May 3, 2010, 03:44
thanks for your replies.
i have increase one repetition to the left (or right) electrode surface layer.
but I still get the error:
# ----------------------------------------------------------------
# TwoProbe Calculation
# ----------------------------------------------------------------
# sc  0 : q =  207.88044 e
# sc  1 : q =  221.07823 e  dRho =  3.5942E+01
Traceback (most recent call last):
  File "88cbn.py", line 312, in ?
    runtime_parameters = runtime_parameters
ATKError: inverse(DZMatrix const &) : Could not LU factorize!
I also attempt to use the   " initial_density_type = InitialDensityType.NeutralAtom"and LDA,the problem can't be solved.
everytime,to do the "TwoProbe Calculation",the error comes out.
what can i do ?
Title: Re: Problem with equivalent atoms
Post by: Anders Blom on May 3, 2010, 07:31
Not sure if it immediately solves the LU error, but: the electrodes are still too short. Make 3-4 repetitions of the electrodes too in the Z direction. Otherwise your results will be wrong anyway.

Also, perhaps it's a good idea to converge the non-spinpolarized system first, just to make the sure the geometry itself is ok.
Title: Re: Problem with equivalent atoms
Post by: zh on May 3, 2010, 14:27
Since the geometry optimization was done for the equivalent bulk system of your two-probe system, this may lead to a trouble that the atoms in the surface layers will not be the repetition parts of electrodes. To avoid this problem, the atoms in surface layers and electrodes needs to be fixed.

I updated your script file for increasing the surface layers, and did a non-spin-polarized self-consistent calculation without geometry optimization. The SCF calculation was converged normally.
Title: Re: Problem with equivalent atoms
Post by: alan on May 3, 2010, 15:13
Dear zh and Anders Blom,

i have made 2 repetitions of the electrodes and   increased the surface layers.
the script works well in spin-polarized calucation now.

Thank you very much.