grid_read Submodule


Uses

  • module~~grid_read~~UsesGraph module~grid_read grid_read module~grid grid module~grid_read->module~grid module~reader reader module~grid->module~reader iso_fortran_env iso_fortran_env module~grid->iso_fortran_env module~phys_consts phys_consts module~grid->module~phys_consts module~mesh mesh module~grid->module~mesh module~mpimod mpimod module~grid->module~mpimod module~reader->iso_fortran_env module~reader->module~phys_consts module~phys_consts->iso_fortran_env module~mesh->module~phys_consts module~mpimod->iso_fortran_env module~mpimod->module~phys_consts mpi mpi module~mpimod->mpi

Used by

  • module~~grid_read~~UsedByGraph module~grid_read grid_read module~readgrid_hdf5 readgrid_hdf5 module~readgrid_hdf5->module~grid_read module~readgrid_raw readgrid_raw module~readgrid_raw->module~grid_read

Contents


Interfaces

interface

  • module subroutine get_grid3(path, flagswap, x, g1all, g2all, g3all, altall, glatall, glonall, Bmagall, Incall, nullptsall, e1all, e2all, e3all, erall, ethetaall, ephiall, rall, thetaall, phiall)

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in) :: path
    integer, intent(in) :: flagswap
    type(curvmesh), intent(inout) :: x
    real(kind=wp), intent(out), dimension(:,:,:):: g1all
    real(kind=wp), intent(out), dimension(:,:,:):: g2all
    real(kind=wp), intent(out), dimension(:,:,:):: g3all
    real(kind=wp), intent(out), dimension(:,:,:):: altall
    real(kind=wp), intent(out), dimension(:,:,:):: glatall
    real(kind=wp), intent(out), dimension(:,:,:):: glonall
    real(kind=wp), intent(out), dimension(:,:,:):: Bmagall
    real(kind=wp), intent(out), dimension(:,:):: Incall
    real(kind=wp), intent(out), dimension(:,:,:):: nullptsall
    real(kind=wp), intent(out), dimension(:,:,:,:):: e1all
    real(kind=wp), intent(out), dimension(:,:,:,:):: e2all
    real(kind=wp), intent(out), dimension(:,:,:,:):: e3all
    real(kind=wp), intent(out), dimension(:,:,:,:):: erall
    real(kind=wp), intent(out), dimension(:,:,:,:):: ethetaall
    real(kind=wp), intent(out), dimension(:,:,:,:):: ephiall
    real(kind=wp), intent(out), dimension(:,:,:):: rall
    real(kind=wp), intent(out), dimension(:,:,:):: thetaall
    real(kind=wp), intent(out), dimension(:,:,:):: phiall

Subroutines

subroutine read_grid_root(indatsize, indatgrid, x)

ADJUST THE SIZES OF THE VARIABLES IF LX3ALL==1, SO THAT THE ALLOCATIONS ARE THE CORRECT SIZE use total number of processes since we only divide in one direction here... should divide evenly if generated from mpigrid COMMUNICATE THE GRID SIZE TO THE WORKERS SO THAT THEY CAN ALLOCATE SPACE if this is a root-only simulation we don't want to error out need to also pass the lx2all size to all workers to they know

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: indatsize
character(len=*), intent(in) :: indatgrid
type(curvmesh), intent(inout) :: x

subroutine read_grid_workers(x)

COMPUTE DIFFERENTIAL DISTANCES ALONG EACH DIRECTION

Arguments

Type IntentOptional AttributesName
type(curvmesh), intent(inout) :: x

Module Procedures

module procedure read_grid module subroutine read_grid(indatsize, indatgrid, flagperiodic, x)

READS GRID INFORMATION FROM A BBINARY FILE AND ALLOCATES GRID STRUCTURE. NOTE THAT THE INPUT FILE DOES NOT, BY DEFAULT INCLUDE THE GHOST CELLS. THIS FUNCTION IS A WRAPPER WHICH PASSES WORK OFF TO APPROPRIATE SUBROUTINE DEPENDING ON WHETHER IT IS CALLED BY ROOT OR NOT. THIS SUBRoutINE ALSO CLASSIFIES THE GRID.

Read more…

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: indatsize
character(len=*), intent(in) :: indatgrid
integer, intent(in) :: flagperiodic
type(curvmesh), intent(inout) :: x