Octopus
mxll_elec_coupling_oct_m Module Reference

Data Types

type  mxll_coupling_t
 

Functions/Subroutines

subroutine, public mxll_coupling_init (this, d, gr, namespace, mass)
 Parse variables and initialize Maxwell coupling. More...
 
subroutine mxll_quadrupole_test_init (this, gr, namespace)
 Initializes quadrupole test when requested. The test applies an electric field defined as E=(0.2 x, 0, 0) which produces a quadrupole potential that is harmonic: V=0.1 x^2. More...
 
subroutine, public mxll_coupling_calc (this, hm_base, mesh, d, space)
 Add the Maxwell coupling to the electronic Hamiltonian. More...
 
subroutine, public mxll_coupling_end (this)
 Finalize and deallocate Maxwell coupling arrays. More...
 
subroutine, public set_electric_quadrupole_pot (this, mesh)
 Computes the electric quadrupole potential \(H^{EQ} = \frac{1}{2} e [ (\vec{r} \cdot \mathbb{Q} \cdot \vec{r} )\phi \) where \( \mathbb{Q} _{i j}=\left.\partial_i E_j^{\perp}\right|_{\vec{r}=\vec{r}_0} \). More...
 
subroutine, public magnetic_dipole_coupling (this, psib, hpsib)
 Computes the magnetic dipole term of the Hamiltonian. \(H^{MD} = (-i e \hbar /2m) \sum_i (\vec{B}(r_0).(\vec{r} x \nabla)) \psi_i \) This routine acually implements the equivalent expression (\vec{B}(r_0) \times \vec{r}) . (\nabla \psi) More...
 

Variables

integer, parameter, public no_maxwell_coupling = 0
 
integer, parameter, public length_gauge_dipole = 1
 
integer, parameter, public multipolar_expansion = 2
 
integer, parameter, public velocity_gauge_dipole = 3
 
integer, parameter, public full_minimal_coupling = 4
 
integer, parameter, public dipole_average = 0
 
integer, parameter, public dipole_at_com = 1
 

Function/Subroutine Documentation

◆ mxll_coupling_init()

subroutine, public mxll_elec_coupling_oct_m::mxll_coupling_init ( type(mxll_coupling_t), intent(inout)  this,
type(states_elec_dim_t), intent(in)  d,
type(grid_t), intent(in), target  gr,
type(namespace_t), intent(in)  namespace,
real(real64), intent(in)  mass 
)

Parse variables and initialize Maxwell coupling.

Definition at line 184 of file mxll_elec_coupling.F90.

◆ mxll_quadrupole_test_init()

subroutine mxll_elec_coupling_oct_m::mxll_quadrupole_test_init ( type(mxll_coupling_t), intent(inout)  this,
type(grid_t), intent(in)  gr,
type(namespace_t), intent(in)  namespace 
)
private

Initializes quadrupole test when requested. The test applies an electric field defined as E=(0.2 x, 0, 0) which produces a quadrupole potential that is harmonic: V=0.1 x^2.

Definition at line 341 of file mxll_elec_coupling.F90.

◆ mxll_coupling_calc()

subroutine, public mxll_elec_coupling_oct_m::mxll_coupling_calc ( type(mxll_coupling_t), intent(inout)  this,
type(hamiltonian_elec_base_t), intent(inout)  hm_base,
type(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  d,
class(space_t), intent(in)  space 
)

Add the Maxwell coupling to the electronic Hamiltonian.

Definition at line 379 of file mxll_elec_coupling.F90.

◆ mxll_coupling_end()

subroutine, public mxll_elec_coupling_oct_m::mxll_coupling_end ( type(mxll_coupling_t), intent(inout)  this)

Finalize and deallocate Maxwell coupling arrays.

Definition at line 443 of file mxll_elec_coupling.F90.

◆ set_electric_quadrupole_pot()

subroutine, public mxll_elec_coupling_oct_m::set_electric_quadrupole_pot ( type(mxll_coupling_t), intent(inout)  this,
type(mesh_t), intent(in)  mesh 
)

Computes the electric quadrupole potential \(H^{EQ} = \frac{1}{2} e [ (\vec{r} \cdot \mathbb{Q} \cdot \vec{r} )\phi \) where \( \mathbb{Q} _{i j}=\left.\partial_i E_j^{\perp}\right|_{\vec{r}=\vec{r}_0} \).

Definition at line 464 of file mxll_elec_coupling.F90.

◆ magnetic_dipole_coupling()

subroutine, public mxll_elec_coupling_oct_m::magnetic_dipole_coupling ( type(mxll_coupling_t), intent(in)  this,
type(wfs_elec_t), intent(inout)  psib,
type(wfs_elec_t), intent(inout)  hpsib 
)

Computes the magnetic dipole term of the Hamiltonian. \(H^{MD} = (-i e \hbar /2m) \sum_i (\vec{B}(r_0).(\vec{r} x \nabla)) \psi_i \) This routine acually implements the equivalent expression (\vec{B}(r_0) \times \vec{r}) . (\nabla \psi)

Definition at line 514 of file mxll_elec_coupling.F90.

Variable Documentation

◆ no_maxwell_coupling

integer, parameter, public mxll_elec_coupling_oct_m::no_maxwell_coupling = 0

Definition at line 168 of file mxll_elec_coupling.F90.

◆ length_gauge_dipole

integer, parameter, public mxll_elec_coupling_oct_m::length_gauge_dipole = 1

Definition at line 168 of file mxll_elec_coupling.F90.

◆ multipolar_expansion

integer, parameter, public mxll_elec_coupling_oct_m::multipolar_expansion = 2

Definition at line 168 of file mxll_elec_coupling.F90.

◆ velocity_gauge_dipole

integer, parameter, public mxll_elec_coupling_oct_m::velocity_gauge_dipole = 3

Definition at line 168 of file mxll_elec_coupling.F90.

◆ full_minimal_coupling

integer, parameter, public mxll_elec_coupling_oct_m::full_minimal_coupling = 4

Definition at line 168 of file mxll_elec_coupling.F90.

◆ dipole_average

integer, parameter, public mxll_elec_coupling_oct_m::dipole_average = 0

Definition at line 175 of file mxll_elec_coupling.F90.

◆ dipole_at_com

integer, parameter, public mxll_elec_coupling_oct_m::dipole_at_com = 1

Definition at line 175 of file mxll_elec_coupling.F90.