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 172 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 303 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 371 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 461 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
Definition at line 623 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 914 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 982 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 1072 of file subspace.F90.
|
private |
Diagonalises the Hamiltonian in the subspace defined by the states.
Definition at line 1234 of file subspace.F90.