FMM state のポインタ成分を未関連状態へ初期化する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_state_type), | intent(inout) | :: | state |
初期化対象の FMM state。 |
subroutine initialize_fmm_state(state) type(fmm_state_type), intent(inout) :: state nullify (state%src_q) nullify (state%multipole) nullify (state%local) nullify (state%multipole_active) nullify (state%local_active) state%ready = .false. state%update_count = 0_i32 if (allocated(state%periodic_k0_state%cumulative_charge_coeff)) then deallocate (state%periodic_k0_state%cumulative_charge_coeff) end if if (allocated(state%periodic_k0_state%primitive_at_break)) deallocate (state%periodic_k0_state%primitive_at_break) if (allocated(state%periodic_k0_state%sheet_charge)) deallocate (state%periodic_k0_state%sheet_charge) state%periodic_k0_state%e_bottom = 0.0_dp state%periodic_k0_state%z_gauge = 0.0_dp state%periodic_k0_state%phi_gauge = 0.0_dp state%periodic_k0_state%total_charge = 0.0_dp end subroutine initialize_fmm_state