![]() |
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.