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: