tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_coulomb_thirdorder::onsite_thirdorder Type Reference

Onsite correction for third-order charge expansion. More...

Inheritance diagram for tblite_coulomb_thirdorder::onsite_thirdorder:
tblite_coulomb_type::coulomb_type tblite_container_type::container_type

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_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.
 
- 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

logical shell_resolved
 Whether the third order contribution is shell-dependent.
 
integer, dimension(:), allocatable nsh_at
 Number of shell for each atom.
 
integer, dimension(:), allocatable ish_at
 Shell offset for each atom.
 
real(wp), dimension(:, :), allocatable hubbard_derivs
 Hubbard derivatives for each species.
 
- Data Fields inherited from tblite_container_type::container_type
character(len=:), allocatable label
 Label identifying this contribution.
 

Detailed Description

Onsite correction for third-order charge expansion.

Member Function/Subroutine Documentation

◆ get_energy()

procedure tblite_coulomb_thirdorder::onsite_thirdorder::get_energy ( class(onsite_thirdorder), 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_thirdorder::onsite_thirdorder::get_gradient ( class(onsite_thirdorder), 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_thirdorder::onsite_thirdorder::get_potential ( class(onsite_thirdorder), 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

◆ get_potential_gradient()

procedure tblite_coulomb_thirdorder::onsite_thirdorder::get_potential_gradient ( class(onsite_thirdorder), 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 gradient of 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_thirdorder::onsite_thirdorder::update ( class(onsite_thirdorder), 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_thirdorder::onsite_thirdorder::variable_info ( class(onsite_thirdorder), 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: