int xfSetNumberOfElements(xid GroupId, int NumElems);
SUBROUTINE XF_SET_NUMBER_OF_ELEMENTS(GroupId, NumElems, Error); INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(IN) :: NumElems INTEGER, INTENT(OUT) :: Error These functions are used to set the element types. If all of the elements have the same type, you can pass a single value rather than passing an entire array.
int xfSetAllElemsSameType(xid GroupId, int type); int xfWriteElemTypes(xid GroupId, int *type, int Compression);
SUBROUTINE XF_SET_ALL_ELEMS_SAME_TYPE(GroupId, Type, Error); INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(IN) :: Type INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_WRITE_ELEM_TYPES(GroupId, Types, Error); INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(IN) :: Types(*) INTEGER, INTENT(OUT) :: Error
int xfWriteElemNodeIds(xid GroupId, int MaxNumNodes, int *Ids, int Compression...);
SUBROUTINE XF_WRITE_ELEM_NODE_IDS (a_Id, a_nElems, a_nMaxNodes, a_Ids, a_Compression, error) INTEGER, INTENT(IN) :: a_Id INTEGER, INTENT(IN) :: a_nElems, a_nMaxNodes, a_Compression INTEGER, DIMENSION(*), INTENT(IN) :: a_Ids INTEGER, INTENT(OUT) :: error
int xfSetNumberOfNodes(xid GroupId, int Num); int xfWriteXNodeLocations(xid GroupId, double *Locs, int Compression); int xfWriteYNodeLocations(xid GroupId, double *Locs); int xfWriteZNodeLocations(xid GroupId, double *Locs);
SUBROUTINE XF_SET_NUMBER_OF_NODES(GroupId, Num, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(IN) :: Num, Compression INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_WRITE_X_NODE_LOCATIONS(GroupId, XLocs, Compression, Error) INTEGER(XID), INTENT(IN) :: GroupId REAL(DOUBLE), INTENT(IN) :: Locs(*) INTEGER, INTENT(IN) :: Compression INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_WRITE_Y_NODE_LOCATIONS(GroupId, YLocs, Error) INTEGER(XID), INTENT(IN) :: GroupId REAL(DOUBLE), INTENT(IN) :: Locs(*) INTEGER, INTENT(IN) :: Compression INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_WRITE_Z_NODE_LOCATIONS(GroupId, ZLocs, Error) INTEGER(XID), INTENT(IN) :: GroupId REAL(DOUBLE), INTENT(IN) :: Locs(*) INTEGER, INTENT(IN) :: Compression INTEGER, INTENT(OUT) :: Error // The locations can also be written as a single 2D array indexed by // component then node index SUBROUTINE XF_WRITE_LOCATIONS(GroupId, Locs, Compression, Error) INTEGER(XID), INTENT(IN) :: GroupId REAL(DOUBLE), INTENT(IN) :: Locs(3,*) INTEGER, INTENT(IN) :: Compression INTEGER, INTENT(OUT) :: Error
The following function is used to get the number of elements in a mesh:
int xfGetNumberOfElements(xid GroupId, int *NumElems);
SUBROUTINE XF_GET_NUMBER_OF_ELEMENTS(GroupId, NumElems, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(OUT) :: NumElems, Error
int xfAreAllElemsSameType(xid GroupId, xbool &Same); int xfReadElemTypesSingleValue(xid GroupId, int *Type); int xfReadElemTypes(xid GroupId, int *Types);
SUBROUTINE XF_ARE_ALL_ELEMS_SAME_TYPE(GroupId, Same, Error) INTEGER(XID), INTENT(IN) :: GroupId LOGICAL, INTENT(OUT) :: Same INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_READ_ELEM_TYPE_SINGLE_VALUE(GroupId, Type, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(OUT) :: Type INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_READ_ELEM_TYPES(GroupId, Types, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(OUT) :: Types(*) INTEGER, INTENT(OUT) :: Error
int xfGetMaxNodesInElem(xid GroupId, int *MaxNodes); int xfReadElemNodeIds(xid GroupId, int *ElemNodes);
SUBROUTINE XF_GET_MAX_NODES_IN_ELEM(GroupId, MaxNodes, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(OUT) :: MaxNodes INTEGER, INTENT(OUT) :: Error SUBROUTINE XF_GET_MAX_NODES_IN_ELEM(GroupId, ElemNodes, Error) INTEGER(XID), INTENT(IN) :: GroupId INTEGER, INTENT(OUT) :: ElemNodes(*) INTEGER, INTENT(OUT) :: Error
int xfGetNumberOfNodes(xid GroupId, int *NumNodes); int xfReadNodeLocationsX(xid GroupId, double *xLocs); ??? int xfReadNodeLocationsY(xid GroupId, double *yLocs); ??? int xfReadNodeLocationsZ(xid GroupId, double *zLocs); ???
SUBROUTINE XF_GET_NUMBER_OF_NODES(GroupId, NumNodes, Error)
INTEGER(XID), INTENT(IN) :: GroupId
INTEGER, INTENT(OUT) :: NumNodes
INTEGER, INTENT(OUT) :: Error
SUBROUTINE XF_READ_NODE_LOCATIONS_X(GroupId, xLocs, Error)
INTEGER(XID), INTENT(IN) :: GroupId
REAL(DOUBLE), INTENT(OUT) :: xLocs(*)
INTEGER, INTENT(OUT) :: Error
SUBROUTINE XF_READ_NODE_LOCATIONS_Y(GroupId, yLocs, Error)
INTEGER(XID), INTENT(IN) :: GroupId
REAL(DOUBLE), INTENT(OUT) :: yLocs(*)
INTEGER, INTENT(OUT) :: Error
SUBROUTINE XF_READ_NODE_LOCATIONS_Y(GroupId, zLocs, Error)
INTEGER(XID), INTENT(IN) :: GroupId
REAL(DOUBLE), INTENT(OUT) :: zLocs(*)
INTEGER, INTENT(OUT) :: Error
// To read all the same time similar to writing.
SUBROUTINE XF_READ_NODE_LOCATIONS (GroupId, Locs, Error)
INTEGER(XID), INTENT(IN) :: GroupId
REAL(DOUBLE), INTENT(OUT) :: Locs(3, *)
INTEGER, INTENT(OUT) :: Error