![]()  | 
  
    Octopus
    
   | 
 
Data Types | |
| type | multigrid_level_t | 
| type | multigrid_t | 
Functions/Subroutines | |
| subroutine, public | multigrid_init (mgrid, namespace, space, mesh, der, stencil, mc, nlevels) | 
| subroutine, public | multigrid_get_transfer_tables (tt, space, fine, coarse) | 
| creates the lookup tables to go between the coarse and fine meshes  More... | |
| subroutine, public | multigrid_mesh_half (space, namespace, mesh_in, mesh_out, stencil) | 
| Creates a mesh that has twice the spacing betwen the points than the in mesh. This is used in the multi-grid routines.  More... | |
| subroutine, public | multigrid_mesh_double (space, namespace, mesh_in, mesh_out, stencil) | 
| subroutine, public | multigrid_end (mgrid) | 
| integer function, public | multigrid_number_of_levels (base_der) | 
| subroutine, public | dmultigrid_coarse2fine (tt, coarse_der, fine_mesh, f_coarse, f_fine, order, set_bc) | 
| subroutine, public | dmultigrid_fine2coarse (tt, fine_der, coarse_mesh, f_fine, f_coarse, method_p) | 
| subroutine | dmultigrid_injection (tt, f_fine, f_coarse) | 
| subroutine | dmultigrid_restriction (tt, fine_der, coarse_mesh, f_fine, f_coarse, set_bc) | 
| subroutine, public | dmultigrid_coarse2fine_batch (tt, coarse_der, fine_mesh, coarseb, fineb, order) | 
| subroutine, public | dmultigrid_fine2coarse_batch (tt, fine_der, coarse_mesh, fineb, coarseb, method_p) | 
| subroutine | dmultigrid_restriction_batch (tt, fine_der, coarse_mesh, fineb, coarseb) | 
| subroutine, public | zmultigrid_coarse2fine (tt, coarse_der, fine_mesh, f_coarse, f_fine, order, set_bc) | 
| subroutine, public | zmultigrid_fine2coarse (tt, fine_der, coarse_mesh, f_fine, f_coarse, method_p) | 
| subroutine | zmultigrid_injection (tt, f_fine, f_coarse) | 
| subroutine | zmultigrid_restriction (tt, fine_der, coarse_mesh, f_fine, f_coarse, set_bc) | 
| subroutine, public | zmultigrid_coarse2fine_batch (tt, coarse_der, fine_mesh, coarseb, fineb, order) | 
| subroutine, public | zmultigrid_fine2coarse_batch (tt, fine_der, coarse_mesh, fineb, coarseb, method_p) | 
| subroutine | zmultigrid_restriction_batch (tt, fine_der, coarse_mesh, fineb, coarseb) | 
Variables | |
| integer, parameter, public | injection = 1 | 
| integer, parameter, public | fullweight = 2 | 
| subroutine, public multigrid_oct_m::multigrid_init | ( | type(multigrid_t), intent(out), target | mgrid, | 
| type(namespace_t), intent(in) | namespace, | ||
| class(space_t), intent(in) | space, | ||
| class(mesh_t), intent(in), target | mesh, | ||
| type(derivatives_t), intent(in), target | der, | ||
| type(stencil_t), intent(in) | stencil, | ||
| type(multicomm_t), intent(in) | mc, | ||
| integer, intent(in), optional | nlevels | ||
| ) | 
Definition at line 183 of file multigrid.F90.
| subroutine, public multigrid_oct_m::multigrid_get_transfer_tables | ( | type(transfer_table_t), intent(inout) | tt, | 
| class(space_t), intent(in) | space, | ||
| type(mesh_t), intent(in) | fine, | ||
| type(mesh_t), intent(in) | coarse | ||
| ) | 
creates the lookup tables to go between the coarse and fine meshes
Definition at line 300 of file multigrid.F90.
| subroutine, public multigrid_oct_m::multigrid_mesh_half | ( | class(space_t), intent(in) | space, | 
| type(namespace_t), intent(in) | namespace, | ||
| type(mesh_t), intent(in), target | mesh_in, | ||
| type(mesh_t), intent(inout) | mesh_out, | ||
| type(stencil_t), intent(in) | stencil | ||
| ) | 
Creates a mesh that has twice the spacing betwen the points than the in mesh. This is used in the multi-grid routines.
Definition at line 414 of file multigrid.F90.
| subroutine, public multigrid_oct_m::multigrid_mesh_double | ( | class(space_t), intent(in) | space, | 
| type(namespace_t), intent(in) | namespace, | ||
| type(mesh_t), intent(in), target | mesh_in, | ||
| type(mesh_t), intent(inout) | mesh_out, | ||
| type(stencil_t), intent(in) | stencil | ||
| ) | 
Definition at line 452 of file multigrid.F90.
| subroutine, public multigrid_oct_m::multigrid_end | ( | type(multigrid_t), intent(inout), target | mgrid | ) | 
Definition at line 500 of file multigrid.F90.
| integer function, public multigrid_oct_m::multigrid_number_of_levels | ( | type(derivatives_t), intent(in), target | base_der | ) | 
Definition at line 536 of file multigrid.F90.
| subroutine, public multigrid_oct_m::dmultigrid_coarse2fine | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | coarse_der, | ||
| type(mesh_t), intent(in) | fine_mesh, | ||
| real(real64), dimension(:), intent(inout), contiguous | f_coarse, | ||
| real(real64), dimension(:), intent(out) | f_fine, | ||
| integer, intent(in), optional | order, | ||
| logical, intent(in), optional | set_bc | ||
| ) | 
Definition at line 621 of file multigrid.F90.
| subroutine, public multigrid_oct_m::dmultigrid_fine2coarse | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | fine_der, | ||
| type(mesh_t), intent(in) | coarse_mesh, | ||
| real(real64), dimension(:), intent(inout), contiguous | f_fine, | ||
| real(real64), dimension(:), intent(out) | f_coarse, | ||
| integer, intent(in), optional | method_p | ||
| ) | 
Definition at line 702 of file multigrid.F90.
      
  | 
  private | 
Definition at line 735 of file multigrid.F90.
      
  | 
  private | 
Definition at line 754 of file multigrid.F90.
| subroutine, public multigrid_oct_m::dmultigrid_coarse2fine_batch | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | coarse_der, | ||
| type(mesh_t), intent(in) | fine_mesh, | ||
| class(batch_t), intent(inout) | coarseb, | ||
| class(batch_t), intent(inout) | fineb, | ||
| integer, intent(in), optional | order | ||
| ) | 
Definition at line 823 of file multigrid.F90.
| subroutine, public multigrid_oct_m::dmultigrid_fine2coarse_batch | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | fine_der, | ||
| type(mesh_t), intent(in) | coarse_mesh, | ||
| class(batch_t), intent(inout) | fineb, | ||
| class(batch_t), intent(inout) | coarseb, | ||
| integer, intent(in), optional | method_p | ||
| ) | 
Definition at line 927 of file multigrid.F90.
      
  | 
  private | 
Definition at line 968 of file multigrid.F90.
| subroutine, public multigrid_oct_m::zmultigrid_coarse2fine | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | coarse_der, | ||
| type(mesh_t), intent(in) | fine_mesh, | ||
| complex(real64), dimension(:), intent(inout), contiguous | f_coarse, | ||
| complex(real64), dimension(:), intent(out) | f_fine, | ||
| integer, intent(in), optional | order, | ||
| logical, intent(in), optional | set_bc | ||
| ) | 
Definition at line 1140 of file multigrid.F90.
| subroutine, public multigrid_oct_m::zmultigrid_fine2coarse | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | fine_der, | ||
| type(mesh_t), intent(in) | coarse_mesh, | ||
| complex(real64), dimension(:), intent(inout), contiguous | f_fine, | ||
| complex(real64), dimension(:), intent(out) | f_coarse, | ||
| integer, intent(in), optional | method_p | ||
| ) | 
Definition at line 1221 of file multigrid.F90.
      
  | 
  private | 
Definition at line 1254 of file multigrid.F90.
      
  | 
  private | 
Definition at line 1273 of file multigrid.F90.
| subroutine, public multigrid_oct_m::zmultigrid_coarse2fine_batch | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | coarse_der, | ||
| type(mesh_t), intent(in) | fine_mesh, | ||
| class(batch_t), intent(inout) | coarseb, | ||
| class(batch_t), intent(inout) | fineb, | ||
| integer, intent(in), optional | order | ||
| ) | 
Definition at line 1342 of file multigrid.F90.
| subroutine, public multigrid_oct_m::zmultigrid_fine2coarse_batch | ( | type(transfer_table_t), intent(in) | tt, | 
| type(derivatives_t), intent(in) | fine_der, | ||
| type(mesh_t), intent(in) | coarse_mesh, | ||
| class(batch_t), intent(inout) | fineb, | ||
| class(batch_t), intent(inout) | coarseb, | ||
| integer, intent(in), optional | method_p | ||
| ) | 
Definition at line 1446 of file multigrid.F90.
      
  | 
  private | 
Definition at line 1487 of file multigrid.F90.
| integer, parameter, public multigrid_oct_m::injection = 1 | 
Definition at line 157 of file multigrid.F90.
| integer, parameter, public multigrid_oct_m::fullweight = 2 | 
Definition at line 157 of file multigrid.F90.