MPI-AMRVAC
3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
|
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(2, mg_lvl_lo:mg_lvl_hi) | domain_size_lvl |
Size of domain per level (if uniformly refined) More... | |
real(dp), dimension(2, mg_lvl_lo:mg_lvl_hi) | dr |
Grid spacing per level. More... | |
real(dp), dimension(2) | 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_t) | comm_restrict |
Communication info for restriction. More... | |
type(mg_comm_t) | comm_prolong |
Communication info for prolongation. More... | |
type(mg_comm_t) | comm_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(2) | periodic = .false. |
Whether a dimension is periodic. More... | |
type(mg_bc_t), dimension(mg_num_neighbors, mg_max_num_vars) | bc |
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(2) | coarsest_grid = 2 |
real(dp) | residual_coarse_abs = 1e-8_dp |
Stop coarse grid when max. residual is smaller than this. More... | |
real(dp) | residual_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_timers) | timers |
Values for the timers. More... | |
Definition at line 196 of file m_octree_mg_2d.t.
type(mg_bc_t), dimension(mg_num_neighbors, mg_max_num_vars) m_octree_mg_2d::mg_t::bc |
To store pre-defined boundary conditions per direction per variable.
Definition at line 250 of file m_octree_mg_2d.t.
procedure(mg_box_op), pointer, nopass m_octree_mg_2d::mg_t::box_op => null() |
Multigrid operator (e.g., Laplacian)
Definition at line 276 of file m_octree_mg_2d.t.
procedure(mg_box_prolong), pointer, nopass m_octree_mg_2d::mg_t::box_prolong => null() |
Multigrid prolongation method.
Definition at line 282 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::box_size = -1 |
Size of boxes in cells, be equal for all dimensions.
Definition at line 210 of file m_octree_mg_2d.t.
integer, dimension(mg_lvl_lo:mg_lvl_hi) m_octree_mg_2d::mg_t::box_size_lvl |
Size of boxes per level (differs for coarsest levels)
Definition at line 221 of file m_octree_mg_2d.t.
procedure(mg_box_gsrb), pointer, nopass m_octree_mg_2d::mg_t::box_smoother => null() |
Multigrid smoother.
Definition at line 279 of file m_octree_mg_2d.t.
type(mg_box_t), dimension(:), allocatable m_octree_mg_2d::mg_t::boxes |
Array with all boxes in the tree. Only boxes owned by this task are actually allocated.
Definition at line 232 of file m_octree_mg_2d.t.
type(mg_buf_t), dimension(:), allocatable m_octree_mg_2d::mg_t::buf |
Buffer for communication with each other task.
Definition at line 234 of file m_octree_mg_2d.t.
integer, dimension(2) m_octree_mg_2d::mg_t::coarsest_grid = 2 |
Definition at line 269 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::comm = -1 |
MPI communicator.
Definition at line 204 of file m_octree_mg_2d.t.
type(mg_comm_t) m_octree_mg_2d::mg_t::comm_ghostcell |
Communication info for ghost cell filling.
Definition at line 241 of file m_octree_mg_2d.t.
type(mg_comm_t) m_octree_mg_2d::mg_t::comm_prolong |
Communication info for prolongation.
Definition at line 239 of file m_octree_mg_2d.t.
type(mg_comm_t) m_octree_mg_2d::mg_t::comm_restrict |
Communication info for restriction.
Definition at line 237 of file m_octree_mg_2d.t.
integer, dimension(2, mg_lvl_lo:mg_lvl_hi) m_octree_mg_2d::mg_t::domain_size_lvl |
Size of domain per level (if uniformly refined)
Definition at line 223 of file m_octree_mg_2d.t.
real(dp), dimension(2, mg_lvl_lo:mg_lvl_hi) m_octree_mg_2d::mg_t::dr |
Grid spacing per level.
Definition at line 225 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::first_normal_lvl = -1 |
First normal level of the quadtree/octree, at coarser levels parents have only one child.
Definition at line 217 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::geometry_type = mg_cartesian |
Type of grid geometry.
Definition at line 255 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::highest_lvl = -1 |
Highest grid level in the tree.
Definition at line 212 of file m_octree_mg_2d.t.
logical m_octree_mg_2d::mg_t::is_allocated = .false. |
Whether storage has been allocated for boxes.
Definition at line 200 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::lowest_lvl = -1 |
Lowest grid level in the tree.
Definition at line 214 of file m_octree_mg_2d.t.
type(mg_lvl_t), dimension(mg_lvl_lo:mg_lvl_hi) m_octree_mg_2d::mg_t::lvls |
List of all levels.
Definition at line 229 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::max_coarse_cycles = 1000 |
Maximum number of cycles on the coarse grid.
Definition at line 268 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::my_rank = -1 |
MPI rank of this task.
Definition at line 208 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_boxes = 0 |
Total number of boxes in the tree (among all processes)
Definition at line 219 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_cpu = -1 |
Number of MPI tasks.
Definition at line 206 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_cycle_down = 2 |
Number of cycles when doing downwards relaxation.
Definition at line 264 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_cycle_up = 2 |
Number of cycles when doing upwards relaxation.
Definition at line 266 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_extra_vars = 0 |
Number of extra cell-centered variable (e.g., for coefficients)
Definition at line 202 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_smoother_substeps = 1 |
Number of substeps for the smoother (for GSRB this is 2)
Definition at line 262 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::n_timers = 0 |
Number of timers.
Definition at line 285 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::operator_type = mg_laplacian |
Type of operator.
Definition at line 253 of file m_octree_mg_2d.t.
logical, dimension(2) m_octree_mg_2d::mg_t::periodic = .false. |
Whether a dimension is periodic.
Definition at line 247 of file m_octree_mg_2d.t.
logical m_octree_mg_2d::mg_t::phi_bc_data_stored = .false. |
Whether boundary condition data has been stored for mg solution.
Definition at line 244 of file m_octree_mg_2d.t.
real(dp), dimension(2) m_octree_mg_2d::mg_t::r_min |
Minimum coordinates.
Definition at line 227 of file m_octree_mg_2d.t.
real(dp) m_octree_mg_2d::mg_t::residual_coarse_abs = 1e-8_dp |
Stop coarse grid when max. residual is smaller than this.
Definition at line 271 of file m_octree_mg_2d.t.
real(dp) m_octree_mg_2d::mg_t::residual_coarse_rel = 1e-8_dp |
Stop coarse grid when residual has been reduced by this factor.
Definition at line 273 of file m_octree_mg_2d.t.
integer m_octree_mg_2d::mg_t::smoother_type = mg_smoother_gs |
Type of multigrid smoother.
Definition at line 260 of file m_octree_mg_2d.t.
logical m_octree_mg_2d::mg_t::subtract_mean = .false. |
Whether the mean has to be subtracted from the multigrid solution.
Definition at line 258 of file m_octree_mg_2d.t.
type(mg_timer_t), dimension(mg_max_timers) m_octree_mg_2d::mg_t::timers |
Values for the timers.
Definition at line 287 of file m_octree_mg_2d.t.
logical m_octree_mg_2d::mg_t::tree_created = .false. |
Whether the multigrid tree structure has been created.
Definition at line 198 of file m_octree_mg_2d.t.