mod_spintools Module


Subroutines

public subroutine rotate_wavefunction(lmmaxso, natypd, alpha, beta, rveig_atom_inp, rveig_atom_out)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: lmmaxso
integer, intent(in) :: natypd
double precision, intent(in) :: alpha
double precision, intent(in) :: beta
double complex, intent(in) :: rveig_atom_inp(lmmaxso,natypd,2)
double complex, intent(out) :: rveig_atom_out(lmmaxso,natypd,2)

public subroutine spin_expectationvalue(inc, nstates, rhod, rveig_atom, Spin_tot, Spin_atom)

Arguments

Type IntentOptional Attributes Name
type(inc_TYPE), intent(in) :: inc
integer, intent(in) :: nstates
double complex, intent(in) :: rhod(inc%lmmaxso,inc%lmmaxso,inc%natypd,4)
double complex, intent(in) :: rveig_atom(inc%lmmaxso,inc%natypd,nstates)
double complex, intent(out) :: Spin_tot(3,nstates)
double complex, intent(out), optional :: Spin_atom(3,inc%natypd,nstates)

public subroutine torq_expectationvalue(inc, nstates, torq, rveig_atom, Torq_tot, Torq_atom)

Arguments

Type IntentOptional Attributes Name
type(inc_TYPE), intent(in) :: inc
integer, intent(in) :: nstates
double complex, intent(in) :: torq(inc%lmmaxso,inc%lmmaxso,inc%natypd,3)
double complex, intent(in) :: rveig_atom(inc%lmmaxso,inc%natypd,nstates)
double complex, intent(out) :: Torq_tot(3,nstates)
double complex, intent(out), optional :: Torq_atom(3,inc%natypd,nstates)

public subroutine spinflux_expectationvalue(inc, nstates, spinflux, rveig_atom, Spinflux_atom)

Arguments

Type IntentOptional Attributes Name
type(inc_TYPE), intent(in) :: inc
integer, intent(in) :: nstates
double complex, intent(in) :: spinflux(inc%lmmaxso,inc%lmmaxso,inc%natypd,3)
double complex, intent(in) :: rveig_atom(inc%lmmaxso,inc%natypd,nstates)
double complex, intent(out), optional :: Spinflux_atom(3,inc%natypd,nstates)

public subroutine alpha_expectationvalue(inc, nstates, alpha, rveig_atom, Alpha_tot)

Arguments

Type IntentOptional Attributes Name
type(inc_TYPE), intent(in) :: inc
integer, intent(in) :: nstates
double complex, intent(in) :: alpha(inc%lmmaxso,inc%lmmaxso,inc%natypd,3)
double complex, intent(in) :: rveig_atom(inc%lmmaxso,inc%natypd,nstates)
double complex, intent(out) :: Alpha_tot(3,nstates)

public subroutine Spinrot_AlphaBeta(lincombtype, nvec, Spin_ini, Scross, alpha, beta, Spin_estimated, uio)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: lincombtype
double precision, intent(in) :: nvec(3)
double complex, intent(in) :: Spin_ini(3)
double complex, intent(in) :: Scross(3)
double precision, intent(out) :: alpha
double precision, intent(out) :: beta
double precision, intent(out) :: Spin_estimated
integer, intent(in), optional :: uio

public subroutine Spinrot_AlphaBeta_Rashba(Spin_ini_selected, Scross_selected, alpha, beta)

Arguments

Type IntentOptional Attributes Name
double complex, intent(in) :: Spin_ini_selected(3,2)
double complex, intent(in) :: Scross_selected(3)
double precision, intent(out) :: alpha
double precision, intent(out) :: beta

public subroutine spin_crossterm(inc, rhod, rveig_atom, Spi12, Spi12_atom)

Arguments

Type IntentOptional Attributes Name
type(inc_TYPE), intent(in) :: inc
double complex, intent(in) :: rhod(inc%lmmaxso,inc%lmmaxso,inc%natypd,4)
double complex, intent(in) :: rveig_atom(inc%lmmaxso,inc%natypd,2)
double complex, intent(out) :: Spi12(3)
double complex, intent(out), optional :: Spi12_atom(3,inc%natypd)