Blocking and LM mapping¶
blocking.f90¶
Description
Module containing blocking information
Quick access
- Variables:
get_lorder_lm_blocking,get_snake_lm_blocking,get_standard_lm_blocking,get_subblocks,llm,llmmag,lm2,lm22l,lm22lm,lm22m,lm2l,lm2lma,lm2lms,lm2m,lm_balance,lo_map,lo_sub_map,nlmbs2,sizelmb2,st_map,st_sub_map,ulm,ulmmag- Routines:
Needed modules
iso_fortran_env(output_unit())precision_mod: This module controls the precision used in MagICmem_alloc(memwrite(),bytes_allocated()): This little module is used to estimate the global memory allocation used in MagICparallel_mod(nthreads(),rank(),n_procs(),rank_with_l1m0(),load(),getblocks()): This module contains the blocking informationtruncation(lm_max(),l_max(),n_theta_max(),minc(),n_r_max(),m_max(),m_min()): This module defines the grid points and the truncationlogic(l_save_out(),l_finite_diff(),l_mag()): Module containing the logicals that control the runoutput_data(n_log_file(),log_file()): This module contains the parameters for output controllmmapping(mappings(),allocate_mappings(),deallocate_mappings(),allocate_subblocks_mappings(),deallocate_subblocks_mappings(),subblocks_mappings())useful(logwrite(),abortrun()): This module contains several useful routines.constants(one()): module containing constants and parameters used in the code.
Variables
- blocking/get_lorder_lm_blocking [private]¶
- blocking/get_snake_lm_blocking [private]¶
- blocking/get_standard_lm_blocking [private]¶
- blocking/get_subblocks [private]¶
- blocking/llm [integer,public]¶
- blocking/llmmag [integer,public]¶
- blocking/lm2 (*,*) [integer,pointer/public]¶
- blocking/lm22l (*,*,*) [integer,pointer/public]¶
- blocking/lm22lm (*,*,*) [integer,pointer/public]¶
- blocking/lm22m (*,*,*) [integer,pointer/public]¶
- blocking/lm2l (*) [integer,pointer/public]¶
- blocking/lm2lma (*) [integer,pointer/public]¶
- blocking/lm2lms (*) [integer,pointer/public]¶
Dummy since it will be multiplied by zero
- blocking/lm2m (*) [integer,pointer/public]¶
- blocking/lo_sub_map [subblocks_mappings,target/public]¶
- blocking/nlmbs2 (*) [integer,pointer/public]¶
- blocking/sizelmb2 (*,*) [integer,pointer/public]¶
- blocking/st_sub_map [subblocks_mappings,target/public]¶
- blocking/ulm [integer,public]¶
- blocking/ulmmag [integer,public]¶
Subroutines and functions
- subroutine blocking/initialize_blocking()¶
This subroutine allocates and initializes the different LM mappings employed in the code.
- Called from:
- Call to:
allocate_mappings(),abortrun(),getblocks(),allocate_subblocks_mappings(),memwrite()
- subroutine blocking/finalize_blocking()¶
This subroutine deallocates the LM mappings used in MagIC.
- Called from:
- Call to:
LMmapping.f90¶
Quick access
- Types:
- Routines:
allocate_mappings(),allocate_subblocks_mappings(),deallocate_mappings(),deallocate_subblocks_mappings()
Needed modules
precision_mod: This module controls the precision used in MagICtruncation(l_axi()): This module defines the grid points and the truncationmem_alloc(bytes_allocated()): This little module is used to estimate the global memory allocation used in MagICparallel_mod(load()): This module contains the blocking information
Types
- type lmmapping/mappings¶
- Type fields:
% l_max [integer ]
% lm2 (*,*) [integer ,allocatable]
% lm2l (*) [integer ,allocatable]
% lm2lma (*) [integer ,allocatable]
% lm2lms (*) [integer ,allocatable]
% lm2m (*) [integer ,allocatable]
% lm_max [integer ]
% m_max [integer ]
% m_min [integer ]
- type lmmapping/subblocks_mappings¶
- Type fields:
% l_max [integer ]
% lm22l (*,*,*) [integer ,allocatable]
% lm22lm (*,*,*) [integer ,allocatable]
% lm22m (*,*,*) [integer ,allocatable]
% m_max [integer ]
% m_min [integer ]
% nlmbs [integer ]
% nlmbs2 (*) [integer ,allocatable]
% sizelmb2 (*,*) [integer ,allocatable]
% sizelmb2max [integer ]
Variables
Subroutines and functions
- subroutine lmmapping/allocate_mappings(self, l_max, m_min, m_max, lm_max)¶
- Parameters:
self [mappings ]
l_max [integer ,in]
m_min [integer ,in]
m_max [integer ,in]
lm_max [integer ,in]
- Called from:
- subroutine lmmapping/deallocate_mappings(self)¶
- Parameters:
self [mappings ]
- Called from:
- subroutine lmmapping/allocate_subblocks_mappings(self, map, nlmbs, l_max, m_min, m_max, lm_balance)¶
- Parameters:
self [subblocks_mappings ]
map [mappings ,in]
nlmbs [integer ,in,]
l_max [integer ,in]
m_min [integer ,in]
m_max [integer ,in]
lm_balance (nlmbs) [load ,in]
- Called from:
- subroutine lmmapping/deallocate_subblocks_mappings(self)¶
- Parameters:
self [subblocks_mappings ]
- Called from: