leapIO_mpi Module

Read/write binary data generated by NGA


Uses

  • module~~leapio_mpi~~UsesGraph module~leapio_mpi leapIO_mpi module~leapblock leapBlock module~leapio_mpi->module~leapblock module~leapkinds leapKinds module~leapio_mpi->module~leapkinds module~leapparallel leapParallel module~leapio_mpi->module~leapparallel mpi_f08 mpi_f08 module~leapio_mpi->mpi_f08 module~leapblock->module~leapkinds module~leapblock->module~leapparallel module~leapblock->mpi_f08 iso_fortran_env iso_fortran_env module~leapkinds->iso_fortran_env module~leapparallel->module~leapkinds module~leapparallel->mpi_f08 module~leapparser leapParser module~leapparallel->module~leapparser module~leapparser->module~leapkinds module~leapcli leapCli module~leapparser->module~leapcli module~leapcli->module~leapkinds

Used by

  • module~~leapio_mpi~~UsedByGraph module~leapio_mpi leapIO_mpi module~leapeulerian leapEulerian module~leapeulerian->module~leapio_mpi module~leapio leapIO module~leapeulerian->module~leapio module~leapio->module~leapio_mpi module~cdifs cdifs module~cdifs->module~leapeulerian module~leapbc leapBC module~cdifs->module~leapbc module~leapdiffop leapDiffOp module~cdifs->module~leapdiffop module~leaphypre leapHypre module~cdifs->module~leaphypre module~particles_resolved particles_resolved module~cdifs->module~particles_resolved module~collisions collisions module~cdifs->module~collisions module~immersed_boundaries immersed_boundaries module~cdifs->module~immersed_boundaries module~grans grans module~grans->module~leapeulerian module~grans->module~leapbc module~grans->module~leapdiffop module~grans->module~leaphypre module~particles_point particles_point module~grans->module~particles_point module~grans->module~particles_resolved module~grans->module~collisions module~grans->module~immersed_boundaries module~immersed_boundaries_markers immersed_boundaries_markers module~immersed_boundaries_markers->module~leapeulerian module~immersed_boundaries_markers->module~leapio module~immersed_boundaries_markers->module~leapdiffop module~immersed_boundaries_markers->module~leaphypre module~leaplagrangian leapLagrangian module~immersed_boundaries_markers->module~leaplagrangian module~immersed_boundaries_solids immersed_boundaries_solids module~immersed_boundaries_solids->module~leapeulerian module~immersed_boundaries_solids->module~leapio module~immersed_boundaries_solids->module~immersed_boundaries_markers module~immersed_boundaries_solids->module~leaplagrangian module~leapbc->module~leapeulerian module~leapdiffop->module~leapeulerian module~leapdiffop->module~leapbc module~leaphypre->module~leapeulerian module~leaplagrangian->module~leapio module~particles_point->module~leapeulerian module~particles_point->module~leapio module~particles_point->module~leapdiffop module~particles_point->module~leaplagrangian module~particles_point->module~immersed_boundaries module~particles_resolved->module~leapeulerian module~particles_resolved->module~leapio module~particles_resolved->module~leapdiffop module~particles_resolved->module~leaplagrangian module~particles_resolved->module~immersed_boundaries proc~bc_set_buildmask bc_set%bc_set_BuildMask proc~bc_set_buildmask->module~leapeulerian proc~bc_set_read bc_set%bc_set_Read proc~bc_set_read->module~leapio proc~bc_set_write bc_set%bc_set_Write proc~bc_set_write->module~leapio module~cdifs_advancesolution_smod cdifs_AdvanceSolution_smod module~cdifs_advancesolution_smod->module~cdifs module~cdifs_monitor_smod cdifs_Monitor_smod module~cdifs_monitor_smod->module~cdifs module~cdifs_preparesolver_smod cdifs_PrepareSolver_smod module~cdifs_preparesolver_smod->module~cdifs module~cdifs_writeoutputdata_smod cdifs_WriteOutputData_smod module~cdifs_writeoutputdata_smod->module~cdifs module~cdifs_writerestartdata_smod cdifs_WriteRestartData_smod module~cdifs_writerestartdata_smod->module~cdifs module~collisions->module~particles_point module~collisions->module~particles_resolved module~collisions->module~immersed_boundaries module~grans_advancesolution_smod grans_AdvanceSolution_smod module~grans_advancesolution_smod->module~grans module~grans_module_smod grans_module_smod module~grans_module_smod->module~grans module~grans_preparesolver_smod grans_PrepareSolver_smod module~grans_preparesolver_smod->module~grans module~grans_writeoutputdata_smod grans_WriteOutputData_smod module~grans_writeoutputdata_smod->module~grans module~grans_writerestartdata_smod grans_WriteRestartData_smod module~grans_writerestartdata_smod->module~grans module~immersed_boundaries->module~immersed_boundaries_markers module~immersed_boundaries->module~immersed_boundaries_solids module~nga_smod nga_smod module~nga_smod->module~particles_point proc~cdifs_obj_preparesolverbodyforce cdifs_obj_PrepareSolverBodyforce proc~cdifs_obj_preparesolverbodyforce->module~leapbc proc~cdifs_obj_preparesolveroperators cdifs_obj_PrepareSolverOperators proc~cdifs_obj_preparesolveroperators->module~leapbc proc~cdifs_obj_preparesolveroperatorsdiv cdifs_obj_PrepareSolverOperatorsDIV proc~cdifs_obj_preparesolveroperatorsdiv->module~leapbc proc~cdifs_obj_preparesolveroperatorspgrad cdifs_obj_PrepareSolverOperatorsPGRAD proc~cdifs_obj_preparesolveroperatorspgrad->module~leapbc proc~cdifs_obj_preparesolveroperatorsvlap cdifs_obj_PrepareSolverOperatorsVLAP proc~cdifs_obj_preparesolveroperatorsvlap->module~leapbc proc~grans_obj_preparesolveroperators grans_obj_PrepareSolverOperators proc~grans_obj_preparesolveroperators->module~leapdiffop proc~marker_set_computesolidvolfrac marker_set%marker_set_ComputeSolidVolFrac proc~marker_set_computesolidvolfrac->module~leapdiffop proc~op_obj_applylaplaciandc op_obj%op_obj_ApplyLaplacianDC proc~op_obj_applylaplaciandc->module~leapbc program~main main program~main->module~cdifs program~main->module~grans

Derived Types

type, public ::  ngadata_obj

A utility to read NGA data files

Components

Type Visibility Attributes Name Initial
type(block_obj), public, pointer :: block => null()

Associated block structure

type(MPI_Datatype), public :: block_i4

MPI derived type for integer block

type(MPI_Datatype), public :: block_r4

MPI derived type for SP real block

type(MPI_Datatype), public :: block_r8

MPI derived type for DP real block

real(kind=leapDP), public :: dt

Time step in file

integer, public, allocatable :: etypes(:)

Element types

type(MPI_File), public :: fid

File identifier

character(len=str64), public :: filename

file to read/write

type(MPI_Info), public :: mpi_info

MPI info

character(len=str8), public, allocatable :: names(:)

Names of variables in file

integer, public :: nx(3)

Grid size

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

Associated parallel structure

real(kind=leapDP), public :: time

Time in file

Type-Bound Procedures

procedure, public :: Close => ngadata_obj_Close
procedure, public :: Finalize => ngadata_obj_Final
procedure, public :: GetAttributes => ngadata_obj_GetAttributes
procedure, public :: Initialize => ngadata_obj_Init
procedure, public :: Open => ngadata_obj_Open
procedure, public :: SetView3D => ngadata_obj_SetView3D
procedure, public :: SetupMPITypes => ngadata_obj_SetupMPITypes
procedure, public :: read => ngadata_obj_ReadScalar3D

Subroutines

private subroutine ngadata_obj_Close(this)

Close file with MPI

Arguments

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

A NGAbin object

private subroutine ngadata_obj_Final(this)

Finalize structure

Arguments

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

A NGAbin object

private subroutine ngadata_obj_GetAttributes(this)

Read file attributes

Read more…

Arguments

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

A NGAbin object

private subroutine ngadata_obj_Init(this, filename, access_flag, block, parallel)

Initialize structure

Arguments

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

A NGAbin object

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

File to read/write

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

File access mode

type(block_obj), intent(in), target :: block

A block object

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

parallel structure from main program

private subroutine ngadata_obj_Open(this, flag)

Open a hdf5 file with ngadata

Arguments

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

A NGAbin object

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

File access flag

private subroutine ngadata_obj_ReadScalar3D(this, name, array, lo, hi)

Read Eulerian/3D data from a hdf5 file with h5hut

Arguments

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

A NGAbin object

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

Variable name

class(*), intent(out) :: array(:,:,:)

3-D data array

integer, intent(in) :: lo(3)

Low bounds

integer, intent(in) :: hi(3)

High bounds

private subroutine ngadata_obj_SetView3D(this, name, array, lo, hi)

Set the file view

Arguments

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

A NGAbin object

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

Variable name

class(*), intent(in) :: array(:,:,:)

3-D data array

integer, intent(in) :: lo(3)

Low bounds

integer, intent(in) :: hi(3)

High bounds

private subroutine ngadata_obj_SetupMPITypes(this)

Create MPI types needed for IO

Arguments

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

A NGAbin object