PartMC  2.3.0
Data Types | Public Member Functions | List of all members
pmc_integer_rmap2 Module Reference

The integer_rmap2_t structure and assocated subroutines. More...

Data Types

type  integer_rmap2_t
 A map $\mathbb{Z} \to \mathbb{Z} \times \mathbb{Z}$, together with its multi-valued inverse. More...
 

Public Member Functions

elemental subroutine integer_rmap2_allocate (integer_rmap2)
 Allocates an empty structure. More...
 
elemental subroutine integer_rmap2_allocate_size (integer_rmap2, n_range_1, n_range_2)
 Allocates a structure with the given size. More...
 
elemental subroutine integer_rmap2_deallocate (integer_rmap2)
 Deallocates a previously allocated structure. More...
 
elemental subroutine integer_rmap2_zero (integer_rmap2)
 Resets an integer_rmap2 to have zero particles per bin. More...
 
subroutine integer_rmap2_append (integer_rmap2, i_range_1, i_range_2)
 Set the map value of the next free domain value to (i_range_1, i_range_2. More...
 
subroutine integer_rmap2_change (integer_rmap2, i_domain, i_range_1, i_range_2)
 Change the map value of i_domain to (i_range_1, i_range_2). More...
 
subroutine integer_rmap2_remove (integer_rmap2, i_domain)
 Replace the map at the given i_domain with the map value of the last entry, and delete the last entry. More...
 
subroutine integer_rmap2_check (integer_rmap2, name, n_domain, n_range_1, n_range_2, continue_on_error)
 Check that the data is consistent. More...
 
integer function pmc_mpi_pack_size_integer_rmap2 (val)
 Determines the number of bytes required to pack the given value. More...
 
subroutine pmc_mpi_pack_integer_rmap2 (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi_unpack_integer_rmap2 (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 

Detailed Description

The integer_rmap2_t structure and assocated subroutines.

Definition at line 9 of file integer_rmap2.F90.

Member Function/Subroutine Documentation

elemental subroutine pmc_integer_rmap2::integer_rmap2_allocate ( type(integer_rmap2_t), intent(out)  integer_rmap2)

Allocates an empty structure.

Parameters
[out]integer_rmap2Structure to initialize.

Definition at line 69 of file integer_rmap2.F90.

elemental subroutine pmc_integer_rmap2::integer_rmap2_allocate_size ( type(integer_rmap2_t), intent(out)  integer_rmap2,
integer, intent(in)  n_range_1,
integer, intent(in)  n_range_2 
)

Allocates a structure with the given size.

Parameters
[out]integer_rmap2Structure to initialize.
[in]n_range_1Size of first range space.
[in]n_range_2Size of second range space.

Definition at line 84 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::integer_rmap2_append ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
integer, intent(in)  i_range_1,
integer, intent(in)  i_range_2 
)

Set the map value of the next free domain value to (i_range_1, i_range_2.

Parameters
[in,out]integer_rmap2Map to append to.
[in]i_range_1First range value.
[in]i_range_2Second range value.

Definition at line 137 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::integer_rmap2_change ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
integer, intent(in)  i_domain,
integer, intent(in)  i_range_1,
integer, intent(in)  i_range_2 
)

Change the map value of i_domain to (i_range_1, i_range_2).

Parameters
[in,out]integer_rmap2Map to change.
[in]i_domainDomain value.
[in]i_range_1First range value.
[in]i_range_2Second range value.

Definition at line 164 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::integer_rmap2_check ( type(integer_rmap2_t integer_rmap2,
character(len=*), intent(in)  name,
integer, intent(in)  n_domain,
integer, intent(in)  n_range_1,
integer, intent(in)  n_range_2,
logical, intent(in)  continue_on_error 
)

Check that the data is consistent.

Parameters
integer_rmap2Structure to check.
[in]nameCheck name.
[in]n_domainSize of domain.
[in]n_range_1Size of first range.
[in]n_range_2Size of second range.
[in]continue_on_errorWhether to continue despite error.

Definition at line 270 of file integer_rmap2.F90.

elemental subroutine pmc_integer_rmap2::integer_rmap2_deallocate ( type(integer_rmap2_t), intent(inout)  integer_rmap2)

Deallocates a previously allocated structure.

Parameters
[in,out]integer_rmap2Structure to deallocate.

Definition at line 105 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::integer_rmap2_remove ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
integer, intent(in)  i_domain 
)

Replace the map at the given i_domain with the map value of the last entry, and delete the last entry.

Parameters
[in,out]integer_rmap2Map to remove from.
[in]i_domainDomain value to replace.

Definition at line 216 of file integer_rmap2.F90.

elemental subroutine pmc_integer_rmap2::integer_rmap2_zero ( type(integer_rmap2_t), intent(inout)  integer_rmap2)

Resets an integer_rmap2 to have zero particles per bin.

Parameters
[in,out]integer_rmap2Structure to zero.

Definition at line 121 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::pmc_mpi_pack_integer_rmap2 ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap2_t), intent(in)  val 
)

Packs the given value into the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in]valValue to pack.

Definition at line 414 of file integer_rmap2.F90.

integer function pmc_integer_rmap2::pmc_mpi_pack_size_integer_rmap2 ( type(integer_rmap2_t), intent(in)  val)

Determines the number of bytes required to pack the given value.

Parameters
[in]valValue to pack.

Definition at line 388 of file integer_rmap2.F90.

subroutine pmc_integer_rmap2::pmc_mpi_unpack_integer_rmap2 ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap2_t), intent(inout)  val 
)

Unpacks the given value from the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in,out]valValue to pack.

Definition at line 447 of file integer_rmap2.F90.


The documentation for this module was generated from the following file: