ITM Grid Service Library: Fortran 90
|
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 |
Definition at line 1 of file itm_grid_structured.f90.
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).
grid | Grid descriptor to fill |
coordtype | Dimension(n). Defines coordinate types / labels for the individual axes. See the constants defined in itm_grid.f90 (COORDTYPE_*) |
gshape | Dimension(n). Shape of the grid. In dimension i the grid has shape(i) grid points. |
x | Dimension( 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 ). |
createSubgrids | Optional flag controlling whether default subgrids are created. Default is .true. |
periodicSpaces | Optional 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. |
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
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.
grid | The grid descriptor to read from |
coordtype | The coordinate types of the individual axes/spaces |
gshape | Number of grid nodes on the individual axes/spaces |
x | The 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 ) |
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.
Index | of the cell (=indices of the composing faces) |
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.
index | Index of starting node of the edge |
dim | Index of the dimension along which the edge is aligned |
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.
index | Index of lower-right node. |
dims | The dimensions along which the face extends |
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.
index | Index of the grid node |
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.
grid | The grid descriptor to read from |
gshape | Number of grid nodes on the individual axes/spaces |
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.
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.