[Wannier] Error in plotting fermi surface
Jonathan Yates
jry20 at cam.ac.uk
Sat Mar 24 23:59:21 CET 2007
On Sat, 24 Mar 2007, Brad Malone wrote:
> Hi, I'm getting an error while trying to plot the fermi surface. It says
> "Error in allocating eig_int in plot_fermi_surface". I'm trying to generate
> a 100x100x100 grid, and I didn't get this error for 50x50x50. Is this some
> issue with memory or something? And is there a way for me to get around it?
Brad,
Failure to allocate an array generally means you've run out of RAM.
In this case the array eig_int will be rather large; you can estimate
its size in Mb with
fermi_surface_num_points**3 x num_wann x 8 / (1024^2)
Clearly there are a lot of other arrays taking up memory, but if eig_int
is comparable, or much larger than the RAM of the your machine, you're
going to be in trouble.
A trivial solution is to find a machine with more RAM!
The more elegant solution is to modify the code. The reason why the
routine tries to store all the eigenvalues in memory is just so it can
re-arrange the data into a form XCrysden can read.
I seem to remember you're interested in the eigenvalues, rather than
getting nice Fermi surface plot. In that case you could modify the
plot_fermi_surface routine to write the eigenvalues out to a file as you
go along, rather than storing them.
I think this should be a trivial modification to make. (send a mail to
myself and Arash if you want to discuss this in more detail - I think the
technical details will get a bit off-topic for the list).
Yours
Jonathan
--
Dr Jonathan Yates | Theory of Condensed Matter Group
Corpus Christi College | Cavendish Laboratory
Cambridge, CB2 1RH, UK | Cambridge, CB3 OHE, UK
email jry20 at cam.ac.uk | Tel +44 (0)1223 337461
More information about the Wannier
mailing list