dtfft_pencil_t Derived Type

type, public :: dtfft_pencil_t

Structure to hold pencil decomposition info


Components

Type Visibility Attributes Name Initial
integer(kind=int8), public :: dim

Aligned dimension id

integer(kind=int8), public :: ndims = 0

Number of dimensions

integer(kind=int32), public, allocatable :: starts(:)

Local starts, starting from 0 for both C and Fortran

integer(kind=int32), public, allocatable :: counts(:)

Local counts of data, in elements

integer(kind=int64), public :: size

Total number of elements in a pencil

logical, private :: is_created = .false.

Is pencil created


Constructor

public interface dtfft_pencil_t

Type bound constuctor for dtfft_pencil_t

  • private function create_pencil_t(starts, counts)

    Creates pencil object, that can be used to create dtFFT plans

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: starts(:)

    Local starts, starting from 0 for both C and Fortran

    integer(kind=int32), intent(in) :: counts(:)

    Local counts of data, in elements

    Return Value type(dtfft_pencil_t)


Finalization Procedures

final :: destroy_pencil_t

  • private subroutine destroy_pencil_t(self)

    Destroys pencil

    Arguments

    Type IntentOptional Attributes Name
    type(dtfft_pencil_t), intent(inout) :: self

    Public pencil


Type-Bound Procedures

procedure, private, pass(self) :: destroy => destroy_pencil_t_private