tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_external_field::electric_field Type Reference

Container for contribution from an instantaneous electric field. More...

Inheritance diagram for tblite_external_field::electric_field:
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 electric field energy.
 
procedure get_potential (self, mol, cache, wfn, pot)
 Get electric field potential.
 
procedure get_potential_gradient (self, mol, cache, wfn, pot)
 Get electric field potential.
 
procedure get_gradient (self, mol, cache, wfn, gradient, sigma)
 Get electric field gradient.
 
pure type(electric_field) function create_electric_field (efield)
 Create new electric field container.
 
- 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), dimension(3) efield = 0.0_wp
 Instantaneous electric field.
 
- Data Fields inherited from tblite_container_type::container_type
character(len=:), allocatable label
 Label identifying this contribution.
 

Detailed Description

Container for contribution from an instantaneous electric field.

Create electric field container from field vector.

Member Function/Subroutine Documentation

◆ create_electric_field()

pure type(electric_field) function tblite_external_field::electric_field::create_electric_field ( real(wp), dimension(:), intent(in) efield)

Create new electric field container.

Parameters
[in]efieldInstantaneous electric field
Returns
Instance of the electrostatic container

◆ get_energy()

procedure tblite_external_field::electric_field::get_energy ( class(electric_field), 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 electric field energy.

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_external_field::electric_field::get_gradient ( class(electric_field), 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 electric field gradient.

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_external_field::electric_field::get_potential ( class(electric_field), 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 electric field potential.

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_external_field::electric_field::get_potential_gradient ( class(electric_field), 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 electric field potential.

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_external_field::electric_field::update ( class(electric_field), intent(in) self,
type(structure_type), intent(in) mol,
type(container_cache), intent(inout) cache )

Update cache from container.

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

◆ variable_info()

procedure tblite_external_field::electric_field::variable_info ( class(electric_field), 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: