gid2eid Function

public pure function gid2eid(gx, gy, gz, nxpertile, nypertile, nzpertile, ntilex, ntiley, ntilez) result(eid)

Map a global element position (gx,gy,gz), with gx in [1,nX] etc., to the tile-ordered element id used throughout the structured mesh. This is the inverse of the (i,ti) decomposition: gx = i + nxpertile*(ti-1).

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: gx
integer, intent(in) :: gy
integer, intent(in) :: gz
integer, intent(in) :: nxpertile
integer, intent(in) :: nypertile
integer, intent(in) :: nzpertile
integer, intent(in) :: ntilex
integer, intent(in) :: ntiley
integer, intent(in) :: ntilez

Return Value integer


Calls

proc~~gid2eid~~CallsGraph proc~gid2eid gid2eid proc~elementid elementid proc~gid2eid->proc~elementid

Called by

proc~~gid2eid~~CalledByGraph proc~gid2eid gid2eid proc~uniformperiodicmesh_mesh3d_t UniformPeriodicMesh_Mesh3D_t proc~uniformperiodicmesh_mesh3d_t->proc~gid2eid

Contents

Source Code


Source Code

  pure function gid2eid(gx,gy,gz,nxpertile,nypertile,nzpertile, &
                        ntilex,ntiley,ntilez) result(eid)
  !! Map a global element position (gx,gy,gz), with gx in [1,nX] etc., to the
  !! tile-ordered element id used throughout the structured mesh. This is the
  !! inverse of the (i,ti) decomposition: gx = i + nxpertile*(ti-1).
    integer,intent(in) :: gx,gy,gz
    integer,intent(in) :: nxpertile,nypertile,nzpertile
    integer,intent(in) :: ntilex,ntiley,ntilez
    integer :: eid
    integer :: i,j,k,ti,tj,tk

    ti = (gx-1)/nxpertile+1; i = gx-(ti-1)*nxpertile
    tj = (gy-1)/nypertile+1; j = gy-(tj-1)*nypertile
    tk = (gz-1)/nzpertile+1; k = gz-(tk-1)*nzpertile

    eid = elementid(i,j,k,ti,tj,tk,nxpertile,nypertile,nzpertile, &
                    ntilex,ntiley,ntilez)

  endfunction gid2eid