|
tblite
Light-weight tight-binding framework
|
Implementation of the density dependent potential and its contribution to the effective Hamiltonian. More...
Data Types | |
| type | potential_type |
| Container for density dependent potential-shifts. More... | |
Functions/Subroutines | |
| subroutine, public | new_potential (self, mol, bas, nspin, grad) |
| Create a new potential object. | |
| subroutine, public | reduce_potential (error, pot, comm) |
| Assemble the SCF potential before expanding atom/shell shifts into vao. | |
| subroutine, public | mpi_add_pot_to_h1 (error, bas, ints, pot, h1, comm) |
| Expand the replicated potential into disjoint Hamiltonian columns. Local storage needs a distributed transpose of one-centre contributions; the compatibility path gathers complete columns for a replicated solver. | |
| subroutine, public | add_pot_to_h1 (bas, ints, pot, h1, columns) |
| Add the collected potential shifts to complete or locally stored columns. Local storage returns one-centre contributions; the frontend adds their distributed transpose. Complete storage includes both centres directly. | |
Implementation of the density dependent potential and its contribution to the effective Hamiltonian.
| subroutine, public tblite_scf_potential::add_pot_to_h1 | ( | type(basis_type), intent(in) | bas, |
| type(integral_type), intent(in) | ints, | ||
| type(potential_type), intent(inout) | pot, | ||
| real(wp), dimension(:, :, :), intent(out) | h1, | ||
| integer, dimension(2), intent(in), optional | columns ) |
Add the collected potential shifts to complete or locally stored columns. Local storage returns one-centre contributions; the frontend adds their distributed transpose. Complete storage includes both centres directly.
| [in] | bas | Basis set information |
| [in] | ints | Integrals stored as complete matrices or complete local columns |
| [in,out] | pot | Potential shifts, expanded to shell and orbital resolution |
| [out] | h1 | Hamiltonian columns to overwrite; local storage returns one-centre terms |
| [in] | columns | Optional range to compute within replicated storage |
| subroutine, public tblite_scf_potential::mpi_add_pot_to_h1 | ( | type(error_type), intent(inout), allocatable | error, |
| type(basis_type), intent(in) | bas, | ||
| type(integral_type), intent(in) | ints, | ||
| type(potential_type), intent(inout) | pot, | ||
| real(wp), dimension(:, :, :), intent(inout), contiguous | h1, | ||
| integer, intent(in), optional | comm ) |
Expand the replicated potential into disjoint Hamiltonian columns. Local storage needs a distributed transpose of one-centre contributions; the compatibility path gathers complete columns for a replicated solver.
| [in,out] | error | Error handling |
| [in] | bas | Basis set information |
| [in] | ints | Integrals stored as complete matrices or complete local columns |
| [in,out] | pot | Replicated potential shifts, expanded to shell and orbital resolution |
| [in,out] | h1 | Effective Hamiltonian to overwrite, using the same column layout as ints |
| [in] | comm | Communicator for distributed assembly, absent selects serial execution |
| subroutine, public tblite_scf_potential::new_potential | ( | type(potential_type), intent(out) | self, |
| type(structure_type), intent(in) | mol, | ||
| type(basis_type), intent(in) | bas, | ||
| integer, intent(in) | nspin, | ||
| logical, intent(in), optional | grad ) |
Create a new potential object.
| [out] | self | Instance of the density dependent potential |
| [in] | mol | Molecular structure data |
| [in] | bas | Description of the basis set |
| [in] | nspin | Number of spin channels |
| [in] | grad | Flag to indicate if potential gradients are requested |
| subroutine, public tblite_scf_potential::reduce_potential | ( | type(error_type), intent(inout), allocatable | error, |
| type(potential_type), intent(inout) | pot, | ||
| integer, intent(in), optional | comm ) |
Assemble the SCF potential before expanding atom/shell shifts into vao.
| [in,out] | error | Error handling; a pending error skips the reduction |
| [in,out] | pot | Partial atomic and shell potentials, replaced by their sum over all ranks |
| [in] | comm | Communicator to reduce over, absent leaves the potential unchanged |