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.