These functions create F5Path objects for subsequent usage by F5F field functions. More...
These functions create F5Path objects for subsequent usage by F5F field functions.
They are created directly from HDF5 id's and native types.
F5_API F5Path* F5Rcreate_cartesian | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname, | |||
const char * | coordinate_system | |||
) |
Create a Field object for a given representation of a grid's vertices in a certain coordinate system.
F5_API F5Path* F5Rcreate_coordinate_topology | ( | hid_t | File_id, | |
const double * | time, | |||
const char * | gridname, | |||
const char * | coordinate_system, | |||
const char * | TopologyName, | |||
int | IndexDepth, | |||
int | SkeletonDimensionality, | |||
int | Dimensionality, | |||
const hsize_t * | refinement | |||
) |
Create a representation for a specific topological space on the grid in a certain coordinate system.
Mostly of internal use.
F5_API void F5Rcreate_downsampling | ( | F5Path * | Topology, | |
const hsize_t * | downsampling | |||
) |
Create a topology suitable for downsampled data, i.e.
where the average of another topology's cells are stored. The index depth of the new topology will be one more than that of the original one.
F5_API F5Path* F5Rcreate_edges_as_vertices_topology | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname | |||
) |
F5_API F5Path* F5Rcreate_faces_as_vertices_topology | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname | |||
) |
F5_API F5Path* F5Rcreate_hexaedrons_as_vertices_topology | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname | |||
) |
F5_API F5Path* F5Rcreate_relative_vertex_Irefinement3D | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname, | |||
const hsize_t | current_refinement[3], | |||
double | target_time, | |||
const hsize_t | target_refinement[3] | |||
) |
Create a refinement topology whose refined cells fully cover coarse cells.
The border vertices line up exactly, i.e. the positions of a subregion may be given in integers of a coarse region.
F5_API F5Path* F5Rcreate_relative_vertex_Qrefinement3D | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname, | |||
const hsize_t | current_refinement[3], | |||
double | target_time, | |||
const hsize_t | target_refinement[3] | |||
) |
Create a refinement topology whose refined cells may partially cover coarse cells.
The refinement coordinates are given as rational numbers.
F5_API F5Path* F5Rcreate_static_cartesian | ( | hid_t | File_id, | |
const char * | gridname, | |||
const char * | coordinate_system | |||
) |
Construct a Field object for a representation of a grid's vertices in a certain coordinate system.
ChartDomain | A coordinate system domain object. It may be NULL to create a new one via the coord_creator parameter locally for this field. If a class of coordinate systems shall be used for multiple grids (which is required to enable interpolation), then a shared ChartDomain object needs to be given. If is reference counted among all grids that use it (taken care of in F5close() ). | |
coord_creator | A procedure to create a new class of coordinate systems. | |
coordinate_system | A name for an instance of the coordinate system, i.e. for the current chart object to use. | |
TopologyName | On which topological space of the grid to create the coordinate representation (e.g. vertices, cells, edges, refinement level ...) | |
time | The time to which the succeeding data will be attached. Use F5Rcreate_static_cartesian() if no time information is reasonable for the given data. Note that static data currently requires special handling when reading data, so it is recommended to adjust any data to a timeslice, except if there is an absolute requirement to specify that these data are constant for all thinkable times. |
ChartDomain | A coordinate system domain object. It may be NULL to create a new one via the coord_creator parameter locally for this field. If a class of coordinate systems shall be used for multiple grids (which is required to enable interpolation), then a shared ChartDomain object needs to be given. If is reference counted among all grids that use it (taken care of in F5close() ). | |
coord_creator | A procedure to create a new class of coordinate systems. | |
coordinate_system | A name for an instance of the coordinate system, i.e. for the current chart object to use. | |
TopologyName | On which topological space of the grid to create the coordinate representation (e.g. vertices, cells, edges, refinement level ...) |
F5_API void F5Rcreate_subsampling | ( | F5Path * | Topology, | |
const hsize_t * | subsampling | |||
) |
Create a topology suitable for subsampled data, i.e.
where a subset of another topology's cells are stored. Note that the same data can also be retrieved by HDF5 hyperslabbing, but storing an hyperslab as a contigous data set may be helpful for faster data access. The index depth of the new topology will be identical to the original one.
F5_API F5Path* F5Rcreate_tetrahedrons_as_vertices_topology | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname | |||
) |
F5_API F5Path* F5Rcreate_triangles_as_vertices_topology | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname | |||
) |
F5_API F5Path* F5Rcreate_vertex_refinement3D | ( | hid_t | File_id, | |
double | time, | |||
const char * | gridname, | |||
const hsize_t | refinement[3], | |||
const char * | coordinate_system | |||
) |
Create an Field object for vertices of a grid in a certain coordinate system that is intended to store subsampled data of the full grid.
Note that this function is intended to store contigous datasets, which can be hyperslabs of other datasets. It can be used as a "cache" for hyperslabbed data such that they require less disc space.
refinement | The refinement factor as compared to the finest resolution. Note that the coarsest resolution should get the smallest number and the finest resolution (i.e. the complete dataset) the largest number. It is recommended to start counting at zero. |
F5_API long* F5Rget_timestep | ( | F5Path * | path, | |
long * | timestep | |||
) |
Get information about the optional integer timestep of an Grid object.
All fields per grid object must refer to the same integer timestep. If a Grid object does not provide such timestep information, it may be an interpolated grid that can be computed from others that contain such timestep information. The timestep value by itself is arbitrary, but must be unique among all Grid objects with the same Grid identifier.
F5_API int F5Rlink_default_vertex_topology | ( | F5Path * | grid, | |
const hsize_t | target_refinement[3] | |||
) |
Create a symbolic links from some vertex refinement topology group to the default group "Points".
grid | Pointer to an F5Path object. It must contain a valid Grid_id identifiert. |
F5_API int F5Rset_timestep | ( | F5Path * | path, | |
long | timestep | |||
) |
Set information about an integer timestep (per Grid object!) This is an recommended attribute for data originating from subsequent simulations.
It may be omitted on interpolated grid objects to specify that these are secondary data that can be reproduced from grids with Timestep information.