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 | multigrid_build_stencil (dim, weight, shift) |
subroutine, public | dmultigrid_coarse2fine (tt, coarse_der, fine_mesh, f_coarse, f_fine, 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) |
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, 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) |
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 184 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 301 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 415 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 453 of file multigrid.F90.
subroutine, public multigrid_oct_m::multigrid_end | ( | type(multigrid_t), intent(inout), target | mgrid | ) |
Definition at line 501 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 537 of file multigrid.F90.
|
private |
Definition at line 554 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, | ||
logical, intent(in), optional | set_bc | ||
) |
Definition at line 673 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 752 of file multigrid.F90.
|
private |
Definition at line 781 of file multigrid.F90.
|
private |
Definition at line 800 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 | ||
) |
Definition at line 867 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 971 of file multigrid.F90.
|
private |
Definition at line 1012 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, | ||
logical, intent(in), optional | set_bc | ||
) |
Definition at line 1184 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 1263 of file multigrid.F90.
|
private |
Definition at line 1292 of file multigrid.F90.
|
private |
Definition at line 1311 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 | ||
) |
Definition at line 1378 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 1482 of file multigrid.F90.
|
private |
Definition at line 1523 of file multigrid.F90.
integer, parameter, public multigrid_oct_m::injection = 1 |
Definition at line 158 of file multigrid.F90.
integer, parameter, public multigrid_oct_m::fullweight = 2 |
Definition at line 158 of file multigrid.F90.