Blocking and LM mapping¶
blocking.f90
¶
Description
Module containing blocking information
Quick access
- Variables
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
finalize_blocking()
,get_lorder_lm_blocking()
,get_snake_lm_blocking()
,get_standard_lm_blocking()
,get_subblocks()
,initialize_blocking()
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/
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]¶
-
-
blocking/
lm2m
(*) [integer,pointer/public]¶
-
-
blocking/
lm_balance
(*) [load,allocatable/public]¶
-
-
blocking/
lo_map
[mappings,target/public]¶
-
-
blocking/
lo_sub_map
[subblocks_mappings,target/public]¶
-
-
blocking/
nlmbs2
(*) [integer,pointer/public]¶
-
-
blocking/
sizelmb2
(*,*) [integer,pointer/public]¶
-
-
blocking/
st_map
[mappings,target/public]¶
-
-
blocking/
st_sub_map
[subblocks_mappings,target/public]¶
-
-
blocking/
ulm
[integer,public]¶
-
-
blocking/
ulmmag
[integer,public]¶
-
Subroutines and functions
-
subroutine
blocking/
initialize_blocking
()¶
-
subroutine
blocking/
finalize_blocking
()¶ - Called from
- Call to
-
subroutine
blocking/
get_subblocks
(map, sub_map)¶ - Parameters
map [mappings ,in]
sub_map [subblocks_mappings ,inout]
- Called from
- Call to
-
subroutine
blocking/
get_standard_lm_blocking
(map, minc)¶ - Parameters
map [mappings ,inout]
minc [integer ,in]
- Called from
- Call to
-
subroutine
blocking/
get_lorder_lm_blocking
(map, minc)¶ - Parameters
map [mappings ,inout]
minc [integer ,in]
- Called from
- Call to
LMmapping.f90
¶
Quick access
- 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/
unknown_type
¶ - 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
-
type
lmmapping/
unknown_type
- 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 ]
-
type
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,optional/default=len(lm_balance)]
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