inversion_orb Function

public function inversion_orb(in_orb) result(out_orb)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: in_orb

Return Value integer


Contents

Source Code


Source Code

    function inversion_orb(in_orb) result(out_orb)
        integer, intent(in) :: in_orb
        integer :: out_orb
#ifdef DEBUG_
        character(*), parameter :: this_routine = "inversion_orb"
#endif
        integer :: vec(3), inv_vec(3)

        ASSERT(associated(lat))

        if (lat%is_k_space()) then
            vec = lat%get_k_vec(in_orb)
        else
            vec = lat%get_r_vec(in_orb)
        end if

        inv_vec = inversion(vec)

        out_orb = lat%get_orb_from_k_vec(inv_vec)

    end function inversion_orb