point を primary cell へ折り返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | point(3) | |||
| real(kind=dp), | intent(in) | :: | box_min(3) | |||
| integer(kind=i32), | intent(in) | :: | periodic_axes(2) | |||
| real(kind=dp), | intent(in) | :: | periodic_len(2) |
subroutine wrap_periodic2_point(point, box_min, periodic_axes, periodic_len) real(dp), intent(inout) :: point(3) real(dp), intent(in) :: box_min(3), periodic_len(2) integer(i32), intent(in) :: periodic_axes(2) integer(i32) :: iaxis do iaxis = 1, 2 point(periodic_axes(iaxis)) = box_min(periodic_axes(iaxis)) + & modulo(point(periodic_axes(iaxis)) - box_min(periodic_axes(iaxis)), periodic_len(iaxis)) end do end subroutine wrap_periodic2_point