| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(tilted) | :: | this | ||||
| integer, | intent(in) | :: | k_vec(3) |
function dispersion_rel_tilted(this, k_vec) result(disp) class(tilted) :: this integer, intent(in) :: k_vec(3) real(dp) :: disp #ifdef DEBUG_ character(*), parameter :: this_routine = "dispersion_rel_tilted" #endif ASSERT(this%is_periodic()) ! todo: i have to check if this also still holds for the ! rectangular tilted lattice! ! after some more consideration i believe this is the correct: ! although now i am not sure about the twist anymore... check that! disp = 2.0_dp * (cos(pi * ((k_vec(1) + twisted_bc(1)) / this%length(1) & + (k_vec(2) + twisted_bc(2)) / this%length(2))) & + cos(pi * ((k_vec(1) + twisted_bc(1)) / this%length(1) & - (k_vec(2) + twisted_bc(2)) / this%length(2)))) end function dispersion_rel_tilted