MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Public Attributes | List of all members
m_octree_mg_3d::mg_t Type Reference
Collaboration diagram for m_octree_mg_3d::mg_t:
Collaboration graph
[legend]

Public Attributes

logical tree_created = .false.
 Whether the multigrid tree structure has been created. More...
 
logical is_allocated = .false.
 Whether storage has been allocated for boxes. More...
 
integer n_extra_vars = 0
 Number of extra cell-centered variable (e.g., for coefficients) More...
 
integer comm = -1
 MPI communicator. More...
 
integer n_cpu = -1
 Number of MPI tasks. More...
 
integer my_rank = -1
 MPI rank of this task. More...
 
integer box_size = -1
 Size of boxes in cells, be equal for all dimensions. More...
 
integer highest_lvl = -1
 Highest grid level in the tree. More...
 
integer lowest_lvl = -1
 Lowest grid level in the tree. More...
 
integer first_normal_lvl = -1
 First normal level of the quadtree/octree, at coarser levels parents have only one child. More...
 
integer n_boxes = 0
 Total number of boxes in the tree (among all processes) More...
 
integer, dimension(mg_lvl_lo:mg_lvl_hi) box_size_lvl
 Size of boxes per level (differs for coarsest levels) More...
 
integer, dimension(3, mg_lvl_lo:mg_lvl_hi) domain_size_lvl
 Size of domain per level (if uniformly refined) More...
 
real(dp), dimension(3, mg_lvl_lo:mg_lvl_hi) dr
 Grid spacing per level. More...
 
real(dp), dimension(3) r_min
 Minimum coordinates. More...
 
type(mg_lvl_t), dimension(mg_lvl_lo:mg_lvl_hi) lvls
 List of all levels. More...
 
type(mg_box_t), dimension(:), allocatable boxes
 Array with all boxes in the tree. Only boxes owned by this task are actually allocated. More...
 
type(mg_buf_t), dimension(:), allocatable buf
 Buffer for communication with each other task. More...
 
type(mg_comm_tcomm_restrict
 Communication info for restriction. More...
 
type(mg_comm_tcomm_prolong
 Communication info for prolongation. More...
 
type(mg_comm_tcomm_ghostcell
 Communication info for ghost cell filling. More...
 
logical phi_bc_data_stored = .false.
 Whether boundary condition data has been stored for mg solution. More...
 
logical, dimension(3) periodic = .false.
 Whether a dimension is periodic. More...
 
type(mg_bc_t), dimension(mg_num_neighbors, mg_max_num_varsbc
 To store pre-defined boundary conditions per direction per variable. More...
 
integer operator_type = mg_laplacian
 Type of operator. More...
 
integer geometry_type = mg_cartesian
 Type of grid geometry. More...
 
logical subtract_mean = .false.
 Whether the mean has to be subtracted from the multigrid solution. More...
 
integer smoother_type = mg_smoother_gs
 Type of multigrid smoother. More...
 
integer n_smoother_substeps = 1
 Number of substeps for the smoother (for GSRB this is 2) More...
 
integer n_cycle_down = 2
 Number of cycles when doing downwards relaxation. More...
 
integer n_cycle_up = 2
 Number of cycles when doing upwards relaxation. More...
 
integer max_coarse_cycles = 1000
 Maximum number of cycles on the coarse grid. More...
 
integer, dimension(3) coarsest_grid = 2
 
real(dpresidual_coarse_abs = 1e-8_dp
 Stop coarse grid when max. residual is smaller than this. More...
 
real(dpresidual_coarse_rel = 1e-8_dp
 Stop coarse grid when residual has been reduced by this factor. More...
 
procedure(mg_box_op), pointer, nopass box_op => null()
 Multigrid operator (e.g., Laplacian) More...
 
procedure(mg_box_gsrb), pointer, nopass box_smoother => null()
 Multigrid smoother. More...
 
procedure(mg_box_prolong), pointer, nopass box_prolong => null()
 Multigrid prolongation method. More...
 
integer n_timers = 0
 Number of timers. More...
 
type(mg_timer_t), dimension(mg_max_timerstimers
 Values for the timers. More...
 

Detailed Description

Definition at line 205 of file m_octree_mg_3d.t.

Member Data Documentation

◆ bc

type(mg_bc_t), dimension(mg_num_neighbors, mg_max_num_vars) m_octree_mg_3d::mg_t::bc

To store pre-defined boundary conditions per direction per variable.

Definition at line 259 of file m_octree_mg_3d.t.

◆ box_op

procedure(mg_box_op), pointer, nopass m_octree_mg_3d::mg_t::box_op => null()

Multigrid operator (e.g., Laplacian)

Definition at line 285 of file m_octree_mg_3d.t.

◆ box_prolong

procedure(mg_box_prolong), pointer, nopass m_octree_mg_3d::mg_t::box_prolong => null()

Multigrid prolongation method.

Definition at line 291 of file m_octree_mg_3d.t.

◆ box_size

integer m_octree_mg_3d::mg_t::box_size = -1

Size of boxes in cells, be equal for all dimensions.

Definition at line 219 of file m_octree_mg_3d.t.

◆ box_size_lvl

integer, dimension(mg_lvl_lo:mg_lvl_hi) m_octree_mg_3d::mg_t::box_size_lvl

Size of boxes per level (differs for coarsest levels)

Definition at line 230 of file m_octree_mg_3d.t.

◆ box_smoother

procedure(mg_box_gsrb), pointer, nopass m_octree_mg_3d::mg_t::box_smoother => null()

Multigrid smoother.

Definition at line 288 of file m_octree_mg_3d.t.

◆ boxes

type(mg_box_t), dimension(:), allocatable m_octree_mg_3d::mg_t::boxes

Array with all boxes in the tree. Only boxes owned by this task are actually allocated.

Definition at line 241 of file m_octree_mg_3d.t.

◆ buf

type(mg_buf_t), dimension(:), allocatable m_octree_mg_3d::mg_t::buf

Buffer for communication with each other task.

Definition at line 243 of file m_octree_mg_3d.t.

◆ coarsest_grid

integer, dimension(3) m_octree_mg_3d::mg_t::coarsest_grid = 2

Definition at line 278 of file m_octree_mg_3d.t.

◆ comm

integer m_octree_mg_3d::mg_t::comm = -1

MPI communicator.

Definition at line 213 of file m_octree_mg_3d.t.

◆ comm_ghostcell

type(mg_comm_t) m_octree_mg_3d::mg_t::comm_ghostcell

Communication info for ghost cell filling.

Definition at line 250 of file m_octree_mg_3d.t.

◆ comm_prolong

type(mg_comm_t) m_octree_mg_3d::mg_t::comm_prolong

Communication info for prolongation.

Definition at line 248 of file m_octree_mg_3d.t.

◆ comm_restrict

type(mg_comm_t) m_octree_mg_3d::mg_t::comm_restrict

Communication info for restriction.

Definition at line 246 of file m_octree_mg_3d.t.

◆ domain_size_lvl

integer, dimension(3, mg_lvl_lo:mg_lvl_hi) m_octree_mg_3d::mg_t::domain_size_lvl

Size of domain per level (if uniformly refined)

Definition at line 232 of file m_octree_mg_3d.t.

◆ dr

real(dp), dimension(3, mg_lvl_lo:mg_lvl_hi) m_octree_mg_3d::mg_t::dr

Grid spacing per level.

Definition at line 234 of file m_octree_mg_3d.t.

◆ first_normal_lvl

integer m_octree_mg_3d::mg_t::first_normal_lvl = -1

First normal level of the quadtree/octree, at coarser levels parents have only one child.

Definition at line 226 of file m_octree_mg_3d.t.

◆ geometry_type

integer m_octree_mg_3d::mg_t::geometry_type = mg_cartesian

Type of grid geometry.

Definition at line 264 of file m_octree_mg_3d.t.

◆ highest_lvl

integer m_octree_mg_3d::mg_t::highest_lvl = -1

Highest grid level in the tree.

Definition at line 221 of file m_octree_mg_3d.t.

◆ is_allocated

logical m_octree_mg_3d::mg_t::is_allocated = .false.

Whether storage has been allocated for boxes.

Definition at line 209 of file m_octree_mg_3d.t.

◆ lowest_lvl

integer m_octree_mg_3d::mg_t::lowest_lvl = -1

Lowest grid level in the tree.

Definition at line 223 of file m_octree_mg_3d.t.

◆ lvls

type(mg_lvl_t), dimension(mg_lvl_lo:mg_lvl_hi) m_octree_mg_3d::mg_t::lvls

List of all levels.

Definition at line 238 of file m_octree_mg_3d.t.

◆ max_coarse_cycles

integer m_octree_mg_3d::mg_t::max_coarse_cycles = 1000

Maximum number of cycles on the coarse grid.

Definition at line 277 of file m_octree_mg_3d.t.

◆ my_rank

integer m_octree_mg_3d::mg_t::my_rank = -1

MPI rank of this task.

Definition at line 217 of file m_octree_mg_3d.t.

◆ n_boxes

integer m_octree_mg_3d::mg_t::n_boxes = 0

Total number of boxes in the tree (among all processes)

Definition at line 228 of file m_octree_mg_3d.t.

◆ n_cpu

integer m_octree_mg_3d::mg_t::n_cpu = -1

Number of MPI tasks.

Definition at line 215 of file m_octree_mg_3d.t.

◆ n_cycle_down

integer m_octree_mg_3d::mg_t::n_cycle_down = 2

Number of cycles when doing downwards relaxation.

Definition at line 273 of file m_octree_mg_3d.t.

◆ n_cycle_up

integer m_octree_mg_3d::mg_t::n_cycle_up = 2

Number of cycles when doing upwards relaxation.

Definition at line 275 of file m_octree_mg_3d.t.

◆ n_extra_vars

integer m_octree_mg_3d::mg_t::n_extra_vars = 0

Number of extra cell-centered variable (e.g., for coefficients)

Definition at line 211 of file m_octree_mg_3d.t.

◆ n_smoother_substeps

integer m_octree_mg_3d::mg_t::n_smoother_substeps = 1

Number of substeps for the smoother (for GSRB this is 2)

Definition at line 271 of file m_octree_mg_3d.t.

◆ n_timers

integer m_octree_mg_3d::mg_t::n_timers = 0

Number of timers.

Definition at line 294 of file m_octree_mg_3d.t.

◆ operator_type

integer m_octree_mg_3d::mg_t::operator_type = mg_laplacian

Type of operator.

Definition at line 262 of file m_octree_mg_3d.t.

◆ periodic

logical, dimension(3) m_octree_mg_3d::mg_t::periodic = .false.

Whether a dimension is periodic.

Definition at line 256 of file m_octree_mg_3d.t.

◆ phi_bc_data_stored

logical m_octree_mg_3d::mg_t::phi_bc_data_stored = .false.

Whether boundary condition data has been stored for mg solution.

Definition at line 253 of file m_octree_mg_3d.t.

◆ r_min

real(dp), dimension(3) m_octree_mg_3d::mg_t::r_min

Minimum coordinates.

Definition at line 236 of file m_octree_mg_3d.t.

◆ residual_coarse_abs

real(dp) m_octree_mg_3d::mg_t::residual_coarse_abs = 1e-8_dp

Stop coarse grid when max. residual is smaller than this.

Definition at line 280 of file m_octree_mg_3d.t.

◆ residual_coarse_rel

real(dp) m_octree_mg_3d::mg_t::residual_coarse_rel = 1e-8_dp

Stop coarse grid when residual has been reduced by this factor.

Definition at line 282 of file m_octree_mg_3d.t.

◆ smoother_type

integer m_octree_mg_3d::mg_t::smoother_type = mg_smoother_gs

Type of multigrid smoother.

Definition at line 269 of file m_octree_mg_3d.t.

◆ subtract_mean

logical m_octree_mg_3d::mg_t::subtract_mean = .false.

Whether the mean has to be subtracted from the multigrid solution.

Definition at line 267 of file m_octree_mg_3d.t.

◆ timers

type(mg_timer_t), dimension(mg_max_timers) m_octree_mg_3d::mg_t::timers

Values for the timers.

Definition at line 296 of file m_octree_mg_3d.t.

◆ tree_created

logical m_octree_mg_3d::mg_t::tree_created = .false.

Whether the multigrid tree structure has been created.

Definition at line 207 of file m_octree_mg_3d.t.


The documentation for this type was generated from the following file: