|
tblite
Light-weight tight-binding framework
|
Container to handle multipole electrostatics. More...
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. | |
| procedure | get_energy_axc (self, mol, wfn, energies) |
| Get only AXC part of the anisotropic electrostatics. | |
| procedure | get_energy_aes (self, mol, cache, wfn, energies) |
| Get AES energy of the 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. | |
Container to handle multipole electrostatics.
| 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.
| [in] | self | Instance of the multipole container |
| [in] | mol | Molecular structure data |
| [in] | wfn | Wavefunction data |
| [in,out] | energies | Electrostatic energy |
| [in,out] | cache | Reusable data container |
| procedure tblite_coulomb_multipole::damped_multipole::get_energy_aes | ( | 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 AES energy of the anisotropic electrostatics.
| [in] | self | Instance of the multipole container |
| [in] | mol | Molecular structure data |
| [in] | wfn | Wavefunction data |
| [in,out] | energies | Electrostatic energy |
| [in,out] | cache | Reusable data container |
| procedure tblite_coulomb_multipole::damped_multipole::get_energy_axc | ( | class(damped_multipole), intent(in) | self, |
| type(structure_type), intent(in) | mol, | ||
| type(wavefunction_type), intent(in) | wfn, | ||
| real(wp), dimension(:), intent(inout) | energies ) |
Get only AXC part of the anisotropic electrostatics.
| [in] | self | Instance of the multipole container |
| [in] | mol | Molecular structure data |
| [in] | wfn | Wavefunction data |
| [in,out] | energies | Electrostatic energy |
| 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.
| [in] | self | Instance of the multipole 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_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.
| [in] | self | Instance of the multipole container |
| [in] | mol | Molecular structure data |
| [in] | wfn | Wavefunction data |
| [in,out] | pot | Density dependent potential |
| [in,out] | cache | Reusable data container |
| 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.
| [in] | self | Instance of the multipole container |
| [in] | mol | Molecular structure data |
| [in,out] | cache | Reusable data container |
| procedure tblite_coulomb_multipole::damped_multipole::variable_info | ( | class(damped_multipole), intent(in) | self | ) |
Return dependency on density.
| [in] | self | Instance of the electrostatic container |