(git:3919fb7)
Loading...
Searching...
No Matches
qs_moments Module Reference

Calculates the moment integrals <a|r^m|b> and <a|r x d/dr|b>. More...

Functions/Subroutines

subroutine, public build_local_moment_matrix (qs_env, moments, nmoments, ref_point, ref_points, basis_type, all_images, minimum_image, neighbor_image, first_component)
 ...
subroutine, public build_local_moments_der_matrix (qs_env, moments_der, nmoments_der, nmoments, ref_point, moments, basis_type, minimum_image, ordered, lambda, deltar, neighbor_image)
 Calculate right-hand sided derivatives of multipole moments, e. g. < a | xy d/dz | b > Optionally stores the multipole moments themselves for free. Note that the multipole moments are symmetric while their derivatives are anti-symmetric Only first derivatives are performed, e. g. x d/dy.
subroutine, public build_local_magmom_matrix (qs_env, magmom, nmoments, ref_point, ref_points, basis_type)
 ...
subroutine, public build_berry_moment_matrix (qs_env, cosmat, sinmat, kvec, sab_orb_external, basis_type)
 ...
subroutine, public build_berry_kpoint_matrix (qs_env, cosmat, sinmat, kvec, basis_type)
 ...
subroutine, public qs_moment_berry_phase (qs_env, magnetic, nmoments, reference, ref_point, unit_number)
 ...
subroutine, public op_orbbas (cosmat, sinmat, mos, op_fm_set, opvec)
 ...
subroutine, public op_orbbas_rtp (cosmat, sinmat, mos, op_fm_set, mos_new)
 ...
subroutine, public qs_moment_locop (qs_env, magnetic, nmoments, reference, ref_point, unit_number, vel_reprs, com_nl)
 ...
subroutine, public set_label (label, ix, iy, iz)
 ...
subroutine, public print_moments (unit_number, nmom, rmom, rlab, rcc, cell, periodic, mmom, rmom_vel)
 ...
subroutine, public print_moments_nl (unit_number, nmom, rlab, mmom, rmom_vel)
 ...
subroutine, public calculate_commutator_nl_terms (qs_env, nlcom_rv, nlcom_rxrv, nlcom_rrv, nlcom_rvr, nlcom_rrv_vrr, ref_point)
 Calculate the expectation value of operators related to non-local potential: [r, Vnl], noted rv r x [r,Vnl], noted rxrv [rr,Vnl], noted rrv r x Vnl x r, noted rvr r x r x Vnl + Vnl x r x r, noted rrv_vrr Note that the 3 first operator are commutator while the 2 last are not. For reading clarity the same notation is used for all 5 operators.
subroutine, public build_local_moment_matrix_rs_img (qs_env, moments_rs_img, rcc)
 Calculate local moment matrix for a periodic system for all image cells.
subroutine, public qs_moment_kpoints_deep (qs_env, xkp, dipole, rcc, berry_c, do_parallel)
 Calculates the dipole moments and berry curvature for periodic systems for kpoints.
subroutine, public qs_moment_kpoints_scf_mos (qs_env, dipole, rcc, nmo_spin_out)
 Calculates interband k-point dipoles in the existing SCF MO basis.
subroutine, public qs_moment_kpoints (qs_env, nmoments, reference, ref_point, max_nmo, unit_number)
 Calculate and print dipole moment elements d_nm(k) for k-point calculations.

Detailed Description

Calculates the moment integrals <a|r^m|b> and <a|r x d/dr|b>.

History
added angular moments (JGH 11.2012)
Author
JGH (20.07.2006)

Function/Subroutine Documentation

◆ build_local_moment_matrix()

subroutine, public qs_moments::build_local_moment_matrix ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:), pointer moments,
integer, intent(in) nmoments,
real(kind=dp), dimension(:), intent(in), optional ref_point,
real(kind=dp), dimension(:, :), intent(in), optional ref_points,
character(len=*), optional basis_type,
logical, optional all_images,
logical, optional minimum_image,
logical, optional neighbor_image,
integer, optional first_component )

...

Parameters
qs_env...
moments...
nmoments...
ref_point...
ref_points...
basis_type...
all_imagesaccumulate all neighbor images belonging to one atom pair
minimum_imageapply the half-cell image filter
neighbor_imageuse the neighbor-list image vector for one atom-pair representative
first_componentfirst Cartesian moment component to write

Definition at line 158 of file qs_moments.F.

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

◆ build_local_moments_der_matrix()

subroutine, public qs_moments::build_local_moments_der_matrix ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:, :), intent(inout), pointer moments_der,
integer, intent(in) nmoments_der,
integer, intent(in) nmoments,
real(kind=dp), dimension(:), intent(in), optional ref_point,
type(dbcsr_p_type), dimension(:), intent(inout), optional, pointer moments,
character(len=*), optional basis_type,
logical, optional minimum_image,
logical, optional ordered,
integer, optional lambda,
real(kind=dp), dimension(:, :), optional, pointer deltar,
logical, optional neighbor_image )

Calculate right-hand sided derivatives of multipole moments, e. g. < a | xy d/dz | b > Optionally stores the multipole moments themselves for free. Note that the multipole moments are symmetric while their derivatives are anti-symmetric Only first derivatives are performed, e. g. x d/dy.

Parameters
qs_env...
moments_derwill contain the derivatives of the multipole moments
nmoments_derorder of the moments with derivatives
nmomentsorder of the multipole moments (no derivatives, same output as build_local_moment_matrix, needs moments as arguments to store results)
ref_point...
momentscontains the multipole moments, optionally for free, up to order nmoments
basis_typebasis set used for the integral evaluation
minimum_imageapply the half-cell image filter
ordereduse ordered neighbor blocks and, for ordinary derivatives, the full neighbor list
lambdaoptional atom selector for the right-hand derivative
deltaRoptional weights for left and right nuclear-coordinate derivatives
neighbor_imageuse the neighbor-list image for coordinate construction

Definition at line 430 of file qs_moments.F.

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

◆ build_local_magmom_matrix()

subroutine, public qs_moments::build_local_magmom_matrix ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:), pointer magmom,
integer, intent(in) nmoments,
real(kind=dp), dimension(:), intent(in), optional ref_point,
real(kind=dp), dimension(:, :), intent(in), optional ref_points,
character(len=*), optional basis_type )

...

Parameters
qs_env...
magmom...
nmoments...
ref_point...
ref_points...
basis_type...

Definition at line 838 of file qs_moments.F.

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

◆ build_berry_moment_matrix()

subroutine, public qs_moments::build_berry_moment_matrix ( type(qs_environment_type), pointer qs_env,
type(dbcsr_type), pointer cosmat,
type(dbcsr_type), pointer sinmat,
real(kind=dp), dimension(3), intent(in) kvec,
type(neighbor_list_set_p_type), dimension(:), optional, pointer sab_orb_external,
character(len=*), optional basis_type )

...

Parameters
qs_env...
cosmat...
sinmat...
kvec...
sab_orb_external...
basis_type...

Definition at line 1044 of file qs_moments.F.

Here is the caller graph for this function:

◆ build_berry_kpoint_matrix()

subroutine, public qs_moments::build_berry_kpoint_matrix ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:, :), pointer cosmat,
type(dbcsr_p_type), dimension(:, :), pointer sinmat,
real(kind=dp), dimension(3), intent(in) kvec,
character(len=*), optional basis_type )

...

Parameters
qs_env...
cosmat...
sinmat...
kvec...
basis_type...

Definition at line 1080 of file qs_moments.F.

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

◆ qs_moment_berry_phase()

subroutine, public qs_moments::qs_moment_berry_phase ( type(qs_environment_type), pointer qs_env,
logical, intent(in) magnetic,
integer, intent(in) nmoments,
integer, intent(in) reference,
real(dp), dimension(:), pointer ref_point,
integer, intent(in) unit_number )

...

Parameters
qs_env...
magnetic...
nmoments...
reference...
ref_point...
unit_number...

Definition at line 1287 of file qs_moments.F.

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

◆ op_orbbas()

subroutine, public qs_moments::op_orbbas ( type(dbcsr_type), pointer cosmat,
type(dbcsr_type), pointer sinmat,
type(mo_set_type), dimension(:), intent(in) mos,
type(cp_fm_type), dimension(:, :), intent(in) op_fm_set,
type(cp_fm_type), dimension(:), intent(inout) opvec )

...

Parameters
cosmat...
sinmat...
mos...
op_fm_set...
opvec...

Definition at line 1684 of file qs_moments.F.

Here is the caller graph for this function:

◆ op_orbbas_rtp()

subroutine, public qs_moments::op_orbbas_rtp ( type(dbcsr_type), pointer cosmat,
type(dbcsr_type), pointer sinmat,
type(mo_set_type), dimension(:), intent(in) mos,
type(cp_fm_type), dimension(:, :), intent(in) op_fm_set,
type(cp_fm_type), dimension(:), pointer mos_new )

...

Parameters
cosmat...
sinmat...
mos...
op_fm_set...
mos_new...

Definition at line 1714 of file qs_moments.F.

Here is the caller graph for this function:

◆ qs_moment_locop()

subroutine, public qs_moments::qs_moment_locop ( type(qs_environment_type), pointer qs_env,
logical, intent(in) magnetic,
integer, intent(in) nmoments,
integer, intent(in) reference,
real(dp), dimension(:), intent(in), pointer ref_point,
integer, intent(in) unit_number,
logical, intent(in), optional vel_reprs,
logical, intent(in), optional com_nl )

...

Parameters
qs_env...
magnetic...
nmoments...
reference...
ref_point...
unit_number...
vel_reprs...
com_nl...

Definition at line 1806 of file qs_moments.F.

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

◆ set_label()

subroutine, public qs_moments::set_label ( character(len=*), intent(out) label,
integer, intent(in) ix,
integer, intent(in) iy,
integer, intent(in) iz )

...

Parameters
label...
ix...
iy...
iz...

Definition at line 2207 of file qs_moments.F.

Here is the caller graph for this function:

◆ print_moments()

subroutine, public qs_moments::print_moments ( integer, intent(in) unit_number,
integer, intent(in) nmom,
real(dp), dimension(:, :), intent(in) rmom,
character(len=8), dimension(:) rlab,
real(dp), dimension(3), intent(in) rcc,
type(cell_type), pointer cell,
logical periodic,
real(dp), dimension(:), intent(in), optional mmom,
real(dp), dimension(:), intent(in), optional rmom_vel )

...

Parameters
unit_number...
nmom...
rmom...
rlab...
rcc...
cell...
periodic...
mmom...
rmom_vel...

Definition at line 2238 of file qs_moments.F.

Here is the caller graph for this function:

◆ print_moments_nl()

subroutine, public qs_moments::print_moments_nl ( integer, intent(in) unit_number,
integer, intent(in) nmom,
character(len=8), dimension(:) rlab,
real(dp), dimension(:), intent(in), optional mmom,
real(dp), dimension(:), intent(in), optional rmom_vel )

...

Parameters
unit_number...
nmom...
rlab...
mmom...
rmom_vel...

Definition at line 2346 of file qs_moments.F.

Here is the caller graph for this function:

◆ calculate_commutator_nl_terms()

subroutine, public qs_moments::calculate_commutator_nl_terms ( type(qs_environment_type), pointer qs_env,
real(dp), dimension(:), optional, allocatable nlcom_rv,
real(dp), dimension(:), optional, allocatable nlcom_rxrv,
real(dp), dimension(:), optional, allocatable nlcom_rrv,
real(dp), dimension(:), optional, allocatable nlcom_rvr,
real(dp), dimension(:), optional, allocatable nlcom_rrv_vrr,
real(dp), dimension(3) ref_point )

Calculate the expectation value of operators related to non-local potential: [r, Vnl], noted rv r x [r,Vnl], noted rxrv [rr,Vnl], noted rrv r x Vnl x r, noted rvr r x r x Vnl + Vnl x r x r, noted rrv_vrr Note that the 3 first operator are commutator while the 2 last are not. For reading clarity the same notation is used for all 5 operators.

Parameters
qs_env...
nlcom_rv...
nlcom_rxrv...
nlcom_rrv...
nlcom_rvr...
nlcom_rrv_vrr...
ref_point...

Definition at line 2413 of file qs_moments.F.

Here is the caller graph for this function:

◆ build_local_moment_matrix_rs_img()

subroutine, public qs_moments::build_local_moment_matrix_rs_img ( type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:, :), pointer moments_rs_img,
real(kind=dp), dimension(3), optional rcc )

Calculate local moment matrix for a periodic system for all image cells.

Parameters
qs_env...
moments_rs_img...
rcc...
Author
Shridhar Shanbhag

Definition at line 2790 of file qs_moments.F.

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

◆ qs_moment_kpoints_deep()

subroutine, public qs_moments::qs_moment_kpoints_deep ( type(qs_environment_type), pointer qs_env,
real(kind=dp), dimension(:, :), allocatable xkp,
complex(kind=dp), dimension(:, :, :, :, :), allocatable dipole,
real(kind=dp), dimension(3), optional rcc,
real(kind=dp), dimension(:, :, :, :), optional, allocatable berry_c,
logical, optional do_parallel )

Calculates the dipole moments and berry curvature for periodic systems for kpoints.

Parameters
qs_env...
xkplist of kpoints
dipole...
rcccoordinates about which to calculate the dipole
berry_cberry curvature calculated using Ω^γ_n = Σ_m 2*Im[d^α_nm (d^β_mn)*]
do_paralleloption to distribute the result in dipole across different MPI ranks
Author
Shridhar Shanbhag

Definition at line 2969 of file qs_moments.F.

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

◆ qs_moment_kpoints_scf_mos()

subroutine, public qs_moments::qs_moment_kpoints_scf_mos ( type(qs_environment_type), pointer qs_env,
complex(kind=dp), dimension(:, :, :, :, :), allocatable dipole,
real(kind=dp), dimension(3), optional rcc,
integer, dimension(:), intent(out), optional, allocatable nmo_spin_out )

Calculates interband k-point dipoles in the existing SCF MO basis.

Parameters
qs_env...
dipole...
rccretained for interface compatibility; interband dipoles are origin independent
nmo_spin_outnumber of SCF MOs available for each spin

Definition at line 3163 of file qs_moments.F.

Here is the caller graph for this function:

◆ qs_moment_kpoints()

subroutine, public qs_moments::qs_moment_kpoints ( type(qs_environment_type), pointer qs_env,
integer, intent(in) nmoments,
integer, intent(in) reference,
real(dp), dimension(:), intent(in), pointer ref_point,
integer, intent(in) max_nmo,
integer, intent(in) unit_number )

Calculate and print dipole moment elements d_nm(k) for k-point calculations.

Parameters
qs_env...
nmoments...
reference...
ref_point...
max_nmo...
unit_number...
Author
Shridhar Shanbhag

Definition at line 3381 of file qs_moments.F.

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