(git:0973b94)
Loading...
Searching...
No Matches
rt_propagation_velocity_gauge Module Reference

Routines to perform the RTP in the velocity gauge. More...

Functions/Subroutines

subroutine, public velocity_gauge_ks_matrix (qs_env, subtract_nl_term)
 ...
subroutine, public update_vector_potential (qs_env, dft_control)
 Update the vector potential in the case where a time-dependant electric field is apply.
subroutine, public velocity_gauge_nl_commutator (qs_env, matrix_cre, matrix_cim, vec_pot)
 Calculate the commutator [Vnl~, r_d] (d=x,y,z) of the gauge-transformed nonlocal pseudopotential with the position operator, needed for the nonlocal correction to the integrated electronic current in RTP/EMD. The moment is taken relative to each projector center, which makes the result origin-independent (the constant shifts cancel exactly in the commutator). For vec_pot = 0 the plain commutator [Vnl, r_d] is obtained (matrix_cim = 0).
subroutine, public velocity_gauge_nl_force (qs_env, particle_set)
 Calculate the force associated to non-local pseudo potential in the velocity gauge.
subroutine, public velocity_gauge_kinetic_force (qs_env)
 Force from the field-dependent kinetic terms of the velocity gauge, 1/2 (p + A)^2 = 1/2 p^2 + A.p + 1/2 A^2. With H_im = - sum_i A_i M_i, M_i = <a|d_i|b> = D_A S_ab (build_lin_mom_matrix), and H_re = H_re + 1/2 A^2 S: dE/dR = - sum_i A_i Tr(P_im dM_i/dR) + 1/2 A^2 Tr(P_re dS/dR).

Detailed Description

Routines to perform the RTP in the velocity gauge.

Function/Subroutine Documentation

◆ velocity_gauge_ks_matrix()

subroutine, public rt_propagation_velocity_gauge::velocity_gauge_ks_matrix ( type(qs_environment_type), pointer qs_env,
logical, intent(in), optional subtract_nl_term )

...

Parameters
qs_env...
subtract_nl_term...

Definition at line 94 of file rt_propagation_velocity_gauge.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vector_potential()

subroutine, public rt_propagation_velocity_gauge::update_vector_potential ( type(qs_environment_type), intent(inout), pointer qs_env,
type(dft_control_type), intent(inout), pointer dft_control )

Update the vector potential in the case where a time-dependant electric field is apply.

Parameters
qs_env...
dft_control...

Definition at line 267 of file rt_propagation_velocity_gauge.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ velocity_gauge_nl_commutator()

subroutine, public rt_propagation_velocity_gauge::velocity_gauge_nl_commutator ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:), intent(inout), pointer matrix_cre,
type(dbcsr_p_type), dimension(:), intent(inout), pointer matrix_cim,
real(kind=dp), dimension(3), intent(in) vec_pot )

Calculate the commutator [Vnl~, r_d] (d=x,y,z) of the gauge-transformed nonlocal pseudopotential with the position operator, needed for the nonlocal correction to the integrated electronic current in RTP/EMD. The moment is taken relative to each projector center, which makes the result origin-independent (the constant shifts cancel exactly in the commutator). For vec_pot = 0 the plain commutator [Vnl, r_d] is obtained (matrix_cim = 0).

Parameters
qs_env...
matrix_crereal part of the commutator, antisymmetric, dimension(3)
matrix_cimimaginary part of the commutator, symmetric, dimension(3)
vec_potvector potential defining the gauge phase, use 0 for no gauge transform

Definition at line 503 of file rt_propagation_velocity_gauge.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ velocity_gauge_nl_force()

subroutine, public rt_propagation_velocity_gauge::velocity_gauge_nl_force ( type(qs_environment_type), pointer qs_env,
type(particle_type), dimension(:), pointer particle_set )

Calculate the force associated to non-local pseudo potential in the velocity gauge.

Parameters
qs_env...
particle_set...
Date
09.2023
Author
Guillaume Le Breton

Definition at line 1019 of file rt_propagation_velocity_gauge.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ velocity_gauge_kinetic_force()

subroutine, public rt_propagation_velocity_gauge::velocity_gauge_kinetic_force ( type(qs_environment_type), pointer qs_env)

Force from the field-dependent kinetic terms of the velocity gauge, 1/2 (p + A)^2 = 1/2 p^2 + A.p + 1/2 A^2. With H_im = - sum_i A_i M_i, M_i = <a|d_i|b> = D_A S_ab (build_lin_mom_matrix), and H_re = H_re + 1/2 A^2 S: dE/dR = - sum_i A_i Tr(P_im dM_i/dR) + 1/2 A^2 Tr(P_re dS/dR).

Parameters
qs_env...

Definition at line 1270 of file rt_propagation_velocity_gauge.F.

Here is the call graph for this function:
Here is the caller graph for this function: