ngapart_obj Derived Type

type :: ngapart_obj


Inherits

type~~ngapart_obj~~InheritsGraph type~ngapart_obj ngapart_obj MPI_DATATYPE MPI_DATATYPE type~ngapart_obj->MPI_DATATYPE MPI_TYPE MPI_File MPI_File type~ngapart_obj->MPI_File fid MPI_Info MPI_Info type~ngapart_obj->MPI_Info MPI_INFO type~parallel_obj parallel_obj type~ngapart_obj->type~parallel_obj parallel type~parallel_obj->MPI_Info mpi_info MPI_Datatype MPI_Datatype type~parallel_obj->MPI_Datatype REAL_SP, REAL_DP, REAL_WP, COMPLEX_SP, COMPLEX_DP, COMPLEX_WP, INTEGER, INT8, LOGICAL type~communicators communicators type~parallel_obj->type~communicators comm type~patch patch type~parallel_obj->type~patch rank MPI_Comm MPI_Comm type~communicators->MPI_Comm w, g

Components

Type Visibility Attributes Name Initial
type(MPI_Info), public :: MPI_INFO

MPI info

integer, public :: MPI_SIZE

MPI size of a NGA particle

type(MPI_DATATYPE), public :: MPI_TYPE

MPI variable type of a NGA particle

integer, public :: count

Total count of particles in file

real(kind=leapDP), public :: dt

Time step in file

type(MPI_File), public :: fid

File identifier

character(len=str64), public :: filename

File to read/write

type(parallel_obj), public, pointer :: parallel => null()

Associated parallel structure

real(kind=leapDP), public :: time

Time in file


Type-Bound Procedures

procedure, public :: Close => ngapart_Close

  • subroutine ngapart_Close(this)

    Close file with MPI

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

procedure, public :: CreateMPIType => ngapart_CreateMPIType

  • subroutine ngapart_CreateMPIType(this)

    Define MPI Type and size for a NGA particle

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

procedure, public :: Finalize => ngapart_Final

  • subroutine ngapart_Final(this)

    Finalize structure

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

procedure, public :: GetAttributes => ngapart_GetAttributes

  • subroutine ngapart_GetAttributes(this)

    Read file attributes

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

procedure, public :: Initialize => ngapart_Init

  • subroutine ngapart_Init(this, filename, access_flag, parallel)

    Initialize structuree

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

    character(len=*), intent(in) :: filename

    File to read/write

    character(len=*), intent(in) :: access_flag

    File access mode

    type(parallel_obj), intent(in), target :: parallel

    Parallel structure

procedure, public :: Open => ngapart_Open

  • subroutine ngapart_Open(this, flag)

    Open raw NGA part file

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

    character(len=*), intent(in) :: flag

    File access mode

procedure, public :: Read => ngapart_Read

  • subroutine ngapart_Read(this, pp)

    Read NGA particles, convert and store them in LEAP particle structure

    Arguments

    Type IntentOptional Attributes Name
    class(ngapart_obj), intent(inout) :: this

    NGApart object

    class(particle_set), intent(inout) :: pp

    LEAP point-particle set