tblite
Light-weight tight-binding framework
|
General second-order electrostatics. More...
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. | |
General second-order electrostatics.
|
pure virtual |
Evaluate uncontracted derivatives of Coulomb matrix.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
[in] | qat | Atomic partial charges |
[in] | qsh | Shell-resolved partial charges |
[out] | dadr | Derivative of interactions with respect to cartesian displacements |
[out] | dadl | Derivative of interactions with respect to strain deformations |
[out] | atrace | On-site derivatives with respect to cartesian displacements |
|
pure virtual |
Evaluate Coulomb matrix.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
[out] | amat | Coulomb matrix |
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.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
[in] | wfn | Wavefunction data |
[in,out] | energies | Electrostatic energy |
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.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
[in] | wfn | Wavefunction data |
[in,out] | gradient | Molecular gradient of the repulsion energy |
[in,out] | sigma | Strain derivatives of the repulsion energy |
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.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
[in] | wfn | Wavefunction data |
[in,out] | pot | Density dependent potential |
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.
[in] | self | Instance of the electrostatic container |
[in] | mol | Molecular structure data |
[in,out] | cache | Reusable data container |
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.
[in] | self | Instance of the electrostatic container |