| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Hard_Contact), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | contact | |||
| real(kind=DP), | intent(in) | :: | min_distance | \( \sigma \) |
||
| real(kind=DP), | intent(in) | :: | vector(:) | \( \vec{r} \) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(out) | :: | can_overlap | if the volume changes |
||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | ratio | |||
| real(kind=DP), | intent(in) | :: | min_distance | \( \sigma \) |
||
| real(kind=DP), | intent(in) | :: | vector(:) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| class(Abstract_Dirac_Distribution_Plus), | private, | allocatable | :: | dirac_plus |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: get_width => Abstract_get_width | |
| generic, public :: meet => meet_contact, meet_min_distance | |
| procedure(Abstract_meet_contact), private :: meet_contact | |
| procedure(Abstract_meet_min_distance), private, nopass :: meet_min_distance |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: get_width => Abstract_get_width | |
| generic, public :: meet => meet_contact, meet_min_distance | |
| procedure, private :: meet_contact => XYZ_meet_contact | |
| procedure, private, nopass :: meet_min_distance => XYZ_meet_min_distance |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: get_width => Abstract_get_width | |
| generic, public :: meet => meet_contact, meet_min_distance | |
| procedure, private :: meet_contact => XY_meet_contact | |
| procedure, private, nopass :: meet_min_distance => XY_meet_min_distance |
| generic, public :: meet => meet_contact, meet_min_distance | |
| procedure, public :: construct => Null_construct | |
| procedure, public :: destroy => Null_destroy | |
| procedure, public :: get_width => Null_get_width | |
| procedure, private :: meet_contact => Null_meet_contact | |
| procedure, private, nopass :: meet_min_distance => Null_meet_min_distance |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Hard_Contact), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_Hard_Contact), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Hard_Contact), | intent(out) | :: | this | |||
| class(Abstract_Dirac_Distribution_Plus), | intent(in) | :: | dirac_plus |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Hard_Contact), | intent(inout) | :: | this |
\[ \sigma (r = \sigma_+) \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XYZ_Hard_Contact), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | contact | |||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(out) | :: | can_overlap | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | ratio | (\ \frac{r}{\sigma} ) |
||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |
\[ \frac{\sigma^2 - z^2}{\sigma} (r = \sigma_+) \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XY_Hard_Contact), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | contact | |||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(out) | :: | can_overlap | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | ratio | (\ \frac{r_{1:2}}{\sigma} ) |
||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_Hard_Contact), | intent(out) | :: | this | |||
| class(Abstract_Dirac_Distribution_Plus), | intent(in) | :: | dirac_plus |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_Hard_Contact), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Null_Hard_Contact), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | contact | |||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(out) | :: | can_overlap | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | ratio | |||
| real(kind=DP), | intent(in) | :: | min_distance | |||
| real(kind=DP), | intent(in) | :: | vector(:) |