[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Long LDOS calculation times with simple structures
David Eustace inquired about speeding up FEFF8 for LDOS calculations:
> At present I am trying to run LDOS calculations on simple rock salt
> structures to establish the parameters I want to use on more complicated
> materials. I'm having a bit of a problem with the length of time these
> calculations take. We run feff 8.1 on an alpha dec computer, with a dual
> processors. I'm not looking to upgrade the system specs, I'm referring to
> the time these calculations take relative to others we run (they take two
> or three days longer).
>
> After running an initial calculation with all control modules on, which I'm
> not really concerned about, I vary my LDOS parameters then run with only
> the second module.
>
> To get decent resolution on my plots, I have reduced the energy range over
> which I'm calculating the LDOS, but still require a very large number of
> atoms to obtain fine structure (about 300-450). This makes my calculations
> take a long time (typically between 3 and 5 days), although they have
> started yielding . Typical detailed calculations on our system usually take
> 1-2 days.
>
> I reckon because I'm using a simple structure, good resolution requires
> long scattering lengths. If I'm wrong, please let me know. I use the FMS
> card to define scattering length, I omit the SCF card.
>
> I was wondering if there was any way of making these calculations go
> faster? All I'm looking to obtain is the LDOS, i.e. the rholnn.dat
> (ldosnn.dat on feff 8.2) files. Is it possible to 'omit' other functions
> performed by the second control module? (I only run the LDOS and FMS cards
> in my input file).
There are several ways to speed up LDOS calculations.
First note that the main cpu bottleneck is the big matrix inversion
of dimension N_atoms*(l_fms+1)**2 so the cpu time scales as
N_energies*N_ipots*[N_atoms*(l_fms+1)**2]**3
Thus the first step is to reduce l_fms. If only s and pDOS
is important set l_fms = 1 and if you need dDOS to 2.
I would suggest doing some small l_fms calculations first to see
how the calculation scales.
Next reduce N_atoms to a minimum. Typically you can get away
with about 150 atoms with reasonable resolution. You can
also reduce the number of energies, e.g., LDOS -20 5 0.5
gives a small range with 0.5 eV resolution.
> I reckon because I'm using a simple structure, good resolution requires
> long scattering lengths. If I'm wrong, please let me know. I use the FMS
This is correct, BUT it's not clear to me what resolution you
really need. Try the 0.5 eV and see if 150 atoms is sufficient.
To do better you really need a parallel machine. With FEFF8.2
in parallel mode you'll instantly save a factor of 2 on your dual
processor dec alpha once you have mpi installed. We often run on
32 cpus, which cuts a couple of days on a single processor machine
to a little more than an hour!
I would not skip the SCF card. You probably need SCF potentials to get
reliable LDOS for many materials. Also you can get away with much
smaller clusters (e.g. about 40 atoms or so) to get reliable SCF
potentials, so the SCF module is not a cpu bottleneck.
Finally for FMS calculations of XAS, you can use the lanczos
algorithm which is implemented in FEFF8.2. This will save another
factor of 3-5.
If you send us a sample feff.inp input file, we may be able to make
further suggestions.
Cheers,
John Rehr