Package schrodinger :: Package application :: Package matsci :: Package espresso :: Module utils :: Class MemoryEstimator
[hide private]
[frames] | no frames]

Class MemoryEstimator

object --+
         |
        MemoryEstimator

Class to estimate RAM memory for a PW (QE) job.

Instance Methods [hide private]
 
__init__(self, vecs, ecutwfc, ecutrho, nproc, nks, nspin, nbnd, ntyp, nmix, lscf)
Initialize MemoryEstimator object and set several attributes.
list of 3 floats
realSpaceGridInit(self, at_vecs, bg_vecs, gcutm)
Gets minimal 3D real-space FFT grid.
int
getGoodFFTDim(self, fft_dim)
Get a good FFT dimension.
 
isGoodDim(self, fft_dim)
Check if FFT dimension is good.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  MBYTE = 1048576.0
  NFFTX = 2049
  COMPLEX_SIZE = 16.0
  INT_SIZE = 4.0
  REAL_SIZE = 8.0
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, vecs, ecutwfc, ecutrho, nproc, nks, nspin, nbnd, ntyp, nmix, lscf)
(Constructor)

 

Initialize MemoryEstimator object and set several attributes.

Parameters:
  • vecs (3 list of 3 floats) - Lattice vectors
  • ecutwfc (float) - Wavefunction cutoff (Ry)
  • ecutrho (float) - Density cutoff (Ry)
  • nproc (int) - Number of processors
  • nks (int) - Number of k-points
  • nspin (int) - 1 for closed-shell, 2 for spin-polarized
  • nbnd (int) - Number of bands
  • ntyp (int) - Number of atom types
  • nmix (int) - Beta mixing
  • lscf (bool) - True if the calculation is scf/relax, False if it is nscf
Overrides: object.__init__

realSpaceGridInit(self, at_vecs, bg_vecs, gcutm)

 

Gets minimal 3D real-space FFT grid.

Parameters:
  • at_vecs (3 x 3 table of floats) - Lattice vectors in the units of alat
  • bg_vecs (3 x 3 table of floats) - Reciprocal lattice vectors in the units of 1/alat
  • gctum - Radius of the sphere to fit the FFT grid
  • gcutm (float)
Returns: list of 3 floats
FFT grid sizes

getGoodFFTDim(self, fft_dim)

 

Get a good FFT dimension.

Parameters:
  • fft_dim (int) - FFT dimension
Returns: int
Good FFT dimension, if exists

isGoodDim(self, fft_dim)

 

Check if FFT dimension is good.

Parameters:
  • fft_dim (int) - FFT dimension

    @rtype bool

Returns:
True, if FFT dimension is good, False otherwise