... | ... | @@ -17,7 +17,7 @@ if you know that matrix elements, as well as the solution, will be real numbers |
|
|
3D version of the code diagonalizes matrix of size:
|
|
|
`MATRIX_DIM = NX*NY*NZ*2`.
|
|
|
Memory needed store this matrix in memory is
|
|
|
`MATRIX_SIZE = MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
`MATRIX_SIZE = MATRIX_DIM*MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
To execute diagonalization routine `st-wslda-3d` code needs at most:
|
|
|
`REQUIRED_MEMORY < 4*MATRIX_SIZE`,
|
|
|
Factor 4 accounts for storage for matrix, storage for eigen-vectors, working space which depends on selected [diagonalization engine](Setting up diagonalization engine) and execution parameters.
|
... | ... | @@ -26,7 +26,7 @@ Factor 4 accounts for storage for matrix, storage for eigen-vectors, working spa |
|
|
In (quasi) 2D formulation of the problem diagonalization of full hamiltonian matrix factorizes into a series of `max(NZ/2,1)` diagonalizations of matrices of size (`NZ/2` arises from fact that there is the degeneracy of states with respect to sign of $`k_z`$ wave-vectors):
|
|
|
`MATRIX_DIM = NX*NY*2`
|
|
|
and the corresponding matrix size is
|
|
|
`MATRIX_SIZE = MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
`MATRIX_SIZE = MATRIX_DIM*MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
Number of matrices diagonalized simultaneously is:
|
|
|
`NUMBER_OF_SIMULTANUES_DIAGONALIZATIONS = np / (p*q)`
|
|
|
where `np` is number of MPI processes (provided to mpi execution command) and `p` and `q` are input file parameters.
|
... | ... | @@ -40,7 +40,7 @@ To execute diagonalization routine `st-wslda-2d` code needs at most: |
|
|
In (quasi) 1D formulation of the problem diagonalization of full hamiltonian matrix factorizes into a series of `max(NY*NZ/4,1)` diagonalizations of matrices of size:
|
|
|
`MATRIX_DIM = NX*2`
|
|
|
and the corresponding matrix size is
|
|
|
`MATRIX_SIZE = MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
`MATRIX_SIZE = MATRIX_DIM*MATRIX_DIM*ELEMENT_SIZE`.
|
|
|
Number of matrices diagonalized simultaneously is:
|
|
|
`NUMBER_OF_SIMULTANUES_DIAGONALIZATIONS = np / (p*q)`
|
|
|
where `np` is number of MPI processes (provided to mpi execution command) and `p` and `q` are input file parameters.
|
... | ... | |