tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
tblite_coulomb_charge_type::coulomb_charge_type Type Referenceabstract

General second-order electrostatics. More...

Inheritance diagram for tblite_coulomb_charge_type::coulomb_charge_type:
tblite_coulomb_type::coulomb_type tblite_container_type::container_type tblite_coulomb_charge_effective::effective_coulomb tblite_coulomb_charge_gamma::gamma_coulomb

Public Member Functions

procedure update (self, mol, cache)
 Update container cache.
 
procedure variable_info (self)
 Get information about density dependent quantities used in the energy.
 
procedure get_energy (self, mol, cache, wfn, energies)
 Evaluate selfconsistent energy of the interaction.
 
procedure get_potential (self, mol, cache, wfn, pot)
 Evaluate charge dependent potential shift from the interaction.
 
procedure get_gradient (self, mol, cache, wfn, gradient, sigma)
 Evaluate gradient contributions from the selfconsistent interaction.
 
procedure(get_coulomb_matrix), deferred get_coulomb_matrix (self, mol, cache, amat)
 Evaluate Coulomb matrix.
 
procedure(get_coulomb_derivs), deferred get_coulomb_derivs (self, mol, cache, qat, qsh, dadr, dadl, atrace)
 Evaluate uncontracted derivatives of Coulomb matrix.
 
- Public Member Functions inherited from tblite_container_type::container_type
procedure update (self, mol, cache)
 Update container cache.
 
procedure variable_info (self)
 Get information about density dependent quantities used in the energy.
 
procedure get_engrad (self, mol, cache, energies, gradient, sigma)
 Evaluate non-selfconsistent part of the interaction.
 
procedure get_energy (self, mol, cache, wfn, energies)
 Evaluate selfconsistent energy of the interaction.
 
procedure get_potential (self, mol, cache, wfn, pot)
 Evaluate charge dependent potential shift from the interaction.
 
procedure get_gradient (self, mol, cache, wfn, gradient, sigma)
 Evaluate gradient contributions from the selfconsistent interaction.
 
procedure info (self, verbosity, indent)
 Information on container.
 

Data Fields

logical shell_resolved
 Whether the third order contribution is shell-dependent.
 
integer, dimension(:), allocatable nshell
 Number of shells for each atom.
 
integer, dimension(:), allocatable offset
 Index offset for each shell.
 
- Data Fields inherited from tblite_container_type::container_type
character(len=:), allocatable label
 Label identifying this contribution.
 

Detailed Description

General second-order electrostatics.

Member Function/Subroutine Documentation

◆ get_coulomb_derivs()

procedure(get_coulomb_derivs), deferred tblite_coulomb_charge_type::coulomb_charge_type::get_coulomb_derivs ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(coulomb_cache), intent(inout) cache,
real(wp), dimension(:), intent(in) qat,
real(wp), dimension(:), intent(in) qsh,
real(wp), dimension(:, :, :), intent(out), contiguous dadr,
real(wp), dimension(:, :, :), intent(out), contiguous dadl,
real(wp), dimension(:, :), intent(out), contiguous atrace )
pure virtual

Evaluate uncontracted derivatives of Coulomb matrix.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container
[in]qatAtomic partial charges
[in]qshShell-resolved partial charges
[out]dadrDerivative of interactions with respect to cartesian displacements
[out]dadlDerivative of interactions with respect to strain deformations
[out]atraceOn-site derivatives with respect to cartesian displacements

◆ get_coulomb_matrix()

procedure(get_coulomb_matrix), deferred tblite_coulomb_charge_type::coulomb_charge_type::get_coulomb_matrix ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(coulomb_cache), intent(inout) cache,
real(wp), dimension(:, :), intent(out), contiguous amat )
pure virtual

Evaluate Coulomb matrix.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container
[out]amatCoulomb matrix

◆ get_energy()

procedure tblite_coulomb_charge_type::coulomb_charge_type::get_energy ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(container_cache), intent(inout) cache,
type(wavefunction_type), intent(in) wfn,
real(wp), dimension(:), intent(inout) energies )

Evaluate selfconsistent energy of the interaction.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container
[in]wfnWavefunction data
[in,out]energiesElectrostatic energy

◆ get_gradient()

procedure tblite_coulomb_charge_type::coulomb_charge_type::get_gradient ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(container_cache), intent(inout) cache,
type(wavefunction_type), intent(in) wfn,
real(wp), dimension(:, :), intent(inout), contiguous gradient,
real(wp), dimension(:, :), intent(inout), contiguous sigma )

Evaluate gradient contributions from the selfconsistent interaction.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container
[in]wfnWavefunction data
[in,out]gradientMolecular gradient of the repulsion energy
[in,out]sigmaStrain derivatives of the repulsion energy

◆ get_potential()

procedure tblite_coulomb_charge_type::coulomb_charge_type::get_potential ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(container_cache), intent(inout) cache,
type(wavefunction_type), intent(in) wfn,
type(potential_type), intent(inout) pot )

Evaluate charge dependent potential shift from the interaction.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container
[in]wfnWavefunction data
[in,out]potDensity dependent potential

◆ update()

procedure tblite_coulomb_charge_type::coulomb_charge_type::update ( class(coulomb_charge_type), intent(in) self,
type(structure_type), intent(in) mol,
type(container_cache), intent(inout) cache )

Update container cache.

Parameters
[in]selfInstance of the electrostatic container
[in]molMolecular structure data
[in,out]cacheReusable data container

◆ variable_info()

procedure tblite_coulomb_charge_type::coulomb_charge_type::variable_info ( class(coulomb_charge_type), intent(in) self)

Get information about density dependent quantities used in the energy.

Parameters
[in]selfInstance of the electrostatic container
Returns
Information on the required potential data

The documentation for this type was generated from the following file: