| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(out) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in) | :: | box_size_memento | |||
| class(Abstract_Permittivity), | intent(in) | :: | permittivity | |||
| class(Abstract_DES_Convergence_Parameter), | intent(in) | :: | alpha | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(inout) | :: | this |
\[ r \mapsto \frac{1}{4\pi\epsilon} [B(r), C(r)] \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in) | :: | distance | \( r \) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(Abstract_Box_Size_Memento), | private, | pointer | :: | box_size_memento | => | null() | |
| type(Concrete_Potential_Domain), | private | :: | domain | ||||
| real(kind=DP), | private | :: | coulomb | = | 0._DP | ||
| real(kind=DP), | private | :: | alpha_x_box_edge | = | 0._DP |
| procedure(Abstract_construct), public :: construct | |
| procedure(Abstract_destroy), public :: destroy | |
| procedure, public :: target => Abstract_target | |
| procedure(Abstract_reset), public :: reset | |
| procedure, public :: meet => Abstract_meet | |
| procedure(Abstract_expression), private :: expression |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=DP), | private, | dimension(:, :), allocatable | :: | tabulation |
| procedure, public :: target => Abstract_target | |
| procedure, public :: meet => Abstract_meet | |
| procedure, public :: construct => Tabulated_construct | |
| procedure, public :: destroy => Tabulated_destroy | |
| procedure, public :: reset => Tabulated_reset | |
| procedure, private :: set_domain => Tabulated_set_domain | |
| procedure, private :: create_tabulation => Tabulated_create_tabulation | |
| procedure, private :: expression => Tabulated_expression |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=DP), | private | :: | alpha | = | 0._DP | ||
| real(kind=DP), | private | :: | expression_domain_max(2) | = | 0._DP |
| procedure, public :: target => Abstract_target | |
| procedure, public :: meet => Abstract_meet | |
| procedure, public :: construct => Raw_construct | |
| procedure, public :: destroy => Raw_destroy | |
| procedure, public :: reset => Raw_reset | |
| procedure, private :: set_domain => Raw_set_domain | |
| procedure, private :: expression => Raw_expression |
\[ u(\vec{r}_{ij}, \vec{\mu}_i, \vec{\mu}_j) = \frac{1}{4\pi \epsilon} \left[ (\vec{\mu}_i \cdot \vec{\mu}_j) B_\alpha(r_{ij}) - (\vec{\mu}_i \cdot \vec{r}_{ij}) (\vec{\mu}_j \cdot \vec{r}_{ij}) C_\alpha(r_{ij}) \right] \] cf. des_real_B & des_real_C
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in), | dimension(:) | :: | vector_ij | ||
| real(kind=DP), | intent(in), | dimension(:) | :: | moment_i | ||
| real(kind=DP), | intent(in), | dimension(:) | :: | moment_j |
Linear interpolation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in) | :: | distance |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Raw_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in) | :: | distance |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in) | :: | distance |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(in) | :: | this | |||
| real(kind=DP), | intent(in), | dimension(:) | :: | vector_ij | ||
| real(kind=DP), | intent(in), | dimension(:) | :: | moment_i | ||
| real(kind=DP), | intent(in), | dimension(:) | :: | moment_j |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Real_Pair), | intent(inout) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in), | target | :: | box_size_memento |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(out) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in) | :: | box_size_memento | |||
| class(Abstract_Permittivity), | intent(in) | :: | permittivity | |||
| class(Abstract_DES_Convergence_Parameter), | intent(in) | :: | alpha | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(inout) | :: | this | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Tabulated_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Raw_DES_Real_Pair), | intent(out) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in) | :: | box_size_memento | |||
| class(Abstract_Permittivity), | intent(in) | :: | permittivity | |||
| class(Abstract_DES_Convergence_Parameter), | intent(in) | :: | alpha | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
note cf. Tabulated_set_domain
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Raw_DES_Real_Pair), | intent(inout) | :: | this | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Raw_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Raw_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(out) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in) | :: | box_size_memento | |||
| class(Abstract_Permittivity), | intent(in) | :: | permittivity | |||
| class(Abstract_DES_Convergence_Parameter), | intent(in) | :: | alpha | |||
| type(Concrete_Potential_Domain), | intent(in) | :: | domain |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(inout) | :: | this | |||
| class(Abstract_Box_Size_Memento), | intent(in), | target | :: | box_size_memento |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Real_Pair), | intent(inout) | :: | this |