(git:b77b4be)
Loading...
Searching...
No Matches
qs_linres_op Module Reference

Calculate the operators p rxp and D needed in the optimization of the different contribution of the firs order response orbitals in a epr calculation. More...

Functions/Subroutines

subroutine, public current_operators (current_env, qs_env)
 Calculate the first order hamiltonian applied to the ao and then apply them to the ground state orbitals, the h1_psi1 full matrices are then ready to solve the non-homogeneous linear equations that give the psi1 linear response orbitals.
 
subroutine, public issc_operators (issc_env, qs_env, iatom)
 ...
 
subroutine, public polar_operators (qs_env)
 Calculate the dipole operator in the AO basis and its derivative wrt to MOs.
 
subroutine, public polar_operators_berry (qs_env)
 Calculate the Berry phase operator in the AO basis and then the derivative of the Berry phase operator with respect to the ground state wave function (see paper Putrino et al., JCP, 13, 7102) for the AOs; afterwards multiply with the ground state MO coefficients.
 
subroutine, public polar_operators_local (qs_env)
 Calculate the Berry phase operator in the AO basis and then the derivative of the Berry phase operator with respect to the ground state wave function (see paper Putrino et al., JCP, 13, 7102) for the AOs; afterwards multiply with the ground state MO coefficients.
 
subroutine, public polar_operators_local_wannier (qs_env, dcdr_env)
 Calculate the dipole operator referenced at the Wannier centers in the MO basis.
 
real(dp) function, public fac_vecp (a, b, c)
 ...
 
integer function, public ind_m2 (ii, iii)
 ...
 
subroutine, public set_vecp (i1, i2, i3)
 ...
 
subroutine, public set_vecp_rev (i1, i2, i3)
 ...
 
subroutine, public fm_scale_by_pbc_ac (matrix, ra, rc, cell, ixyz)
 scale a matrix as a_ij = a_ij * pbc(rc(:,j),ra(:,i))(ixyz)
 

Detailed Description

Calculate the operators p rxp and D needed in the optimization of the different contribution of the firs order response orbitals in a epr calculation.

Note
The interactions are considered only within the minimum image convention
History
created 07-2005 [MI]
Author
MI

Function/Subroutine Documentation

◆ current_operators()

subroutine, public qs_linres_op::current_operators ( type(current_env_type current_env,
type(qs_environment_type), pointer  qs_env 
)

Calculate the first order hamiltonian applied to the ao and then apply them to the ground state orbitals, the h1_psi1 full matrices are then ready to solve the non-homogeneous linear equations that give the psi1 linear response orbitals.

Parameters
current_env...
qs_env...
History
07.2005 created [MI]
Author
MI
Note
For the operators rxp and D the h1 depends on the psi0 to which is applied, or better the center of charge of the psi0 is used to define the position operator The centers of the orbitals result form the orbital localization procedure that typically uses the berry phase operator to define the Wannier centers.

Definition at line 126 of file qs_linres_op.F.

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

◆ issc_operators()

subroutine, public qs_linres_op::issc_operators ( type(issc_env_type issc_env,
type(qs_environment_type), pointer  qs_env,
integer, intent(in)  iatom 
)

...

Parameters
issc_env...
qs_env...
iatom...

‍debugging only here we build the dipole matrix... debugging the kernel...

‍for debugging only

Definition at line 451 of file qs_linres_op.F.

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

◆ polar_operators()

subroutine, public qs_linres_op::polar_operators ( type(qs_environment_type), pointer  qs_env)

Calculate the dipole operator in the AO basis and its derivative wrt to MOs.

Parameters
qs_env...

Definition at line 649 of file qs_linres_op.F.

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

◆ polar_operators_berry()

subroutine, public qs_linres_op::polar_operators_berry ( type(qs_environment_type), pointer  qs_env)

Calculate the Berry phase operator in the AO basis and then the derivative of the Berry phase operator with respect to the ground state wave function (see paper Putrino et al., JCP, 13, 7102) for the AOs; afterwards multiply with the ground state MO coefficients.

Parameters
qs_env...
History
01.2013 created [SL] 06.2018 polar_env integrated into qs_env (MK)
Author
SL

Definition at line 688 of file qs_linres_op.F.

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

◆ polar_operators_local()

subroutine, public qs_linres_op::polar_operators_local ( type(qs_environment_type), pointer  qs_env)

Calculate the Berry phase operator in the AO basis and then the derivative of the Berry phase operator with respect to the ground state wave function (see paper Putrino et al., JCP, 13, 7102) for the AOs; afterwards multiply with the ground state MO coefficients.

Parameters
qs_env...
History
01.2013 created [SL] 06.2018 polar_env integrated into qs_env (MK)
Author
SL

Definition at line 958 of file qs_linres_op.F.

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

◆ polar_operators_local_wannier()

subroutine, public qs_linres_op::polar_operators_local_wannier ( type(qs_environment_type), pointer  qs_env,
type(dcdr_env_type dcdr_env 
)

Calculate the dipole operator referenced at the Wannier centers in the MO basis.

Parameters
qs_env...
dcdr_env...
History
01.2013 created [SL] 06.2018 polar_env integrated into qs_env (MK)
Authors
Ravi Kumar Rangsiman Ketkaew

Definition at line 1028 of file qs_linres_op.F.

Here is the call graph for this function:

◆ fac_vecp()

real(dp) function, public qs_linres_op::fac_vecp ( integer  a,
integer  b,
integer  c 
)

...

Parameters
a...
b...
c...
Returns
...

Definition at line 1270 of file qs_linres_op.F.

Here is the caller graph for this function:

◆ ind_m2()

integer function, public qs_linres_op::ind_m2 ( integer  ii,
integer  iii 
)

...

Parameters
ii...
iii...
Returns
...

Definition at line 1291 of file qs_linres_op.F.

◆ set_vecp()

subroutine, public qs_linres_op::set_vecp ( integer, intent(in)  i1,
integer, intent(out)  i2,
integer, intent(out)  i3 
)

...

Parameters
i1...
i2...
i3...

Definition at line 1319 of file qs_linres_op.F.

Here is the caller graph for this function:

◆ set_vecp_rev()

subroutine, public qs_linres_op::set_vecp_rev ( integer, intent(in)  i1,
integer, intent(in)  i2,
integer, intent(out)  i3 
)

...

Parameters
i1...
i2...
i3...

Definition at line 1343 of file qs_linres_op.F.

Here is the caller graph for this function:

◆ fm_scale_by_pbc_ac()

subroutine, public qs_linres_op::fm_scale_by_pbc_ac ( type(cp_fm_type), intent(in)  matrix,
real(kind=dp), dimension(:, :), intent(in)  ra,
real(kind=dp), dimension(:, :), intent(in)  rc,
type(cell_type), pointer  cell,
integer, intent(in)  ixyz 
)

scale a matrix as a_ij = a_ij * pbc(rc(:,j),ra(:,i))(ixyz)

Parameters
matrix...
ra...
rc...
cell...
ixyz...
Author
vw

Definition at line 1368 of file qs_linres_op.F.

Here is the caller graph for this function: