|
tblite
Light-weight tight-binding framework
|
Helper tools for dealing with Ewald summation related calculations. More...
Data Types | |
| type | ewald_cache |
| Cell-dependent reciprocal coefficients, shared by energies and derivatives. These do not depend on coordinates or on the work partition. More... | |
| interface | get_value |
| Interaction at specified distance. More... | |
Functions/Subroutines | |
| subroutine | update_ewald_cache (self, lattice, alpha, tolerance, ko) |
| Rebuild only when the cell, splitting parameter, tolerance or kernel changes. | |
| subroutine, public | get_alpha (lattice, alpha, multipole) |
| Convenience interface to determine Ewald splitting parameter. | |
| real(wp) function, public | get_rec_cutoff (alpha, volume, conv) |
| Return cutoff for reciprocal contributions. | |
| real(wp) function, public | get_dir_cutoff (alpha, conv) |
| Return cutoff for real-space contributions. | |
Variables | |
| real(wp), parameter | euler_gamma = 0.57721566490153286061_wp |
Helper tools for dealing with Ewald summation related calculations.
| subroutine, public tblite_coulomb_ewald::get_alpha | ( | real(wp), dimension(:, :), intent(in) | lattice, |
| real(wp), intent(out) | alpha, | ||
| logical, intent(in) | multipole ) |
Convenience interface to determine Ewald splitting parameter.
| [in] | lattice | Lattice vectors |
| [out] | alpha | Estimated Ewald splitting parameter |
| [in] | multipole | Multipole expansion is used |
| real(wp) function, public tblite_coulomb_ewald::get_dir_cutoff | ( | real(wp), intent(in) | alpha, |
| real(wp), intent(in) | conv ) |
Return cutoff for real-space contributions.
| [in] | alpha | Parameter of Ewald summation |
| [in] | conv | Tolerance for Ewald summation |
| real(wp) function, public tblite_coulomb_ewald::get_rec_cutoff | ( | real(wp), intent(in) | alpha, |
| real(wp), intent(in) | volume, | ||
| real(wp), intent(in) | conv ) |
Return cutoff for reciprocal contributions.
| [in] | alpha | Parameter of Ewald summation |
| [in] | volume | Volume of the unit cell |
| [in] | conv | Tolerance value |
| subroutine tblite_coulomb_ewald::update_ewald_cache | ( | class(ewald_cache), intent(inout) | self, |
| real(wp), dimension(3, 3), intent(in) | lattice, | ||
| real(wp), intent(in) | alpha, | ||
| real(wp), intent(in) | tolerance, | ||
| logical, intent(in), optional | ko ) |
Rebuild only when the cell, splitting parameter, tolerance or kernel changes.
| [in,out] | self | Cached reciprocal-space coefficients |
| [in] | lattice | Real-space lattice vectors |
| [in] | alpha | Ewald splitting parameter |
| [in] | tolerance | Convergence tolerance for selecting reciprocal vectors |
| [in] | ko | Include the Klopman-Ohno 1/r^3 coefficients; absent selects only 1/r |