Octopus
x_slater_oct_m Module Reference

Functions/Subroutines

subroutine, public x_slater_calc (namespace, gr, space, exxop, st, kpoints, ex, vxc)
 Interface to X(slater_calc) More...
 
subroutine get_rotation_matrix (dens, alpha, betar, betai)
 This routine get the SU(2) matrix that diagonalize the spin-density matrix. More...
 
subroutine rotate_to_local (mat, alpha, betar, betai, alpha2, beta2, rot_mat)
 Rotation to the local frame Given a matrix in spin space, this routine rotates according to the rotation matrix R defined by the alpha and beta coefficients \(D = R M R^T\). More...
 
subroutine rotate_to_global (mat, alpha, betar, betai, alpha2, beta2, rot_mat)
 Rotation to the global (Cartesian) frame. More...
 
subroutine dslater_calc (namespace, gr, space, exxop, st, kpoints, ex, vxc)
 
subroutine zslater_calc (namespace, gr, space, exxop, st, kpoints, ex, vxc)
 

Function/Subroutine Documentation

◆ x_slater_calc()

subroutine, public x_slater_oct_m::x_slater_calc ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space,
type(exchange_operator_t), intent(in)  exxop,
type(states_elec_t), intent(inout)  st,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(inout)  ex,
real(real64), dimension(:,:), intent(inout), optional  vxc 
)

Interface to X(slater_calc)

Parameters
[in,out]vxcvxc(grmeshnp, stdnspin)

Definition at line 144 of file x_slater.F90.

◆ get_rotation_matrix()

subroutine x_slater_oct_m::get_rotation_matrix ( real(real64), dimension(:), intent(in)  dens,
real(real64), intent(out)  alpha,
real(real64), intent(out)  betar,
real(real64), intent(out)  betai 
)
private

This routine get the SU(2) matrix that diagonalize the spin-density matrix.

The matrix has the following form

\[ \begin{pmatrix} \alpha & \beta \ -\beta^* & \alpha\ \end{pmatrix} \]

where \(\alpha\) is real.

Parameters
[in]densspin-density matrix
[out]betaiCoefficients of the matrix

Definition at line 178 of file x_slater.F90.

◆ rotate_to_local()

subroutine x_slater_oct_m::rotate_to_local ( real(real64), dimension(:), intent(in)  mat,
real(real64), intent(in)  alpha,
real(real64), intent(in)  betar,
real(real64), intent(in)  betai,
real(real64), intent(in)  alpha2,
real(real64), intent(in)  beta2,
real(real64), dimension(:), intent(out)  rot_mat 
)
private

Rotation to the local frame Given a matrix in spin space, this routine rotates according to the rotation matrix R defined by the alpha and beta coefficients \(D = R M R^T\).

Definition at line 214 of file x_slater.F90.

◆ rotate_to_global()

subroutine x_slater_oct_m::rotate_to_global ( real(real64), dimension(:), intent(in)  mat,
real(real64), intent(in)  alpha,
real(real64), intent(in)  betar,
real(real64), intent(in)  betai,
real(real64), intent(in)  alpha2,
real(real64), intent(in)  beta2,
real(real64), dimension(:), intent(out)  rot_mat 
)
private

Rotation to the global (Cartesian) frame.

Given a matrix in spin space, this routine rotates according to the rotation matrix R defined by the alpha and beta coefficients \(M = R^T D R\)

Definition at line 235 of file x_slater.F90.

◆ dslater_calc()

subroutine x_slater_oct_m::dslater_calc ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space,
type(exchange_operator_t), intent(in)  exxop,
type(states_elec_t), intent(inout)  st,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(inout)  ex,
real(real64), dimension(:,:), intent(inout), optional  vxc 
)
private
Parameters
[in,out]vxcvxc(grmeshnp, stdnspin)

Definition at line 319 of file x_slater.F90.

◆ zslater_calc()

subroutine x_slater_oct_m::zslater_calc ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
class(space_t), intent(in)  space,
type(exchange_operator_t), intent(in)  exxop,
type(states_elec_t), intent(inout)  st,
type(kpoints_t), intent(in)  kpoints,
real(real64), intent(inout)  ex,
real(real64), dimension(:,:), intent(inout), optional  vxc 
)
private
Parameters
[in,out]vxcvxc(grmeshnp, stdnspin)

Definition at line 579 of file x_slater.F90.