bem_coulomb_fmm_periodic_ewald Module

periodic2 build-only Ewald oracle と fallback exact correction。


Uses

  • module~~bem_coulomb_fmm_periodic_ewald~~UsesGraph module~bem_coulomb_fmm_periodic_ewald bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_periodic bem_coulomb_fmm_periodic module~bem_coulomb_fmm_periodic_ewald->module~bem_coulomb_fmm_periodic module~bem_coulomb_fmm_types bem_coulomb_fmm_types module~bem_coulomb_fmm_periodic_ewald->module~bem_coulomb_fmm_types module~bem_kinds bem_kinds module~bem_coulomb_fmm_periodic_ewald->module~bem_kinds module~bem_coulomb_fmm_periodic->module~bem_coulomb_fmm_types module~bem_coulomb_fmm_periodic->module~bem_kinds module~bem_coulomb_fmm_types->module~bem_kinds iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env

Used by

  • module~~bem_coulomb_fmm_periodic_ewald~~UsedByGraph module~bem_coulomb_fmm_periodic_ewald bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_eval_ops bem_coulomb_fmm_eval_ops module~bem_coulomb_fmm_eval_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_periodic_root_ops bem_coulomb_fmm_periodic_root_ops module~bem_coulomb_fmm_periodic_root_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_plan_ops bem_coulomb_fmm_plan_ops module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_plan_ops->module~bem_coulomb_fmm_periodic_root_ops module~bem_field_solver_eval bem_field_solver_eval module~bem_field_solver_eval->module~bem_coulomb_fmm_periodic_ewald module~bem_coulomb_fmm_core_build bem_coulomb_fmm_core_build module~bem_coulomb_fmm_core_build->module~bem_coulomb_fmm_plan_ops module~bem_coulomb_fmm_core_eval bem_coulomb_fmm_core_eval module~bem_coulomb_fmm_core_eval->module~bem_coulomb_fmm_eval_ops

Functions

public function resolve_periodic2_ewald_alpha(plan)

periodic2 Ewald の減衰係数 alpha を決定する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

Return Value real(kind=dp)


Subroutines

public subroutine precompute_periodic2_ewald_data(plan)

periodic2 Ewald の事前計算データを作成する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(inout) :: plan

FMM 計画。

public subroutine add_periodic2_exact_ewald_correction_all_sources(plan, state, target, e)

全ソース分の periodic2 Ewald 補正を加算する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

type(fmm_state_type), intent(in) :: state

ソース電荷を含む state。

real(kind=dp), intent(in) :: target(3)
real(kind=dp), intent(inout) :: e(3)

public subroutine add_periodic2_exact_ewald_potential_correction_all_sources(plan, state, target, phi)

全ソース分の periodic2 Ewald の電位補正を加算する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

type(fmm_state_type), intent(in) :: state

ソース電荷を含む state。

real(kind=dp), intent(in) :: target(3)
real(kind=dp), intent(inout) :: phi

電位。

public subroutine add_periodic2_exact_ewald_correction_single_source(plan, q, src, target, e)

1 粒子分の periodic2 Ewald 補正を加算する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

real(kind=dp), intent(in) :: q

電荷量。

real(kind=dp), intent(in) :: src(3)
real(kind=dp), intent(in) :: target(3)
real(kind=dp), intent(inout) :: e(3)

public subroutine add_periodic2_exact_ewald_potential_correction_single_source(plan, q, src, target, phi)

1 粒子分の periodic2 Ewald の電位補正を加算する。

Arguments

Type IntentOptional Attributes Name
type(fmm_plan_type), intent(in) :: plan

FMM 計画。

real(kind=dp), intent(in) :: q

電荷量。

real(kind=dp), intent(in) :: src(3)
real(kind=dp), intent(in) :: target(3)
real(kind=dp), intent(inout) :: phi

電位。