periodic2 の root operator を前計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(inout) | :: | plan |
FMM 計画。 |
subroutine precompute_periodic_root_operator(plan) type(fmm_plan_type), intent(inout) :: plan type(mpi_context) :: mpi if (allocated(plan%periodic_root_target_nodes)) deallocate (plan%periodic_root_target_nodes) if (allocated(plan%periodic_root_operator)) deallocate (plan%periodic_root_operator) plan%periodic_root_operator_ready = .false. plan%periodic_root_target_count = 0_i32 plan%periodic_cache_hit = .false. plan%periodic_cache_fingerprint = '' plan%periodic_cache_path = '' if (use_periodic2_cached_kneq0(plan)) then call mpi_initialize(mpi) call precompute_periodic_cached_operator_collective(plan, mpi) call mpi_shutdown(mpi) end if end subroutine precompute_periodic_root_operator