Qbox Implemention of Magnetic Field: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
Line 56: Line 56:
* Removed ESSL and internal-FFT portions in FourierTransform::bwd and ::fwd
* Removed ESSL and internal-FFT portions in FourierTransform::bwd and ::fwd


== Style ==
= Code Style =


Some new files were created to implement the magnetic portion, the style can be enforced by applying this command
Some new files were created to implement the magnetic portion, the style can be enforced by applying this command

Revision as of 06:03, 27 April 2010

Qbox implementation without magnetic field

How wave function is distributed among processors

https://wiki.alcf.anl.gov/index.php/Qbox#Performance_Notes

  • Fourier space (sphere)
  • Real space (cube)

How Fourier transform is performed

Qbox implementation with magnetic field

Retrive current working version

To retrieve the current implementation version of Qbox (within the Magnetic project), do

 cd ~/prj
 svn co --username USERNAME https://micro.stanford.edu/svn/Qbox

a directory named ./Qbox with the sources will be created in the current directory.

Revision history is available at https://micro.stanford.edu/viewvc/Qbox/

How wave function is distributed among processors

  • Fourier space (cube)
  • Real space (cube)


How Fourier transform is performed

real, intermediate, reciprocal spaces



Dumping the Hartree potential

Sometimes it is useful to obtain the self consistent Hartree potential, either to do a calculation on top of it or to have an intuition of the effective potential that electrons are subjected to.


Log of major changes

  • Removed non-FFTW macro code in 'FourierTransform.C' to clean up the code.
  • Removed ESSL and internal-FFT portions in FourierTransform::bwd and ::fwd

Code Style

Some new files were created to implement the magnetic portion, the style can be enforced by applying this command

indent \
  -i8 -l160 \
  --braces-on-if-line \
  --braces-on-struct-decl-line \ 
  --cuddle-do-while --cuddle-else \
  --no-blank-lines-after-declarations --no-blank-lines-after-procedures \
  --dont-break-function-decl-args \
  --no-space-after-function-call-names --no-space-after-parentheses \
  --dont-break-procedure-type \
  --no-space-after-for --no-space-after-if --no-space-after-while \
  --dont-space-special-semicolon  qbox.hpp