| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | in_orb | |||
| character(len=1), | intent(in) | :: | mirror_axis |
function mirror_orb(in_orb, mirror_axis) result(out_orb) ! function to actually apply the mirroring to an orbital integer, intent(in) :: in_orb character(1), intent(in) :: mirror_axis integer :: out_orb #ifdef DEBUG_ character(*), parameter :: this_routine = "mirror_orb" #endif integer :: vec(3), mir_vec(3) ASSERT(associated(lat)) if (mirror_axis == '0') then out_orb = in_orb return end if if (lat%is_k_space()) then vec = lat%get_k_vec(in_orb) else vec = lat%get_r_vec(in_orb) end if mir_vec = mirror(vec, mirror_axis) out_orb = lat%get_orb_from_k_vec(mir_vec) end function mirror_orb