ITM Grid Service Library: Fortran 90
 All Classes Files Functions Variables
itm_grid_structured Module Reference

Data Types

interface  gridstructreaddata
interface  gridstructwritedata

Public Member Functions

subroutine gridsetupstructured (grid, coordtype, gshape, x, id, createSubgrids, periodicSpaces)
 Write a n-dimensional structured grid into a grid descriptor, as well as the default subgrids for objects of all dimensions.
subroutine gridsetupstructuredsep (grid, ndim, c1, x1, c2, x2, c3, x3, c4, x4, c5, x5, c6, x6, id, createSubgrids, periodicSpaces)
 Write a n-dimensional structured grid into a grid descriptor (alternate version with separate dimension vectors)
subroutine gridsetupstruct1dspace (space, coordtype, nodes, periodic)
 Set up a 1d structured space.
logical function gridisstructured (grid)
 Test whether the given grid descriptor contains a structured grid in the sense of this service module.
subroutine gridstructgetaxes (grid, coordtype, gshape, x)
 Return the axes description of a structured grid. Essentially the equivalent read routine to gridSetupStructured.
subroutine gridstructgetshape (grid, gshape)
 Return the shape (number of points in every dimension) of a structured grid.
type(gridobject) function gridstructgetcell (index)
 Return an object descriptor for a cell in an n-dimensional structured grid for the canonical coordinates given in index.
type(gridobject) function gridstructgetnode (index)
 Return a descriptor for a grid node with the given index.
type(gridobject) function gridstructgetedge (index, dim)
 Return a descriptor for an (one-dimensional) edge, the start point of which is given by node with the given index and which extends to the next point in the increasing coordinate direction of dimension dim.
type(gridobject) function gridstructgetface (index, dims)
 Return a descriptor for a (two-dimensional) face. The lower-right node of the face is given by index, and the face extends along the two coordinate directions given in dims.
subroutine gridstructwritedata1d (grid, cpofield, subgrid, data)
subroutine gridstructwritedata2d (grid, cpofield, subgrid, data)
subroutine gridstructwritedata3d (grid, cpofield, subgrid, data)
subroutine gridstructreaddatabody (grid, cpofield, subgrid, gshape)
 Body of the data read routine for data arrays with arbitrary rank.
subroutine gridstructreaddata1d (grid, cpofield, subgrid, data)
subroutine gridstructreaddata2d (grid, cpofield, subgrid, data)
subroutine gridstructreaddata3d (grid, cpofield, subgrid, data)
subroutine gridsetupstructuredcurvilinear3d (grid, coordtype, x, y, z, id, createSubgrids)

Public Attributes

integer, parameter grid_struct_subgrid_0d = 1
 Definition of default subgrids.
integer, parameter grid_struct_subgrid_1d = 2
integer, parameter grid_struct_subgrid_2d = 3
integer, parameter grid_struct_subgrid_3d = 4
integer, parameter grid_struct_subgrid_4d = 5
integer, parameter grid_struct_subgrid_5d = 6
integer, parameter grid_struct_subgrid_6d = 7
integer, parameter grid_struct_nodes = GRID_STRUCT_SUBGRID_0D
integer, parameter grid_struct_edges = GRID_STRUCT_SUBGRID_1D
integer, parameter grid_struct_faces = GRID_STRUCT_SUBGRID_2D
integer, parameter grid_struct_cells = GRID_STRUCT_SUBGRID_3D

Detailed Description

Definition at line 1 of file itm_grid_structured.f90.

Member Function/Subroutine Documentation

logical function itm_grid_structured::gridisstructured ( type(type_complexgrid), intent(in)  grid)

Test whether the given grid descriptor contains a structured grid in the sense of this service module.

Definition at line 356 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridsetupstruct1dspace ( real(r8), dimension (assumed to be in increasing order), intent(in)  space,
integer, intent(in)  coordtype,
real(r8), dimension(:), intent(in)  nodes,
logical, intent(in), optional  periodic 
)

Set up a 1d structured space.

Helper routine used by gridSetupStructured. Sets up a space descriptor for the case of a simple 1d structured grid with standard connectivity

Definition at line 257 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridsetupstructured ( type(type_complexgrid), intent(out)  grid,
integer, dimension(:), intent(in)  coordtype,
integer, dimension(size(coordtype)), intent(in)  gshape,
real(r8), dimension(:, :), intent(in)  x,
character(*), intent(in), optional  id,
logical, intent(in), optional  createSubgrids,
integer, dimension(:), intent(in), optional  periodicSpaces 
)

Write a n-dimensional structured grid into a grid descriptor, as well as the default subgrids for objects of all dimensions.

The dimension n of the grid is taken as size(coordtype).

Parameters
gridGrid descriptor to fill
coordtypeDimension(n). Defines coordinate types / labels for the individual axes. See the constants defined in itm_grid.f90 (COORDTYPE_*)
gshapeDimension(n). Shape of the grid. In dimension i the grid has shape(i) grid points.
xDimension( maxval( gshape(n) ), n ). Grid node coordinates in the individual dimensions. The node positions in space i are given by x( 1 : gshape( i ), id ).
createSubgridsOptional flag controlling whether default subgrids are created. Default is .true.
periodicSpacesOptional integer array containing the indices of the coordinate directions that are periodic. This will result in the last node in these coordinate directions to be connected to the first node by an edge. Note that if periodic spaces are present, no metric information is computed.
See Also
gridSetupStructuredSep

Definition at line 71 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridsetupstructuredcurvilinear3d ( type(type_complexgrid), intent(out)  grid,
integer, dimension(3), intent(in)  coordtype,
real(r8), dimension(:,:,:), intent(in)  x,
real(r8), dimension(:,:,:), intent(in)  y,
real(r8), dimension(:,:,:), intent(in)  z,
character(*), intent(in), optional  id,
logical, intent(in), optional  createSubgrids 
)

Definition at line 610 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridsetupstructuredsep ( type(type_complexgrid), intent(out)  grid,
integer, intent(in)  ndim,
integer, intent(in)  c1,
real(r8), dimension(:), intent(in)  x1,
integer, intent(in), optional  c2,
real(r8), dimension(:), intent(in), optional  x2,
integer, intent(in), optional  c3,
real(r8), dimension(:), intent(in), optional  x3,
integer, intent(in), optional  c4,
real(r8), dimension(:), intent(in), optional  x4,
integer, intent(in), optional  c5,
real(r8), dimension(:), intent(in), optional  x5,
integer, intent(in), optional  c6,
real(r8), dimension(:), intent(in), optional  x6,
character(*), intent(in), optional  id,
logical, intent(in), optional  createSubgrids,
integer, dimension(:), intent(in), optional  periodicSpaces 
)

Write a n-dimensional structured grid into a grid descriptor (alternate version with separate dimension vectors)

Alternate wrapper for gridSetupStructured, which makes it easier to give the node positions as individual arrays

See Also
gridSetupStructured

Definition at line 162 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructgetaxes ( type(type_complexgrid), intent(in)  grid,
integer, dimension(:), intent(out), allocatable  coordtype,
integer, dimension(:), intent(out), allocatable  gshape,
real(r8), dimension(:,:), intent(out), allocatable  x 
)

Return the axes description of a structured grid. Essentially the equivalent read routine to gridSetupStructured.

Parameters
gridThe grid descriptor to read from
coordtypeThe coordinate types of the individual axes/spaces
gshapeNumber of grid nodes on the individual axes/spaces
xThe position of the grid nodes. x(i,s) is the position of node i in space s. All nodes in space s are given by x( 1:gshape(s), s )
See Also
gridSetupStructured

Definition at line 385 of file itm_grid_structured.f90.

type(gridobject) function itm_grid_structured::gridstructgetcell ( integer, dimension(:), intent(in)  index)

Return an object descriptor for a cell in an n-dimensional structured grid for the canonical coordinates given in index.

Parameters
Indexof the cell (=indices of the composing faces)
Returns
The object descriptor

Definition at line 448 of file itm_grid_structured.f90.

type(gridobject) function itm_grid_structured::gridstructgetedge ( integer, dimension(:), intent(in)  index,
integer, intent(in)  dim 
)

Return a descriptor for an (one-dimensional) edge, the start point of which is given by node with the given index and which extends to the next point in the increasing coordinate direction of dimension dim.

Parameters
indexIndex of starting node of the edge
dimIndex of the dimension along which the edge is aligned
Returns
The object descriptor

Definition at line 486 of file itm_grid_structured.f90.

type(gridobject) function itm_grid_structured::gridstructgetface ( integer, dimension(:), intent(in)  index,
integer, dimension(2), intent(in)  dims 
)

Return a descriptor for a (two-dimensional) face. The lower-right node of the face is given by index, and the face extends along the two coordinate directions given in dims.

Parameters
indexIndex of lower-right node.
dimsThe dimensions along which the face extends
Returns
The object descriptor

Definition at line 508 of file itm_grid_structured.f90.

type(gridobject) function itm_grid_structured::gridstructgetnode ( integer, dimension(:), intent(in)  index)

Return a descriptor for a grid node with the given index.

Parameters
indexIndex of the grid node
Returns
The object descriptor

Definition at line 465 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructgetshape ( type(type_complexgrid), intent(in)  grid,
integer, dimension(:), intent(out), allocatable  gshape 
)

Return the shape (number of points in every dimension) of a structured grid.

Parameters
gridThe grid descriptor to read from
gshapeNumber of grid nodes on the individual axes/spaces
See Also
gridSetupStructured

Definition at line 420 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructreaddata1d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(in)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:), intent(out)  data 
)

Definition at line 576 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructreaddata2d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(in)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:,:), intent(out)  data 
)

Definition at line 586 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructreaddata3d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(in)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:,:,:), intent(out)  data 
)

Definition at line 596 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructreaddatabody ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(in)  cpofield,
integer, intent(in)  subgrid,
integer, dimension(:), intent(in)  gshape 
)

Body of the data read routine for data arrays with arbitrary rank.

Definition at line 554 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructwritedata1d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(inout)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:), intent(in)  data 
)

Definition at line 525 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructwritedata2d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(inout)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:,:), intent(in)  data 
)

Definition at line 534 of file itm_grid_structured.f90.

subroutine itm_grid_structured::gridstructwritedata3d ( type(type_complexgrid), intent(in)  grid,
type(type_complexgrid_scalar), intent(inout)  cpofield,
integer, intent(in)  subgrid,
real(r8), dimension(:,:,:), intent(in)  data 
)

Definition at line 543 of file itm_grid_structured.f90.

Member Data Documentation

integer, parameter itm_grid_structured::grid_struct_cells = GRID_STRUCT_SUBGRID_3D

Definition at line 31 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_edges = GRID_STRUCT_SUBGRID_1D

Definition at line 29 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_faces = GRID_STRUCT_SUBGRID_2D

Definition at line 30 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_nodes = GRID_STRUCT_SUBGRID_0D

Definition at line 28 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_0d = 1

Definition of default subgrids.

Definition at line 19 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_1d = 2

Definition at line 20 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_2d = 3

Definition at line 21 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_3d = 4

Definition at line 22 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_4d = 5

Definition at line 23 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_5d = 6

Definition at line 24 of file itm_grid_structured.f90.

integer, parameter itm_grid_structured::grid_struct_subgrid_6d = 7

Definition at line 25 of file itm_grid_structured.f90.


The documentation for this module was generated from the following file: