![]() |
Octopus
|
Data Types | |
| interface | dstates_elec_mpdotp |
| interface | dstates_elec_mpmatrixelement |
| type | excited_states_t |
| type | states_pair_t |
| interface | zstates_elec_mpdotp |
| interface | zstates_elec_mpmatrixelement |
Functions/Subroutines | |
| subroutine, public | excited_states_init (excited_state, ground_state, filename, namespace) |
| Fills in an excited_state structure, by reading a file called "filename". This file describes the "promotions" from occupied to unoccupied levels that change the initial Slater determinant structure specified in ground_state. These promotions are a set of electron-hole pairs. The structure of the file is thus four columns: More... | |
| subroutine, public | excited_states_kill (excited_state) |
| Kills an excited_state structure. More... | |
| subroutine, public | excited_states_output (excited_state, dirname, namespace) |
| logical function | pair_is_eq (pair1, pair2) |
| real(real64) function | dstates_elec_mpdotp_x (namespace, mesh, excited_state, st, mat) |
| Returns the dot product of two many-body states; the first one is an "excited_state". More... | |
| subroutine, public | dstates_elec_matrix_swap (mat, pair) |
| The matrix mat should contain the dot products between two states. One of them (the one operating on the left) is an excited state. The pair_t pair indicates the substitution of one the occupied spin-orbitals by one unoccupied one (electron-hole excitation). This routine returns then the matrix that would correspond to the dot products between this excited state (on the left) and the same ground state (on the right) More... | |
| real(real64) function | dstates_elec_mpmatrixelement_g (namespace, mesh, st1, st2, opst2) |
| Returns <st1 | O | st2>, where both st1 and st2 are Slater determinants represented by states_elec_t st1 and st2. O is a one-body operator. More... | |
| real(real64) function | dstates_elec_mpdotp_g (namespace, mesh, st1, st2, mat) |
| Returns the dot product of two many-body states st1 and st2. More... | |
| complex(real64) function | zstates_elec_mpdotp_x (namespace, mesh, excited_state, st, mat) |
| Returns the dot product of two many-body states; the first one is an "excited_state". More... | |
| subroutine, public | zstates_elec_matrix_swap (mat, pair) |
| The matrix mat should contain the dot products between two states. One of them (the one operating on the left) is an excited state. The pair_t pair indicates the substitution of one the occupied spin-orbitals by one unoccupied one (electron-hole excitation). This routine returns then the matrix that would correspond to the dot products between this excited state (on the left) and the same ground state (on the right) More... | |
| complex(real64) function | zstates_elec_mpmatrixelement_g (namespace, mesh, st1, st2, opst2) |
| Returns <st1 | O | st2>, where both st1 and st2 are Slater determinants represented by states_elec_t st1 and st2. O is a one-body operator. More... | |
| complex(real64) function | zstates_elec_mpdotp_g (namespace, mesh, st1, st2, mat) |
| Returns the dot product of two many-body states st1 and st2. More... | |
| subroutine, public excited_states_oct_m::excited_states_init | ( | type(excited_states_t), intent(inout) | excited_state, |
| type(states_elec_t), intent(in), target | ground_state, | ||
| character(len=*), intent(in) | filename, | ||
| type(namespace_t), intent(in) | namespace | ||
| ) |
Fills in an excited_state structure, by reading a file called "filename". This file describes the "promotions" from occupied to unoccupied levels that change the initial Slater determinant structure specified in ground_state. These promotions are a set of electron-hole pairs. The structure of the file is thus four columns:
i a k weight
where i should be an occupied state, a an unoccupied one, and k the k-point (including spin) of the corresponding orbital. This pair is then associated with a creation-annihilation pair a^t_{a,k} a_{i,k}, so that the excited state will be a linear combination in the form:
|ExcitedState> = Sum [ weight(i,a,k) a^t_{a,k} a_{i,k} |GroundState> ]
where weight is the number in the fourth column. These weights should be normalized to one; otherwise the routine will normalize them, and write a warning.
This file structure is the one written by the casida run mode, in the files
Definition at line 203 of file excited_states.F90.
| subroutine, public excited_states_oct_m::excited_states_kill | ( | type(excited_states_t), intent(inout) | excited_state | ) |
Kills an excited_state structure.
Definition at line 407 of file excited_states.F90.
| subroutine, public excited_states_oct_m::excited_states_output | ( | type(excited_states_t), intent(in) | excited_state, |
| character(len=*), intent(in) | dirname, | ||
| type(namespace_t), intent(in) | namespace | ||
| ) |
Definition at line 421 of file excited_states.F90.
|
private |
Definition at line 442 of file excited_states.F90.
|
private |
Returns the dot product of two many-body states; the first one is an "excited_state".
WARNING!!!!: periodic systems are not considered in these expressions.
Definition at line 521 of file excited_states.F90.
| subroutine, public excited_states_oct_m::dstates_elec_matrix_swap | ( | real(real64), dimension(:, :, :), intent(inout) | mat, |
| type(states_pair_t), intent(in) | pair | ||
| ) |
The matrix mat should contain the dot products between two states. One of them (the one operating on the left) is an excited state. The pair_t pair indicates the substitution of one the occupied spin-orbitals by one unoccupied one (electron-hole excitation). This routine returns then the matrix that would correspond to the dot products between this excited state (on the left) and the same ground state (on the right)
Definition at line 568 of file excited_states.F90.
|
private |
Returns <st1 | O | st2>, where both st1 and st2 are Slater determinants represented by states_elec_t st1 and st2. O is a one-body operator.
The auxiliary Slater determinant opst2 is formed by the orbitals that result of applying operator O on each of the spin-orbitals of st2.
The routine directly applies Lowdin`s formula [P.-O. Lowdin, Phys. Rev. 97, 1474; Eq. 49].
Definition at line 604 of file excited_states.F90.
|
private |
Returns the dot product of two many-body states st1 and st2.
Definition at line 771 of file excited_states.F90.
|
private |
Returns the dot product of two many-body states; the first one is an "excited_state".
WARNING!!!!: periodic systems are not considered in these expressions.
Definition at line 983 of file excited_states.F90.
| subroutine, public excited_states_oct_m::zstates_elec_matrix_swap | ( | complex(real64), dimension(:, :, :), intent(inout) | mat, |
| type(states_pair_t), intent(in) | pair | ||
| ) |
The matrix mat should contain the dot products between two states. One of them (the one operating on the left) is an excited state. The pair_t pair indicates the substitution of one the occupied spin-orbitals by one unoccupied one (electron-hole excitation). This routine returns then the matrix that would correspond to the dot products between this excited state (on the left) and the same ground state (on the right)
Definition at line 1030 of file excited_states.F90.
|
private |
Returns <st1 | O | st2>, where both st1 and st2 are Slater determinants represented by states_elec_t st1 and st2. O is a one-body operator.
The auxiliary Slater determinant opst2 is formed by the orbitals that result of applying operator O on each of the spin-orbitals of st2.
The routine directly applies Lowdin`s formula [P.-O. Lowdin, Phys. Rev. 97, 1474; Eq. 49].
Definition at line 1066 of file excited_states.F90.
|
private |
Returns the dot product of two many-body states st1 and st2.
Definition at line 1233 of file excited_states.F90.