initialize_multigrid Interface

interface
public module subroutine initialize_multigrid(self, equi, phi, nlvls, spacing_f, size_neighbor, size_ghost_layer, mesh_finest, reorder_size, extend_beyond_wall, dbgout)

Arguments

Type IntentOptional Attributes Name
class(multigrid_t), intent(inout) :: self

Instance of the type

class(equilibrium_t), intent(inout) :: equi

Equilibrium (not changed)

real(kind=FP), intent(in) :: phi

Toroidal angle

integer, intent(in) :: nlvls

Number of multigrid levels

real(kind=FP), intent(inout) :: spacing_f

Grid spacing on finest level (only adapted possibly for slab geometry)

integer, intent(in) :: size_neighbor

Number of neighbor points determined in each direction (for finest level, on coarser levels always 1)

integer, intent(in) :: size_ghost_layer

Depth of ghost point layer (for finest level, on coarser levels always 0)

type(mesh_cart_t), intent(out), target :: mesh_finest

Finest mesh (lvl=1) that was created

integer, intent(in), optional, dimension(nlvls) :: reorder_size

Grid reordering for each level

logical, intent(in) :: extend_beyond_wall

If true, meshes are extend beyond the wall

integer, intent(in), optional :: dbgout

Debug output level, default = 0, none

Description

Sets up multigrids, i.e. - creates meshes on all levels - creates prolongation and restriction operators