plan 内の全ソース位置を primary cell [target_box_min, target_box_min+L) へ折り返す。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(inout) | :: | plan |
FMM 計画( |
subroutine wrap_src_pos_to_primary_cell(plan) type(fmm_plan_type), intent(inout) :: plan integer(i32) :: i, k, axis real(dp) :: len_k, lo if (.not. plan%options%use_periodic2) return do i = 1_i32, plan%nsrc do k = 1_i32, 2_i32 axis = plan%options%periodic_axes(k) len_k = plan%options%periodic_len(k) lo = plan%options%target_box_min(axis) plan%src_pos(axis, i) = lo + modulo(plan%src_pos(axis, i) - lo, len_k) end do end do end subroutine wrap_src_pos_to_primary_cell