Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lattice), | intent(in) | :: | this | |||
integer, | intent(in) | :: | k_1(3) | |||
integer, | intent(in) | :: | k_2(3) |
pure function add_k_vec(this, k_1, k_2) result(k_out)
class(lattice), intent(in) :: this
integer, intent(in) :: k_1(3), k_2(3)
integer :: k_out(3)
#ifdef DEBUG_
character(*), parameter :: this_routine = "add_k_vec"
#endif
ASSERT(allocated(this%mult_table))
ASSERT(allocated(this%k_to_sym))
k_out = this%sym_to_k(this%mult_table( &
this%k_to_sym(k_1(1), k_1(2), k_1(3)), &
this%k_to_sym(k_2(1), k_2(2), k_2(3))), :)
end function add_k_vec