tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_coulomb_ewald Module Reference

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

Detailed Description

Helper tools for dealing with Ewald summation related calculations.

Function/Subroutine Documentation

◆ get_alpha()

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.

Parameters
[in]latticeLattice vectors
[out]alphaEstimated Ewald splitting parameter
[in]multipoleMultipole expansion is used

◆ get_dir_cutoff()

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.

Parameters
[in]alphaParameter of Ewald summation
[in]convTolerance for Ewald summation
Returns
Magnitude of real-space vector

◆ get_rec_cutoff()

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.

Parameters
[in]alphaParameter of Ewald summation
[in]volumeVolume of the unit cell
[in]convTolerance value
Returns
Magnitude of reciprocal vector

◆ update_ewald_cache()

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.

Parameters
[in,out]selfCached reciprocal-space coefficients
[in]latticeReal-space lattice vectors
[in]alphaEwald splitting parameter
[in]toleranceConvergence tolerance for selecting reciprocal vectors
[in]koInclude the Klopman-Ohno 1/r^3 coefficients; absent selects only 1/r