Parallelization distribution of data

Parallel distributions (see the parallel keyword):

  • k-points

  • plane-waves, real-space grid-points, basis functions

  • electronic bands

>>> from gpaw import GPAW
>>> calc = GPAW('abc.gpw')
>>> calc.wfs.kpt_qs
[[KPoint(..., s=0, k=0, q=0)], ..., [KPoint(..., s=0, k=34, q=34)]]
>>> len(calc.wfs.kpt_qs)
35
>>> calc.wfs.kpt_qs[0][0].psit.array.shape
(8, 577)

Tip

Naming of numpy.ndarray variables: name_abc. See naming convention for indices (a, c, v, k, q, s, G, …).

The gpaw.GPAW.get_pseudo_wave_function() method will collect all the distributed pieces and return the whole thing.

>>> wfs = calc.get_pseudo_wave_function(spin=0, kpt=0, band=0)
>>> wfs.shape
(18, 18, 18)

Descriptors: