Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ipsecog

Pages: 1 [2] 3
16
Links to Resources and Publications / Resource on spintronics
« on: February 6, 2009, 15:14 »
I found some useful information on spintronics here: http://www.spintronics-info.com/

17
The best reference for Numpy that I've found is the example collection at SciPy, http://www.scipy.org/Numpy_Example_List.

18
There is a multitude of Python tutorials and resources on the net, as well as text books, which makes it hard to choose sometimes, especially for beginners. I figured we could start a small link collection in this thread, and people can post their favorite book titles or web resources for Python.

To kick it off, here are some!

  • Docs at Python.org - the official Python site. We have to mention this of course; the most useful resource (I think) are the Language Reference and Library Reference, while the tutorials leave some to be desired (in particular, too much clicking for my liking, I'd rather have a straight Powerpoint or PDF...
  • ... like this one! A nice, simple Python tutorial!. Has some basic stuff but also advanced discussions. This is some university course work, so you never know if the file is removed, so get it while you can!
  • Python Recipes. If you need a piece of Python code to do something relatively standard, chances are someone else has written it already, so look around first, before coding :)
  • The Vaults of Parnassus. Another collection of Python scripts and resources
  • Stack OverFlow. A really nice forum, in general.
  • Google. I'm not kidding - searching Google is, as we all know, one of the most powerful ways to find what you're looking for. You could also try Google Code although it seems it hasn't really gained momentum yet, at least not for Python.
  • Numpy home page. There is a saddening lack of up-to-date reference material for Numpy. The two main documents linked to from the Numpy home page are "Guide to Numpy" from 2006 and the reference for Numerical Python from 2001... Fortunately the basics are the same, still, but there are some changes that can cause some confusion.
  • Quick reference cards for Python and more...
  • 10 Python pitfalls. A bit old, but very useful reading.
  • Free Python programming resources. There are plenty of link collections out there, so why make your own? Well, none of them is complete...
  • Matplotlib / Pylab / pyplot home page

Please add your own favorite links!

19
It works fine for me...

But I noticed that line 82 is "broken", perhaps you can just merge lines 82 and 83, so instead of

Code
if (time_reversal_symmetry) & \
        (ua[i]==0) & (ub[j]==0) & (uc[k]==0):
    return K,W

use

Code
if (time_reversal_symmetry) & (ua[i]==0) & (ub[j]==0) & (uc[k]==0):
    return K,W

20
General Questions and Answers / Re: some question about the DOS
« on: January 12, 2009, 11:41 »
You mention that the molecule has symmetries, so are your electrodes metal surfaces like Au [111] or so? If so, you probably need some k-point sampling to describe the surfaces correctly, but your initial post seems to indicate that your use only a single k-point for the DOS calculation. What you get then is just the Gamma point contribution to the DOS (and similarly to T(E)).

21
There seems to be a small bug in VNL on this: in the widget where you specify k-points (Quantum Numbers) for "Transmission Eigenvalues", it is not possible to either add or remove k-points, so you're stuck with 2 points. You can, however, edit the points :-)

22
Scripts, Tutorials and Applications / Bulk density of states
« on: January 9, 2009, 13:06 »
Does anyone have a script that can compute the bulk density of states (DOS) with ATK? The basic functionality is already available in ATK, in some sense; it's really just a matter of k-point sampling, compute E(k), then do some statistics... Ideally, one would want to use the tetrahedron method ;)

But of course it's not trivial...

23
The pseudo-strain method is very powerful! Very nice work, Nordland. I wish this functionality could be included in VNL soon, it would be very valuable!

However, it would be even better to compute the stress analytically via the Hellmann-Feynman relations, and use some standard relaxation tool like QuasiNewton also for the lattice constants (right?). Perhaps this can be introduced in ATK soon?

24
General Questions and Answers / Re: Some errors
« on: January 6, 2009, 22:23 »
Is the error reproducible? Try running the script again and see if it reappears.

Is a file called "Au-molecular-Au.vnl" produced at all? Do you have write privileges in the directory where it's supposed to go? If running via a queue, this may not be the case as the local directory under execution can be a system directory. For this reason, always use a full absolute path name to the VNL file (like, /home/username/calcs/myfile.vnl), which of course should be a valid path on the system, accessible from each node on the cluster.

Also, see if you can run this simple test script in parallel without errors:

Code
from ATK.KohnSham import *
from ATK.MPI import processIsMaster

if processIsMaster(): file = VNLFile('test.vnl')
if processIsMaster():
    print 'Master node'

elements = [Hydrogen, Hydrogen]
coordinates = [[ 0.        ,  0.        , -0.36999989],
               [ 0.        ,  0.        ,  0.36999989]]*Angstrom
molecule_configuration = MoleculeConfiguration(elements,coordinates)

if processIsMaster(): file.addToSample(molecule_configuration, 'molecule_configuration')

Check in particular if the text "Master node" is written to the terminal (stdout) only once.

If it is printed twice (when running on two nodes), you have a problem in your parallel setup (typically, this appears when not using MPICH2 as the parallelization library) which will prevent you from running ATK in parallel properly anyway, so you need to address and fix this issue (by installing MPICH2, in case you haven't).

25
The main idea behind the MPSH concept is to calculate the spectrum for the molecule only (or even a segment of the molecule), in order to see the influence of the contacts on the molecular spectrum. The charge which is carried away into the leads in the open system naturally redistributes the charge configuration of the molecule, and this is an important reason for the modification of the spectrum. The level broadening doe to the coupling to the semi-infinite electrodes is another; to see this, you should however rather look at the surface density of states.

It can sometimes make sense to include the whole central region, but it will produce a huge amount of energy levels which are not really relevant, and it might become difficult to identify those that belong to the molecule. In this case, but also in general, one should always compute the density of states as well to ensure that the MPSH levels obtained are localized states (sharp peaks in the DOS).

26
My guess is that you have added "Transmission coefficients" or "Transmission Eigenvalues" analysis options in VNL. When these are printed, using the nlPrint() function, the output looks like that since the object returned by the corresponding analysis functions are simple numpy arrays.

So in some sense the output is correct and proper (while not very pretty), and you actually asked for this information ;)

It would have been nice if the VNL-produced scripts also wrote some kind of headings or labels to the out file for those quantities. This is not done for any analysis quantities, however, it seems, since the nlPrint() function is supposed to take care of that internally for objects which it recognizes. But since it doesn't recognize these arrays as e.g. transmission eigenvalues (and how could it? it's just an array...), no heading is produced. The interplay between VNL and nlPrint() is thus not entirely well-designed in this respect.

27
General Questions and Answers / Question on temperature
« on: December 14, 2008, 23:11 »
I noticed that the default electron temperature is 300 K. In the example on optimizing a two-probe (manual chapter "Optimizing a two-probe system") the temperature is set to 1300 K, however I didn't see any comment on that choice. Is that a reasonable choice (1300 K)? Would a lower temperature hinder the optimization, and are there any drawbacks to choosing a higher temperature such as 1300 K? I was just trying to get a feel for that parameter, I'm using 1300 K at the moment since I'm not sure what else to use.

28
I noticed in the script that the calculation was run with the old default value of radial_sampling_dr. You may want to change the value (0.005 Bohr) to the new default (0.001 Bohr), although this would not really account for any weirdness in the transmission spectrum. But it's simply a better value for this parameter in general.

Another point to note is that the calculation takes over 100 steps to converge. In ATK 2008.02 two new convergence criteria were introduced, and by using IterationControl.TotalEnergy (the new default), I've noticed that the calculations often converge twice as fast (in half as many steps, that is)! This is not due to any new approximations; the results are virtually the same as before. Apparently the "Strict" criterion was too strict, and spent a huge amount of iterations converging the very small far off-diagonal corners of the density matrix, which anyway do not contribute noticeably to the physical properties. Anyway, it seems only appropriate that a DFT code should use the total energy as convergence criterion! :-)

29
The XYZ import into NanoLanguage is actually also mentioned in the manual, in a bit of a hidden place., in the "Tips" section.

30
I just noted that the "xyz" file to be used in the example mentioned above has the wrong extension in the ATK distribution (in the examples directory); it's called 3-octanol.py...

Pages: 1 [2] 3