tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_coulomb_multipole::damped_multipole Type Reference

Container to handle multipole electrostatics. More...

Inheritance diagram for tblite_coulomb_multipole::damped_multipole:
tblite_coulomb_type::coulomb_type tblite_container_type::container_type

Public Member Functions

procedure update (self, mol, cache)
 Update cache from container.
 
procedure variable_info (self)
 Return dependency on density.
 
procedure get_energy (self, mol, cache, wfn, energies)
 Get anisotropic electrostatic energy.
 
procedure get_potential (self, mol, cache, wfn, pot)
 Get anisotropic electrostatic potential.
 
procedure get_gradient (self, mol, cache, wfn, gradient, sigma)
 Get derivatives of anisotropic electrostatics.
 
- 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_potential_gradient (self, mol, cache, wfn, pot)
 Evaluate gradient of 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

real(wp) kdmp3 = 0.0_wp
 Damping function for inverse quadratic contributions.
 
real(wp) kdmp5 = 0.0_wp
 Damping function for inverse cubic contributions.
 
real(wp), dimension(:), allocatable dkernel
 Kernel for on-site dipole exchange-correlation.
 
real(wp), dimension(:), allocatable qkernel
 Kernel for on-site quadrupolar exchange-correlation.
 
real(wp) shift = 0.0_wp
 Shift for the generation of the multipolar damping radii.
 
real(wp) kexp = 0.0_wp
 Exponent for the generation of the multipolar damping radii.
 
real(wp) rmax = 0.0_wp
 Maximum radius for the multipolar damping radii.
 
real(wp), dimension(:), allocatable rad
 Base radii for the multipolar damping radii.
 
real(wp), dimension(:), allocatable valence_cn
 Valence coordination number.
 
type(gfn_ncoord_type), allocatable ncoord
 Coordination number container for multipolar damping radii.
 
- Data Fields inherited from tblite_container_type::container_type
character(len=:), allocatable label
 Label identifying this contribution.
 

Detailed Description

Container to handle multipole electrostatics.

Member Function/Subroutine Documentation

◆ get_energy()

procedure tblite_coulomb_multipole::damped_multipole::get_energy ( class(damped_multipole), 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 )

Get anisotropic electrostatic energy.

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

◆ get_gradient()

procedure tblite_coulomb_multipole::damped_multipole::get_gradient ( class(damped_multipole), 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 )

Get derivatives of anisotropic electrostatics.

Parameters
[in]selfInstance of the multipole 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_multipole::damped_multipole::get_potential ( class(damped_multipole), 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 )

Get anisotropic electrostatic potential.

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

◆ update()

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

Update cache from container.

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

◆ variable_info()

procedure tblite_coulomb_multipole::damped_multipole::variable_info ( class(damped_multipole), intent(in) self)

Return dependency on density.

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: