![]()  | 
  
    Octopus
    
   | 
 
class defining the field_transfer interaction More...
class defining the field_transfer interaction
It contains the field from the partner (partner_field) and the one transferred to the system (system_field). Moreover, it contains data structures for regridding and time interpolation.
Definition at line 169 of file field_transfer.F90.

Public Attributes | |
| real(real64), dimension(:,:), allocatable, public | partner_field | 
| field from partner  More... | |
| real(real64), dimension(:,:), allocatable, public | system_field | 
| field transferred to system grid  More... | |
| type(grid_t), pointer, public | system_gr => NULL() | 
| pointer to grid of the system  More... | |
| type(regridding_t), pointer, public | regridding => NULL() | 
| type(time_interpolation_t), pointer, public | interpolation => NULL() | 
| integer, public | ndim | 
| logical, public | interpolation_initialized = .false. | 
Private Member Functions | |
| procedure | init => field_transfer_init | 
| the system field is allocated and initialized to 0  More... | |
| procedure | init_from_partner => field_transfer_init_from_partner | 
| the partner field is allocated and initialized to 0; moreover the regridding structure is initialized  More... | |
| procedure | init_interpolation => field_transfer_init_interpolation | 
| the time interpolation is initialized; it needs to know the depth which is usually given by the order of the propagator; thus it can only be called after the propagator is known (this can be done in the system in init_algorithm)  More... | |
| procedure | calculate => field_transfer_calculate | 
| procedure | do_mapping => field_transfer_do_mapping | 
| perform the regridding and add the system field to the time interpolator using the time of the quantity at this point;  More... | |
| procedure | dfield_transfer_interpolate | 
| zfield_transfer_interpolate | |
| generic | interpolate => dfield_transfer_interpolate, zfield_transfer_interpolate | 
| return the interpolated field for a given time  More... | |
| procedure | calculate_energy => field_transfer_calculate_energy | 
| procedure | read_restart => field_transfer_read_restart | 
| procedure | write_restart => field_transfer_write_restart | 
| procedure | end => field_transfer_end | 
      
  | 
  private | 
the system field is allocated and initialized to 0
Definition at line 180 of file field_transfer.F90.
      
  | 
  private | 
the partner field is allocated and initialized to 0; moreover the regridding structure is initialized
Definition at line 182 of file field_transfer.F90.
      
  | 
  private | 
the time interpolation is initialized; it needs to know the depth which is usually given by the order of the propagator; thus it can only be called after the propagator is known (this can be done in the system in init_algorithm)
Definition at line 184 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 186 of file field_transfer.F90.
      
  | 
  private | 
perform the regridding and add the system field to the time interpolator using the time of the quantity at this point;
it is called by the partner system when copying its data to the interaction because the system grid does not change Note: this needs an extra function call for each of the partner systems in their copy_quantities_to_interaction function
Definition at line 188 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 190 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 190 of file field_transfer.F90.
      
  | 
  private | 
return the interpolated field for a given time
Definition at line 191 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 193 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 195 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 197 of file field_transfer.F90.
      
  | 
  private | 
Definition at line 199 of file field_transfer.F90.
| real(real64), dimension(:,:), allocatable, public field_transfer_oct_m::field_transfer_t::partner_field | 
field from partner
Definition at line 171 of file field_transfer.F90.
| real(real64), dimension(:,:), allocatable, public field_transfer_oct_m::field_transfer_t::system_field | 
field transferred to system grid
Definition at line 172 of file field_transfer.F90.
| type(grid_t), pointer, public field_transfer_oct_m::field_transfer_t::system_gr => NULL() | 
pointer to grid of the system
Definition at line 173 of file field_transfer.F90.
| type(regridding_t), pointer, public field_transfer_oct_m::field_transfer_t::regridding => NULL() | 
Definition at line 174 of file field_transfer.F90.
| type(time_interpolation_t), pointer, public field_transfer_oct_m::field_transfer_t::interpolation => NULL() | 
Definition at line 175 of file field_transfer.F90.
| integer, public field_transfer_oct_m::field_transfer_t::ndim | 
Definition at line 176 of file field_transfer.F90.
| logical, public field_transfer_oct_m::field_transfer_t::interpolation_initialized = .false. | 
Definition at line 177 of file field_transfer.F90.