| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | ij_components(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_2(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_1(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) | |||
| real(kind=DP), | intent(in) | :: | signed |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(Abstract_Periodic_Box), | private, | pointer | :: | periodic_box | => | null() | |
| real(kind=DP), | private | :: | permittivity | = | 0._DP | ||
| class(Abstract_Mixture_Total_Moment), | private, | pointer | :: | total_moment | => | null() |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure(Abstract_visit), public :: visit | |
| procedure(Abstract_visit_transmutation), public :: visit_transmutation | |
| procedure, public :: visit_rotation => Abstract_visit_rotation | |
| procedure, public :: visit_add => Abstract_visit_add | |
| procedure, public :: visit_remove => Abstract_visit_remove | |
| procedure(Abstract_visit_exchange), private :: visit_exchange |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: visit_rotation => Abstract_visit_rotation | |
| procedure, public :: visit_add => Abstract_visit_add | |
| procedure, public :: visit_remove => Abstract_visit_remove | |
| procedure, public :: visit => Spherical_visit | |
| procedure, public :: visit_transmutation => Spherical_visit_transmutation | |
| procedure, private :: visit_exchange => Spherical_visit_exchange |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: visit_rotation => Abstract_visit_rotation | |
| procedure, public :: visit_add => Abstract_visit_add | |
| procedure, public :: visit_remove => Abstract_visit_remove | |
| procedure, public :: visit => Rectangular_visit | |
| procedure, public :: visit_transmutation => Rectangular_visit_transmutation | |
| procedure, private :: visit_exchange => Rectangular_visit_exchange |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: visit_rotation => Abstract_visit_rotation | |
| procedure, public :: visit_add => Abstract_visit_add | |
| procedure, public :: visit_remove => Abstract_visit_remove | |
| procedure, public :: visit => Null_visit | |
| procedure, public :: visit_transmutation => Null_visit_transmutation | |
| procedure, private :: visit_exchange => Null_visit_exchange |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_2(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_1(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) |
\[ U = \frac{1}{6\epsilon V} \vec{M}^2 \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Spherical_DES_Surf_Mixture), | intent(in) | :: | this |
\[ \Delta U = \frac{1}{6\epsilon V} [ (\vec{\mu}^\prime_\mathsf{i} \cdot \vec{\mu}^\prime_\mathsf{i}) - (\vec{\mu}_\mathsf{i} \cdot \vec{\mu}_\mathsf{i}) + 2 (\vec{\mu}^\prime_\mathsf{i} - \vec{\mu}_\mathsf{i}) \cdot (\vec{M} - \vec{\mu}_\mathsf{i}) ] \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Spherical_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | ij_components(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_2(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_1(:) |
\[ \Delta U = \frac{1}{6\epsilon V} [ (\vec{\mu} \cdot \vec{\mu}) \pm 2(\vec{\mu} \cdot \vec{M}) ] \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Spherical_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) | |||
| real(kind=DP), | intent(in) | :: | signed |
\[ U = \frac{1}{2\epsilon V} M_z^2 \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Rectangular_DES_Surf_Mixture), | intent(in) | :: | this |
\[ \Delta U = \frac{1}{2\epsilon V} [ \mu^{\prime 2}_z - \mu_z^2 + 2(\mu^\prime_z - \mu_z)(M_z - \mu_z) ] \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Rectangular_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | ij_components(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_2(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_1(:) |
\[ \Delta U = \frac{1}{2\epsilon V}[\mu_z^2 \pm 2 \mu_z M_z] \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Rectangular_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) | |||
| real(kind=DP), | intent(in) | :: | signed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Surf_Mixture), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | ij_components(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_2(:) | |||
| real(kind=DP), | intent(in) | :: | dipole_moment_1(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_DES_Surf_Mixture), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | dipole_moment(:) | |||
| real(kind=DP), | intent(in) | :: | signed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(out) | :: | this | |||
| class(Abstract_Periodic_Box), | intent(in), | target | :: | periodic_box | ||
| class(Abstract_Permittivity), | intent(in) | :: | permittivity | |||
| class(Abstract_Mixture_Total_Moment), | intent(in), | target | :: | total_moment |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_DES_Surf_Mixture), | intent(inout) | :: | this |