periodic2 領域内へ点座標を折り返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
FMM 計画。 |
||
| real(kind=dp), | intent(inout) | :: | p(3) |
subroutine wrap_periodic2_point(plan, p) type(fmm_plan_type), intent(in) :: plan real(dp), intent(inout) :: p(3) integer(i32) :: k, axis if (.not. plan%options%use_periodic2) return do k = 1_i32, 2_i32 axis = plan%options%periodic_axes(k) p(axis) = plan%options%target_box_min(axis) & + modulo(p(axis) - plan%options%target_box_min(axis), plan%options%periodic_len(k)) end do end subroutine wrap_periodic2_point