Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_decomposition_advanced Module Reference

Description

Module providing data structures and tools to implement domain decompositions.

Author
Klaus Reuter, Max Planck Computing and Data Facility (MPCDF)

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)
 

Function/Subroutine Documentation

◆ get_buffer_side()

function sll_m_decomposition_advanced::get_buffer_side (   i_buffer)
private

Definition at line 788 of file sll_m_decomposition_advanced.F90.

Here is the caller graph for this function:

◆ sll_f_dd_get_n_blocks()

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.

◆ sll_f_get_mem_6d_from_buffer_obj()

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.

Here is the caller graph for this function:

◆ sll_f_new_cartesian_domain_decomposition()

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.

Here is the call graph for this function:

◆ sll_s_blocking_halo_exchange()

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.

Here is the call graph for this function:

◆ sll_s_construct_decomposition__block()

subroutine sll_m_decomposition_advanced::sll_s_construct_decomposition__block ( type(sll_t_decomposition__block self,
intent(in)  nd 
)
private

Definition at line 205 of file sll_m_decomposition_advanced.F90.

Here is the caller graph for this function:

◆ sll_s_construct_decomposition__dimension()

subroutine sll_m_decomposition_advanced::sll_s_construct_decomposition__dimension ( type(sll_t_decomposition__dimension self,
intent(in)  nd 
)
private

Definition at line 251 of file sll_m_decomposition_advanced.F90.

Here is the caller graph for this function:

◆ sll_s_construct_decomposition__local()

subroutine sll_m_decomposition_advanced::sll_s_construct_decomposition__local ( type(sll_t_decomposition__local self,
type(sll_t_cartesian_topology_6d), intent(in), pointer  topology,
dimension(nd), intent(in)  grid_size,
intent(in)  nd 
)
private

Definition at line 274 of file sll_m_decomposition_advanced.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sll_s_dd_allocate_buffer()

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.

Here is the call graph for this function:

◆ sll_s_dd_deallocate_buffer()

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.

Here is the call graph for this function:

◆ sll_s_dd_define_blocks()

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.

Here is the call graph for this function:

◆ sll_s_deallocate_cartesian_domain_decomposition()

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.

Here is the call graph for this function:

◆ sll_s_destruct_decomposition__block()

subroutine sll_m_decomposition_advanced::sll_s_destruct_decomposition__block ( type(sll_t_decomposition__block self)
private

Definition at line 229 of file sll_m_decomposition_advanced.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sll_s_destruct_decomposition__buffer()

subroutine sll_m_decomposition_advanced::sll_s_destruct_decomposition__buffer ( class(sll_t_decomposition__buffer self)
private

Definition at line 177 of file sll_m_decomposition_advanced.F90.

Here is the caller graph for this function:

◆ sll_s_destruct_decomposition__dimension()

subroutine sll_m_decomposition_advanced::sll_s_destruct_decomposition__dimension ( type(sll_t_decomposition__dimension self)
private

Definition at line 260 of file sll_m_decomposition_advanced.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sll_s_destruct_decomposition__local()

subroutine sll_m_decomposition_advanced::sll_s_destruct_decomposition__local ( type(sll_t_decomposition__local self)
private

Definition at line 305 of file sll_m_decomposition_advanced.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sll_s_post_halo_exchange_real64()

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.

Here is the call graph for this function:

◆ sll_s_wait_halo_exchange()

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.

    Report Typos and Errors