![]() |
Octopus
|
Data Types | |
| type | subspace_t |
Functions/Subroutines | |
| subroutine | subspace_init (this, namespace, st) |
| Initialize Subspace type. More... | |
| subroutine, public | dsubspace_diag (this, namespace, mesh, st, hm, ik, eigenval, diff, nonortho) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
| subroutine | dsubspace_diag_standard (namespace, mesh, st, hm, ik, eigenval, diff, nonortho) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
| subroutine | dsubspace_diag_scalapack (namespace, mesh, st, hm, ik, eigenval, psi, diff) |
| This routine diagonalises the Hamiltonian in the subspace defined by the states; this version is aware of parallelization in states but consumes more memory. More... | |
| subroutine | dsubspace_diag_hamiltonian (namespace, mesh, st, hm, ik, hmss, overlap) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
| subroutine, public | zsubspace_diag (this, namespace, mesh, st, hm, ik, eigenval, diff, nonortho) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
| subroutine | zsubspace_diag_standard (namespace, mesh, st, hm, ik, eigenval, diff, nonortho) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
| subroutine | zsubspace_diag_scalapack (namespace, mesh, st, hm, ik, eigenval, psi, diff) |
| This routine diagonalises the Hamiltonian in the subspace defined by the states; this version is aware of parallelization in states but consumes more memory. More... | |
| subroutine | zsubspace_diag_hamiltonian (namespace, mesh, st, hm, ik, hmss, overlap) |
| Diagonalises the Hamiltonian in the subspace defined by the states. More... | |
|
private |
Initialize Subspace type.
Definition at line 174 of file subspace.F90.
| subroutine, public subspace_oct_m::dsubspace_diag | ( | type(subspace_t), intent(in) | this, |
| type(namespace_t), intent(in) | namespace, | ||
| class(mesh_t), intent(in) | mesh, | ||
| type(states_elec_t), intent(inout), target | st, | ||
| type(hamiltonian_elec_t), intent(in) | hm, | ||
| integer, intent(in) | ik, | ||
| real(real64), dimension(:), intent(out), contiguous | eigenval, | ||
| real(real64), dimension(:), intent(out), contiguous | diff, | ||
| logical, intent(in), optional | nonortho | ||
| ) |
Diagonalises the Hamiltonian in the subspace defined by the states.
On exit, the states are always orthonormal.
Definition at line 298 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
On exit, the states are always orthonormal. On entry, they can be non-orthonomal. In this case, we solve a generalized eigenvalue problem using the overlap matrix. This is usefull to avoid doing before a Cholesky decomposition of the states
| [in,out] | st | Orthogonalised eigenstates |
| [out] | eigenval | Eigenvalues |
| [out] | diff | Residue |
| [in] | nonortho | if yes, eigenvectors are not orthonormal on entry |
Definition at line 366 of file subspace.F90.
|
private |
This routine diagonalises the Hamiltonian in the subspace defined by the states; this version is aware of parallelization in states but consumes more memory.
Definition at line 456 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
Definition at line 470 of file subspace.F90.
| subroutine, public subspace_oct_m::zsubspace_diag | ( | type(subspace_t), intent(in) | this, |
| type(namespace_t), intent(in) | namespace, | ||
| class(mesh_t), intent(in) | mesh, | ||
| type(states_elec_t), intent(inout), target | st, | ||
| type(hamiltonian_elec_t), intent(in) | hm, | ||
| integer, intent(in) | ik, | ||
| real(real64), dimension(:), intent(out), contiguous | eigenval, | ||
| real(real64), dimension(:), intent(out), contiguous | diff, | ||
| logical, intent(in), optional | nonortho | ||
| ) |
Diagonalises the Hamiltonian in the subspace defined by the states.
On exit, the states are always orthonormal.
Definition at line 766 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
On exit, the states are always orthonormal. On entry, they can be non-orthonomal. In this case, we solve a generalized eigenvalue problem using the overlap matrix. This is usefull to avoid doing before a Cholesky decomposition of the states
| [in,out] | st | Orthogonalised eigenstates |
| [out] | eigenval | Eigenvalues |
| [out] | diff | Residue |
| [in] | nonortho | if yes, eigenvectors are not orthonormal on entry |
Definition at line 834 of file subspace.F90.
|
private |
This routine diagonalises the Hamiltonian in the subspace defined by the states; this version is aware of parallelization in states but consumes more memory.
Definition at line 924 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
Definition at line 938 of file subspace.F90.