![]() |
Octopus
|
Data Types | |
| interface | simplex_t |
Functions/Subroutines | |
| type(simplex_t) function, pointer, public | simplex_init (dim, naxis, nshifts, shift, kpoints, equiv) |
| Constructor for linear simplex methods. More... | |
| subroutine, public | simplex_end (this) |
| Destructor for linear simplex methods. More... | |
| subroutine, public | simplex_weights_3d (etetra, eF, weights, dos) |
| Get the weights and DOS contribution of a single tetrahedron. More... | |
| subroutine, public | simplex_dos_3d (etetra, eF, dos) |
| Get only the DOS contribution of a single tetrahedron. More... | |
Variables | |
| integer, dimension(6, 4), parameter | submesh_tetras = reshape([ 1, 2, 3, 6, 1, 3, 5, 6, 3, 5, 6, 7, 3, 6, 7, 8, 3, 4, 6, 8, 2, 3, 4, 6], shape(submesh_tetras), order=[2, 1]) |
| type(simplex_t) function, pointer, public simplex_oct_m::simplex_init | ( | integer, intent(in) | dim, |
| integer, dimension(1:dim), intent(in) | naxis, | ||
| integer, intent(in) | nshifts, | ||
| real(real64), dimension(:,:), intent(in) | shift, | ||
| real(real64), dimension(:,:), intent(in) | kpoints, | ||
| integer, dimension(:), intent(in) | equiv | ||
| ) |
Constructor for linear simplex methods.
At the moment this performs a dumb tetrahedrization of the BZ by converting the coordinates of k-points back into integer triples. This only works for a three-dimensional BZ and if there is only a single shift. Both of these conditions are ASSERTed.
| [in] | dim | Dimension of the system |
| [in] | naxis | Number of k-points along each dimension |
| [in] | nshift | Number of shifts |
| [in] | shift | Shifts along each dimension |
| [in] | kpoints | Grid of k-points in the unreduced BZ |
| [in] | equiv | Mapping of k-point indices in the full BZ to the reduced BZ |
Definition at line 176 of file simplex.F90.
| subroutine, public simplex_oct_m::simplex_end | ( | type(simplex_t), intent(inout) | this | ) |
Destructor for linear simplex methods.
| [in,out] | this | Linear simplex method instance |
Definition at line 259 of file simplex.F90.
| subroutine, public simplex_oct_m::simplex_weights_3d | ( | real(real64), dimension(4), intent(in) | etetra, |
| real(real64), intent(in) | eF, | ||
| real(real64), dimension(4), intent(out) | weights, | ||
| real(real64), intent(out) | dos | ||
| ) |
Get the weights and DOS contribution of a single tetrahedron.
The expressions for are given in Appendix B and C of P. E. Bloechl, et al., Phys. Rev. B 49, 16223 (1994).
| [in] | etetra | Eigenenergies on the corner points of a tetrahedron |
| [in] | eF | Reference energy |
| [out] | weights | Integration weights for each corner of the tetrahedron (including Bloechl correction) |
| [out] | dos | Contribution to the DOS by the tetrahedron |
Definition at line 275 of file simplex.F90.
| subroutine, public simplex_oct_m::simplex_dos_3d | ( | real(real64), dimension(4), intent(in) | etetra, |
| real(real64), intent(in) | eF, | ||
| real(real64), intent(out) | dos | ||
| ) |
Get only the DOS contribution of a single tetrahedron.
The expressions for are given in Appendix C of P. E. Bloechl, et al., Phys. Rev. B 49, 16223 (1994).
| [in] | etetra | Eigenenergies on the corner points of a tetrahedron |
| [in] | eF | Reference energy |
| [out] | dos | Contribution to the DOS by the tetrahedron |
Definition at line 372 of file simplex.F90.
|
private |
Definition at line 152 of file simplex.F90.