initialize_fmm_state Subroutine

public subroutine initialize_fmm_state(state)

FMM state のポインタ成分を未関連状態へ初期化する。

Arguments

Type IntentOptional Attributes Name
type(fmm_state_type), intent(inout) :: state

初期化対象の FMM state。


Called by

proc~~initialize_fmm_state~~CalledByGraph proc~initialize_fmm_state initialize_fmm_state proc~core_update_state_impl core_update_state_impl proc~core_update_state_impl->proc~initialize_fmm_state proc~reset_fmm_state reset_fmm_state proc~reset_fmm_state->proc~initialize_fmm_state proc~core_destroy_state_impl core_destroy_state_impl proc~core_destroy_state_impl->proc~reset_fmm_state

Source Code

  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