![]() |
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.
1.9.1