| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | abort | |||
| type(Concrete_Particle), | intent(out) | :: | particle | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| real(kind=DP), | intent(out) | :: | delta_shared_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | delta_energy |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(Environment_Wrapper), | private, | pointer | :: | environment | => | null() | |
| type(Mixture_Wrapper), | private, | pointer | :: | mixture | => | null() | |
| type(Short_Interactions_Wrapper), | private, | pointer | :: | short_interactions | => | null() | |
| type(Dipolar_Interactions_Dynamic_Wrapper), | private, | pointer | :: | dipolar_interactions_dynamic(:) | => | null() | |
| type(Dipolar_Interactions_Static_Wrapper), | private, | pointer | :: | dipolar_interactions_static(:) | => | null() | |
| type(Changes_Wrapper), | private, | pointer | :: | changes | => | null() | |
| logical, | private, | allocatable | :: | can_exchange(:,:) | |||
| class(Abstract_Tower_Sampler), | private, | allocatable | :: | selectors(:) |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: reset_selectors => Abstract_reset_selectors | |
| procedure, public :: get_num_choices => Abstract_get_num_choices | |
| procedure, public :: try => Abstract_try | |
| procedure, private :: metropolis_algorithm => Abstract_metropolis_algorithm | |
| procedure(Abstract_define_exchange), private :: define_exchange | |
| procedure(Abstract_acceptation_probability), private :: acceptation_probability | |
| procedure(Abstract_visit_walls), private :: visit_walls | |
| procedure(Abstract_visit_short), private :: visit_short | |
| procedure(Abstract_visit_field), private :: visit_field | |
| procedure(Abstract_visit_dipolar), private :: visit_dipolar | |
| procedure(Abstract_update_component), private :: update_component | |
| procedure(Abstract_increment_hit), private, nopass :: increment_hit | |
| procedure(Abstract_increment_success), private, nopass :: increment_success |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: reset_selectors => Abstract_reset_selectors | |
| procedure, public :: get_num_choices => Abstract_get_num_choices | |
| procedure, public :: try => Abstract_try | |
| procedure, private :: define_exchange => Add_define_exchange | |
| procedure, private :: acceptation_probability => Add_acceptation_probability | |
| procedure, private :: visit_walls => Add_visit_walls | |
| procedure, private :: visit_short => Add_visit_short | |
| procedure, private :: visit_field => Add_visit_field | |
| procedure, private :: visit_dipolar => Add_visit_dipolar | |
| procedure, private :: update_component => Add_update_component | |
| procedure, private, nopass :: increment_hit => Add_increment_hit | |
| procedure, private, nopass :: increment_success => Add_increment_success |
| procedure, public :: construct => Abstract_construct | |
| procedure, public :: destroy => Abstract_destroy | |
| procedure, public :: reset_selectors => Abstract_reset_selectors | |
| procedure, public :: get_num_choices => Abstract_get_num_choices | |
| procedure, public :: try => Abstract_try | |
| procedure, private :: define_exchange => Remove_define_exchange | |
| procedure, private :: acceptation_probability => Remove_acceptation_probability | |
| procedure, private :: visit_walls => Remove_visit_walls | |
| procedure, private :: visit_short => Remove_visit_short | |
| procedure, private :: visit_field => Remove_visit_field | |
| procedure, private :: visit_dipolar => Remove_visit_dipolar | |
| procedure, private :: update_component => Remove_update_component | |
| procedure, private, nopass :: increment_hit => Remove_increment_hit | |
| procedure, private, nopass :: increment_success => Remove_increment_success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this |
\[ P[N \to N+1] = \min \left( 1, \frac{V \rho}{N+1} e^{-\beta \Delta U_{N \to N+1}} a^{N} \right) \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | delta_energy |
\[ P[N \to N-1] = \min \left( 1, \frac{N}{V \rho} e^{-\beta \Delta U_{N \to N-1}} a^{-N} \right) \]
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| real(kind=DP), | intent(in) | :: | delta_energy |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(out) | :: | this | |||
| type(Environment_Wrapper), | intent(in), | target | :: | environment | ||
| type(Mixture_Wrapper), | intent(in), | target | :: | mixture | ||
| type(Short_Interactions_Wrapper), | intent(in), | target | :: | short_interactions | ||
| type(Dipolar_Interactions_Dynamic_Wrapper), | intent(in), | target | :: | dipolar_interactions_dynamic(:) | ||
| type(Dipolar_Interactions_Static_Wrapper), | intent(in), | target | :: | dipolar_interactions_static(:) | ||
| type(Changes_Wrapper), | intent(in), | target | :: | changes | ||
| logical, | intent(in) | :: | can_exchange(:,:) | |||
| class(Abstract_Tower_Sampler), | intent(in) | :: | selectors(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| type(Generating_Observables_Wrapper), | intent(inout) | :: | observables |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Abstract_Box_Particle_Exchange), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | success | |||
| type(Concrete_Single_Energies), | intent(inout) | :: | deltas | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | abort | |||
| type(Concrete_Particle), | intent(out) | :: | particle | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| real(kind=DP), | intent(out) | :: | delta_shared_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Add), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | abort | |||
| type(Concrete_Particle), | intent(out) | :: | particle | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| logical, | intent(out) | :: | overlap | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energy | |||
| integer, | intent(in) | :: | i_box | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| real(kind=DP), | intent(out) | :: | delta_energies(:) | |||
| real(kind=DP), | intent(out) | :: | delta_shared_energy | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Box_Particle_Remove), | intent(in) | :: | this | |||
| integer, | intent(in) | :: | i_box | |||
| integer, | intent(in) | :: | i_component | |||
| type(Concrete_Particle), | intent(in) | :: | particle |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(Concrete_Changes_Counter), | intent(inout) | :: | changes_counters |