Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Module providing data structures and tools to implement domain decompositions.
Derived types and interfaces | |
type | sll_t_decomposition__buffer |
type | sll_t_decomposition__block |
type | sll_t_decomposition__dimension |
type | sll_t_decomposition__local |
type | sll_t_decomposition |
Functions/Subroutines | |
subroutine | sll_s_destruct_decomposition__buffer (self) |
subroutine | sll_s_construct_decomposition__block (self, nd) |
subroutine | sll_s_destruct_decomposition__block (self) |
subroutine | sll_s_construct_decomposition__dimension (self, nd) |
subroutine | sll_s_destruct_decomposition__dimension (self) |
subroutine | sll_s_construct_decomposition__local (self, topology, grid_size, nd) |
subroutine | sll_s_destruct_decomposition__local (self) |
type(sll_t_decomposition) function, pointer, public | sll_f_new_cartesian_domain_decomposition (topology, grid_size, nd) |
subroutine, public | sll_s_deallocate_cartesian_domain_decomposition (decomposition) |
subroutine, public | sll_s_dd_define_blocks (decomposition, id, n_blocks, block_dim) |
Initialize blocking of halo cells for dimension id. More... | |
subroutine, public | sll_s_dd_allocate_buffer (decomposition, id, i_block, i_buffer, width, label) |
Allocate the i_block th halo buffers for dimension id. More... | |
subroutine, public | sll_s_dd_deallocate_buffer (decomposition, id, i_block, i_buffer) |
subroutine, public | sll_s_post_halo_exchange_real64 (topology, decomposition, f6d, id, i_block, i_buffer, n_threads, post_halo_exchange) |
subroutine, public | sll_s_wait_halo_exchange (topology, decomposition, id, i_block, i_buffer) |
subroutine, public | sll_s_blocking_halo_exchange (topology, decomposition, id, i_block, i_buffer) |
function | get_buffer_side (i_buffer) |
dimension(:,:,:,:,:,:), pointer, public | sll_f_get_mem_6d_from_buffer_obj (self) |
function, public | sll_f_dd_get_n_blocks (decomposition, id) |
|
private |
Definition at line 788 of file sll_m_decomposition_advanced.F90.
function, public sll_m_decomposition_advanced::sll_f_dd_get_n_blocks | ( | type(sll_t_decomposition), pointer | decomposition, |
intent(in) | id | ||
) |
Definition at line 812 of file sll_m_decomposition_advanced.F90.
dimension(:,:,:,:,:,:), pointer, public sll_m_decomposition_advanced::sll_f_get_mem_6d_from_buffer_obj | ( | class(sll_t_decomposition__buffer) | self | ) |
Definition at line 794 of file sll_m_decomposition_advanced.F90.
type(sll_t_decomposition) function, pointer, public sll_m_decomposition_advanced::sll_f_new_cartesian_domain_decomposition | ( | type(sll_t_cartesian_topology_6d), intent(in), pointer | topology, |
dimension(nd), intent(in) | grid_size, | ||
intent(in) | nd | ||
) |
Definition at line 330 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_blocking_halo_exchange | ( | type(sll_t_cartesian_topology_6d), intent(in), pointer | topology, |
type(sll_t_decomposition), intent(inout), pointer | decomposition, | ||
intent(in) | id, | ||
intent(in) | i_block, | ||
intent(in) | i_buffer | ||
) |
Definition at line 749 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 205 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 251 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 274 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_dd_allocate_buffer | ( | type(sll_t_decomposition), pointer | decomposition, |
intent(in) | id, | ||
intent(in) | i_block, | ||
intent(in) | i_buffer, | ||
intent(in) | width, | ||
character(len=*), intent(in), optional | label | ||
) |
Allocate the i_block th halo buffers for dimension id.
Definition at line 410 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_dd_deallocate_buffer | ( | type(sll_t_decomposition), pointer | decomposition, |
intent(in) | id, | ||
intent(in) | i_block, | ||
intent(in) | i_buffer | ||
) |
Definition at line 500 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_dd_define_blocks | ( | type(sll_t_decomposition), intent(in), pointer | decomposition, |
intent(in) | id, | ||
intent(in) | n_blocks, | ||
intent(in) | block_dim | ||
) |
Initialize blocking of halo cells for dimension id.
Definition at line 368 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_deallocate_cartesian_domain_decomposition | ( | type(sll_t_decomposition), pointer | decomposition | ) |
Definition at line 355 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 229 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 177 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 260 of file sll_m_decomposition_advanced.F90.
|
private |
Definition at line 305 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_post_halo_exchange_real64 | ( | type(sll_t_cartesian_topology_6d), intent(in), pointer | topology, |
type(sll_t_decomposition), intent(inout), pointer | decomposition, | ||
dimension(decomposition%local%mn(1):decomposition%local%mx(1), decomposition%local%mn(2):decomposition%local%mx(2), decomposition%local%mn(3):decomposition%local%mx(3), decomposition%local%mn(4):decomposition%local%mx(4), decomposition%local%mn(5):decomposition%local%mx(5), decomposition%local%mn(6):decomposition%local%mx(6)), intent(inout) | f6d, | ||
intent(in) | id, | ||
intent(in) | i_block, | ||
intent(in) | i_buffer, | ||
optional | n_threads, | ||
logical, intent(in), optional | post_halo_exchange | ||
) |
Definition at line 516 of file sll_m_decomposition_advanced.F90.
subroutine, public sll_m_decomposition_advanced::sll_s_wait_halo_exchange | ( | type(sll_t_cartesian_topology_6d), intent(in), pointer | topology, |
type(sll_t_decomposition), intent(inout), pointer | decomposition, | ||
intent(in) | id, | ||
intent(in) | i_block, | ||
intent(in) | i_buffer | ||
) |
Definition at line 724 of file sll_m_decomposition_advanced.F90.