![]()  | 
  
    Octopus
    
   | 
 
Implementation details for regridding. More...
Implementation details for regridding.
Restriction and prolongation are chosen such that they are adjoint operators.
Simple mapping:
Restriction: mapping from fine to coarse meshes.
The strategy is as follows:
Prolongation: mapping from coarse to fine meshes using linear interpolation in nd space
The strategy is slightly different from the restriction operator:
Data Types | |
| interface | regridding_t | 
| contains the information of the meshes and provides the transfer functions  More... | |
Functions/Subroutines | |
| class(regridding_t) function, pointer | regridding_init (mesh_out, mesh_in, space_in, namespace) | 
| Generate a re-mapping of points from mesh_in to mesh_out.  More... | |
| subroutine | regridding_finalize (this) | 
| subroutine | dregridding_do_transfer_1 (this, ff_out, ff_in) | 
| transfer fields of rank 1  More... | |
| subroutine | dregridding_do_transfer_2 (this, ff_out, ff_in) | 
| transfer fields of rank 2  More... | |
| subroutine | zregridding_do_transfer_1 (this, ff_out, ff_in) | 
| transfer fields of rank 1  More... | |
| subroutine | zregridding_do_transfer_2 (this, ff_out, ff_in) | 
| transfer fields of rank 2  More... | |
Variables | |
| integer, parameter | linear = 0 | 
| integer, parameter | nearest_neighbor = 1 | 
| integer, parameter | scale_none = 0 | 
| integer, parameter | scale_norm2 = 1 | 
| class(regridding_t) function, pointer regridding_oct_m::regridding_init | ( | class(mesh_t), intent(in), target | mesh_out, | 
| class(mesh_t), intent(in), target | mesh_in, | ||
| class(space_t), intent(in) | space_in, | ||
| type(namespace_t), intent(in) | namespace | ||
| ) | 
Generate a re-mapping of points from mesh_in to mesh_out.
Definition at line 221 of file regridding.F90.
| subroutine regridding_oct_m::regridding_finalize | ( | type(regridding_t), intent(inout) | this | ) | 
Definition at line 534 of file regridding.F90.
| subroutine regridding_oct_m::dregridding_do_transfer_1 | ( | class(regridding_t), intent(in) | this, | 
| real(real64), dimension(:), intent(inout) | ff_out, | ||
| real(real64), dimension(:), intent(in) | ff_in | ||
| ) | 
transfer fields of rank 1
Definition at line 601 of file regridding.F90.
| subroutine regridding_oct_m::dregridding_do_transfer_2 | ( | class(regridding_t), intent(in) | this, | 
| real(real64), dimension(:, :), intent(inout) | ff_out, | ||
| real(real64), dimension(:, :), intent(in) | ff_in | ||
| ) | 
transfer fields of rank 2
Definition at line 754 of file regridding.F90.
| subroutine regridding_oct_m::zregridding_do_transfer_1 | ( | class(regridding_t), intent(in) | this, | 
| complex(real64), dimension(:), intent(inout) | ff_out, | ||
| complex(real64), dimension(:), intent(in) | ff_in | ||
| ) | 
transfer fields of rank 1
Definition at line 842 of file regridding.F90.
| subroutine regridding_oct_m::zregridding_do_transfer_2 | ( | class(regridding_t), intent(in) | this, | 
| complex(real64), dimension(:, :), intent(inout) | ff_out, | ||
| complex(real64), dimension(:, :), intent(in) | ff_in | ||
| ) | 
transfer fields of rank 2
Definition at line 995 of file regridding.F90.
| integer, parameter regridding_oct_m::linear = 0 | 
Definition at line 211 of file regridding.F90.
| integer, parameter regridding_oct_m::nearest_neighbor = 1 | 
Definition at line 211 of file regridding.F90.
| integer, parameter regridding_oct_m::scale_none = 0 | 
Definition at line 211 of file regridding.F90.
| integer, parameter regridding_oct_m::scale_norm2 = 1 | 
Definition at line 211 of file regridding.F90.