MPIAMRVAC
3.1
The MPI  Adaptive Mesh Refinement  Versatile Advection Code (development version)

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 cellcentered 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 predefined 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 = 1e8_dp 
Stop coarse grid when max. residual is smaller than this. More...  
real(dp)  residual_coarse_rel = 1e8_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 predefined 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 cellcentered 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 = 1e8_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 = 1e8_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.