Octopus
|
abstract interaction class More...
abstract interaction class
This class handles the exchange of couplings from an interaction partner to a system. It can then combine those couplings with information from the system itself to calculate the interaction as needed by the system. This means that the interaction needs to know a list of couplings it requires from the partner and a list of quantities needed from the system.
This class has no explicit constructor, but objects are generated using interactions_factory_create().
Definition at line 224 of file interaction.F90.
Private Member Functions | |
procedure(interaction_calculate), deferred | calculate |
procedure(interaction_calculate_energy), deferred | calculate_energy |
procedure | update => interaction_update |
Update the interaction to the requested_iteration. More... | |
procedure | update_partner_couplings => interaction_update_partner_couplings |
Try to update all the couplings needed from the partner to update the interaction. More... | |
procedure | restart_read => interaction_restart_read |
read restart information More... | |
procedure | restart_write => interaction_restart_write |
Private Attributes | |
type(iteration_counter_t) | iteration |
Iteration counter storing the iteration at which the interaction was last updated. More... | |
character(len=:), allocatable | label |
label of an interaction, used for debug and restart More... | |
logical | intra_interaction |
Is this an interaction of a system with itself? More... | |
integer | timing |
parameter to determine if the interaction should use the couplings at the exact requested iteration or if retardation is allowed More... | |
real(real64) | energy |
Energy associated with the interaction. More... | |
integer, dimension(:), allocatable | system_quantities |
Identifiers of the quantities needed from the system. More... | |
class(interaction_partner_t), pointer | partner => NULL() |
integer, dimension(:), allocatable | couplings_from_partner |
Identifiers of the quantities needed from the partner. More... | |
logical | partner_couplings_up_to_date = .false. |
Have the partner couplings been updated yet? More... | |
|
private |
Definition at line 242 of file interaction.F90.
|
private |
Definition at line 243 of file interaction.F90.
|
private |
Update the interaction to the requested_iteration.
Definition at line 244 of file interaction.F90.
|
private |
Try to update all the couplings needed from the partner to update the interaction.
Definition at line 245 of file interaction.F90.
|
private |
|
private |
Definition at line 247 of file interaction.F90.
|
private |
Iteration counter storing the iteration at which the interaction was last updated.
Definition at line 226 of file interaction.F90.
|
private |
label of an interaction, used for debug and restart
Definition at line 227 of file interaction.F90.
|
private |
Is this an interaction of a system with itself?
Definition at line 228 of file interaction.F90.
|
private |
parameter to determine if the interaction should use the couplings at the exact requested iteration or if retardation is allowed
Definition at line 229 of file interaction.F90.
|
private |
Energy associated with the interaction.
Definition at line 231 of file interaction.F90.
|
private |
Identifiers of the quantities needed from the system.
Definition at line 234 of file interaction.F90.
|
private |
Definition at line 237 of file interaction.F90.
|
private |
Identifiers of the quantities needed from the partner.
Definition at line 238 of file interaction.F90.
|
private |
Have the partner couplings been updated yet?
Definition at line 239 of file interaction.F90.