mesh_type や sim_config に依存しない Coulomb FMM コア API。
FMM 計画を構築する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(inout) | :: | plan |
構築先の計画。 |
||
| real(kind=dp), | intent(in) | :: | src_pos(:,:) | |||
| type(fmm_options_type), | intent(in) | :: | options |
FMM 設定。 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(inout) | :: | plan | |||
| real(kind=dp), | intent(in) | :: | v0(:,:) | |||
| real(kind=dp), | intent(in) | :: | v1(:,:) | |||
| real(kind=dp), | intent(in) | :: | v2(:,:) | |||
| type(fmm_options_type), | intent(in) | :: | options |
ソース電荷から FMM state を更新する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
構築済みの FMM 計画。 |
||
| type(fmm_state_type), | intent(inout) | :: | state |
更新対象の state。 |
||
| real(kind=dp), | intent(in) | :: | src_q(:) |
複数の評価点で電場を計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
構築済みの FMM 計画。 |
||
| type(fmm_state_type), | intent(inout) | :: | state |
評価に使う FMM state。 |
||
| real(kind=dp), | intent(in) | :: | target_pos(:,:) | |||
| real(kind=dp), | intent(out) | :: | e(:,:) |
複数の評価点で全ソースの直接和による電場を計算する(非周期のみ)。 Coulomb 係数は含まない。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan | |||
| type(fmm_state_type), | intent(inout) | :: | state | |||
| real(kind=dp), | intent(in) | :: | target_pos(:,:) | |||
| real(kind=dp), | intent(out) | :: | e(:,:) |
1 点で電場を計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
構築済みの FMM 計画。 |
||
| type(fmm_state_type), | intent(inout) | :: | state |
評価に使う FMM state。 |
||
| real(kind=dp), | intent(in) | :: | r(3) | |||
| real(kind=dp), | intent(out) | :: | e(3) |
複数の評価点で電位を計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
構築済みの FMM 計画。 |
||
| type(fmm_state_type), | intent(inout) | :: | state |
評価に使う FMM state。 |
||
| real(kind=dp), | intent(in) | :: | target_pos(:,:) | |||
| real(kind=dp), | intent(out) | :: | phi(:) |
複数の評価点で全ソースの直接和による電位を計算する(非周期のみ)。 Coulomb 係数は含まない。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan | |||
| type(fmm_state_type), | intent(inout) | :: | state | |||
| real(kind=dp), | intent(in) | :: | target_pos(:,:) | |||
| real(kind=dp), | intent(out) | :: | phi(:) |
1 点で電位を計算する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(in) | :: | plan |
構築済みの FMM 計画。 |
||
| type(fmm_state_type), | intent(inout) | :: | state |
評価に使う FMM state。 |
||
| real(kind=dp), | intent(in) | :: | r(3) | |||
| real(kind=dp), | intent(out) | :: | phi |
電位 [V]( |
FMM 計画を解放する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_plan_type), | intent(inout) | :: | plan |
解放対象の計画。 |
FMM state を解放する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(fmm_state_type), | intent(inout) | :: | state |
解放対象の state。 |