*vdm_DataFunBegin - create an instance of a DataFun object vdm_DataFunEnd - destroy an instance of a DataFun object vdm_DataFunError - return DataFun object error flag vdm_DataFunCopy - make a copy of a DataFun object
vdm_DataFunSet - set function pointers vdm_DataFunGet - get function pointers vdm_DataFunSetObj - set auxiliary object vdm_DataFunGetObj - get auxiliary object
vdm_DataFunAppend - append library device vdm_DataFunLibDataset - change library dataset vdm_DataFunClose - close library device vdm_DataFunOpen - open library device vdm_DataFunNumDomains - query number of domains vdm_DataFunSetConnect - set Connect object vdm_DataFunSetConvention - set dataset and attribute convention vdm_DataFunSetIds - set numeric identifier algorithm vdm_DataFunSetMode - set mode for dataset reading vdm_DataFunSetStatus - set file status for opening library
vdm_DataFunGetInteger - return integer parameters vdm_DataFunGetString - return string parameters vdm_DataFunGetLibrary - return Library object vdm_DataFunGetNumEntities - return number of entities vdm_DataFunNumAttributes - return number of attributes vdm_DataFunNumDatasets - return number of datasets vdm_DataFunNumDomains - query number of domains vdm_DataFunInqAttribute - inquire attribute parameters vdm_DataFunInqDataset - inquire dataset parameters
vdm_DataFunDefAttribute - define attribute vdm_DataFunDefDataset - define dataset vdm_DataFunReadDataset - read dataset contents vdm_DataFunReadDatasetCols - read dataset contents at columns vdm_DataFunWriteDataset - write dataset contents vdm_DataFunSetAttVal - set attribute value vdm_DataFunGetAttVal - get attribute value
vdm_SDRCLib *sdrclib; vdm_DataFun *df; Vint filetype; /* create data function */ df = vdm_DataFunBegin(); filetype = VDM_SDRC_UNIVERSAL; /* create SDRC Universal File device object */ sdrclib = vdm_SDRCLibBegin(); /* load data functions for SDRCLib device */ vdm_SDRCLibDataFun (sdrclib,df);At this point opening, appending, closing and accessing data from a library device can be accomplished abstractly using a DataFun object generated in the manner above.
A modification of the above code fragment to allow for either SDRC Universal files or NASTRAN Output2 files may be easily constructed. In the code that follows simply changing the filetype to VDM_NASTRAN_OUTPUT2 would setup the DataFun object for accessing NASTRAN Output2 files.
vdm_NASLib *naslib; vdm_SDRCLib *sdrclib; vdm_DataFun *df; Vint filetype; Vint filetypeappend; Vint ierr; /* create data function */ df = vdm_DataFunBegin(); filetype = VDM_SDRC_UNIVERSAL; /* create device object */ /* load data functions */ if(filetype == VDM_SDRC_UNIVERSAL) { sdrclib = vdm_SDRCLibBegin(); vdm_SDRCLibDataFun (sdrclib,df); } else if(filetype == VDM_NASTRAN_OUTPUT2) { naslib = vdm_NASLibBegin(); vdm_NASLibDataFun (naslib,df); }To open a library device use vdm_DataFunOpen. The library device is now ready for access.
/* open library on file "example.unv" */ vdm_DataFunOpen (df,0,"example.unv",filetype); /* check error */ ierr = vdm_DataFunError(df); if(ierr) { }To optionally append a library device use vdm_DataFunAppend. Not all library devices support an appended file and only certain library devices may be appended. The return error code should be checked for this case.
/* append library on file "append.op2" */ filetypeappend = VDM_NASTRAN_OUTPUT2; vdm_DataFunAppend (df,"append.op2",filetypeappend); /* check error */ ierr = vdm_DataFunError(df); if(ierr) { }Any library device which can be appended can also be opened directly if a Connect object containing proper model information is set using vdm_DataFunSetConnect prior to opening the file.
/* set Connect object */ vdm_DataFunSetConnect (df,connect); filetyperesults = VDM_NASTRAN_OUTPUT2; vdm_DataFunOpen (df,0,"resultsonly.op2",filetyperesults); To close a library device and terminate VdmTools, reverse the process described above. The following code fragment illustrates this process and could easily generalized as above to delete either a SDRC Universal file library object or a NASTRAN Output2 file object, .CB /* close library device */ vdm_DataFunClose (df); /* delete objects */ vdm_SDRCLibEnd (sdrclib); vdm_DataFunEnd (df);Table of Contents
vdm_Library *library; Vint numdatasets; /* get library object */ vdm_DataFunGetLibrary (df,&library); /* get number of datasets on library */ vdm_LibraryGetNumDatasets (library,&numdatasets);Each dataset on a library is assigned a dataset index ranging from zero to the number of datasets on the library minus one. To query dataset parameters of the idst th dataset such as dataset name, length, number of rows, number of columns, data type and number of dataset attributes use the following,
vdm_Library *library; vdm_Dataset *dataset; Vchar name[33]; Vint idst; Vlong lrec; Vint nrow, ncol, ntyp, natt; /* get library object */ vdm_DataFunGetLibrary (df,&library); /* get first dataset */ idst = 0; /* get dataset object of idst dataset */ vdm_LibraryGetDataset (library,idst,&dataset); /* inquire dataset parameters */ vdm_DatasetInq (dataset,name,&lrec,&nrow,&ncol,&ntyp); /* inquire number of dataset attributes */ vdm_DatasetGetNumAttributes (dataset,&natt);Each attribute associated with a dataset is assigned an index ranging from zero to the number of attributes minus one. To query attribute parameters and values of the iatt th attribute of the idst th dataset such as attribute name, length, data type and value use the following,
{ vdm_Library *library; vdm_Dataset *dataset; vdm_Attribute *attribute; Vchar name[33]; Vint lnga, itya; Vchar cvalue[33]; Vfloat rvalue[8]; Vint ivalue[8]; Vint idst, iatt; /* get library object */ vdm_DataFunGetLibrary (df,&library); /* get first attribute of second dataset */ idst = 1; iatt = 0; /* get dataset object of idst dataset */ vdm_LibraryGetDataset (library,idst,&dataset); /* get iatt attribute object of dataset */ vdm_DatasetGetAttribute (dataset,iatt,&attribute); /* inquire attribute parameters */ vdm_AttributeInq (attribute,name,lnga,itya); /* get attribute value */ if(itya == SYS_INTEGER) { vdm_AttributeValueInteger (attribute,ivalue); } else if(itya == SYS_SINGLE) { vdm_AttributeValueFloat (attribute,rvalue); } else if(itya == SYS_HOLLERITH) { vdm_AttributeValueString (attribute,cvalue); }Table of Contents
vdm_DataFunReadDataset (df,idst,(void*)buff);Read dataset contents can be read for a specified set of columns using vdm_DataFunReadDatasetCols. Use the following to read the contents of a specified set of ncols columns of the idst th dataset into vector buff.
vdm_DataFunReadDatasetCols (df,idst,ncols,cols,(void*)buff,(Vlong*)lptr);Table of Contents
*vdm_DataFunBegin - create an instance of a DataFun object
vdm_DataFun *vdm_DataFunBegin ()
None
Destroy an instance of a DataFun object using
void vdm_DataFunEnd (vdm_DataFun *datafun)
Return the current value of a DataFun object error flag using
Vint vdm_DataFunError (vdm_DataFun *datafun)
Make a copy of a DataFun object. The private data from the fromdatafun object is copied to the datafun object. Any previous private data in datafun is lost.
void vdm_DataFunCopy (vdm_DataFun *datafun, vdm_DataFun *fromdatafun)
vdm_DataFunSet - set pointer to data function
void vdm_DataFunSet (vdm_DataFun *datafun, Vint type, void (*function)())
datafun Pointer to DataFun object. type Function type being set =DATAFUN_APPEND Set Append function =DATAFUN_CLOSE Set Close function =DATAFUN_LIBDATASET Set LibDataset function =DATAFUN_OPEN Set Open function =DATAFUN_NUMDOMAINS Set NumDomains function =DATAFUN_SETCONNECT Set SetConnect function =DATAFUN_SETCONVENTION Set SetConvention function =DATAFUN_SETIDS Set SetIds function =DATAFUN_SETMODE Set SetMode function =DATAFUN_SETSTATUS Set SetStatus function =DATAFUN_GETINTEGER Set GetInteger function =DATAFUN_GETLIBRARY Set GetLibrary function =DATAFUN_GETNUMENTITIES Set GetNumEntities function =DATAFUN_GETSTRING Set GetString function =DATAFUN_NUMATTRIBUTES Set NumAttributes function =DATAFUN_NUMDATASETS Set NumDatasets function =DATAFUN_INQATTRIBUTES Set InqAttributes function =DATAFUN_INQDATASETS Set InqDatasets function =DATAFUN_DEFATTRIBUTE Set DefAttribute function =DATAFUN_DEFDATASET Set DefDataset function =DATAFUN_READDATASET Set ReadDataset function =DATAFUN_READDATASETCOLS Set ReadDatasetCols function =DATAFUN_WRITEDATASET Set WriteDataset function =DATAFUN_SETATTVAL Set SetAttVal function =DATAFUN_GETATTVAL Set GetAttVal function function Pointer to data function
None
Get function as an output argument using
void vdm_DataFunGet (vdm_DataFun *datafun, Vint type, void (**function)())
vdm_DataFunSetObj - set pointer to auxiliary object
void vdm_DataFunSetObj (vdm_DataFun *datafun, Vobject *obj)
datafun Pointer to DataFun object. obj Pointer to auxiliary object
None
Get obj as an output argument using
void vdm_DataFunGetObj (vdm_DataFun *datafun, Vobject **obj)
vdm_DataFunAppend - append library device
void vdm_DataFunAppend (vdm_DataFun *datafun, Vchar *path, Vint type)
datafun Pointer to DataFun object. path Pathname to host file associated with the library device type Type of library device file =SYS_FLUENT_MESH FLUENT mesh and data file =SYS_NASTRAN_OUTPUT2 MSC/NASTRAN OUTPUT2 data file =SYS_NATIVE VKI native data base =SYS_PATRAN_RESULT MSC/Patran result file =SYS_PLOT3D_SOLUTION NASA/PLOT3D solution or function file =SYS_SDRC_UNIVERSAL SDRC universal file =SYS_STARCCM STAR-CCM results file =SYS_TECPLOT Tecplot file format
None
SYS_ABAQUS_FIL SYS_ABAQUS_INPUT SYS_ABAQUS_ODB SYS_ANSYS_INPUT SYS_ANSYS_RESULT SYS_FLUENT_MESH SYS_LSTC_INPUT SYS_NASTRAN_BULKDATA SYS_NASTRAN_OUTPUT2 SYS_NATIVE SYS_PATRAN_NEUTRAL SYS_PLOT3D_GRID SYS_SDRC_UNIVERSAL SYS_TECPLOTUse vdm_DataFunClose to close a library device and all appended library devices.
vdm_DataFunLibDataset - change library dataset
void vdm_DataFunLibDataset (vdm_DataFun *datafun, Vint iop, Vint idst)
datafun Pointer to DataFun object. iop Operation =VDM_LIBDATASET_PUSH Change to child library dataset idst =VDM_LIBDATASET_POP Change to parent library =VDM_LIBDATASET_TOP Change to root library idst Index of dataset object representing library
None
vdm_DataFunClose - close library device
void vdm_DataFunClose (vdm_DataFun *datafun)
datafun Pointer to DataFun object.
None
vdm_DataFunDefAttribute - define attribute and parameters
void vdm_DataFunDefAttribute (vdm_DataFun *datafun, Vint idst, const Vchar *name, Vint length, Vint type, Vint *iatt)
datafun Pointer to DataFun object. idst Dataset index name Name given to attribute length Length of attribute value in type units type Data type of attribute value =SYS_INTEGER Integer, type Vint =SYS_FLOAT Single precision, type Vfloat =SYS_CHAR Character, type Vchar =SYS_DOUBLE Double precision, type Vdouble
iatt Index of generated attribute
Inquire of defined name, length, and type as output arguments for a given dataset index and attribute index using,
void vdm_DataFunInqAttribute (vdm_Attribute *attribute, Vint idst, Vint iatt, Vchar *name, Vint *length, Vint *type)
vdm_DataFunNumAttributes - return number of attributes
void vdm_DataFunNumAttributes (vdm_DataFun *datafun, Vint idst, Vint *numatts)
datafun Pointer to DataFun object. idst Dataset index
numatts Number of attributes
vdm_DataFunNumDatasets - return number of datasets
void vdm_DataFunNumDatasets (vdm_DataFun *datafun, Vint *numdats)
datafun Pointer to DataFun object.
numdats Number of datasets
vdm_DataFunDefDataset - define dataset and parameters
void vdm_DataFunDefDataset (vdm_DataFun *datafun, const Vchar *name; Vlong lrec, Vint nrow, Vint ncol, Vint type, Vint *idst)
datafun Pointer to DataFun object. name Name given to dataset lrec Length of dataset contents in type units nrow Number of dataset rows ncol Number of dataset columns type Data type of dataset contents =SYS_INTEGER Integer, type Vint =SYS_FLOAT Single precision, type Vfloat =SYS_HOLLERITH Hollerith, type Vuint =SYS_DOUBLE Double precision, type Vdouble =SYS_COMPLEX Complex, type Vfloat[2] =SYS_DOUBLECOMPLEX Double Complex, type Vdouble[2]
idst Index of generated dataset
Inquire of defined name, lrec, nrow, ncol and type as output arguments for a given dataset index using
void vdm_DataFunInqDataset (vdm_DataFun *datafun, Vint idst, Vchar *name, Vlong *lrec, Vint *nrow, Vint *ncol, Vint *type)
vdm_DataFunGetInteger - return integer parameters
void vdm_DataFunGetInteger (vdm_DataFun *datafun, Vint type, Vint iparam[])
datafun Pointer to DataFun object. type Type of integer information to query =VDM_PHASE Progress phase
iparam Returned integer information
vdm_DataFunGetString - return string parameters
void vdm_DataFunGetString (vdm_DataFun *datafun, Vint type, Vchar cparam[])
datafun Pointer to DataFun object. type Type of integer information to query =VDM_SOURCE Current data source
cparam Returned string information
vdm_DataFunGetLibrary - get library object associated with library device
void vdm_DataFunGetLibrary (vdm_DataFun *datafun, vdm_Library **library)
datafun Pointer to DataFun object.
library Pointer to Library object.
vdm_DataFunGetNumEntities - get number of entities on library device
void vdm_DataFunGetNumEntities (vdm_DataFun *datafun, Vint entitytype, Vint *numentities)
datafun Pointer to DataFun object. entitytype Type of entity =SYS_NODE Nodes =SYS_ELEM Elements
numentities Number of entities
vdm_DataFunOpen - open library device
void vdm_DataFunOpen (vdm_DataFun *datafun, Vint mode, Vchar *path, Vint type)
datafun Pointer to DataFun object. mode Open mode =0 Open, open all domains >0 Open domain number mode path Pathname to host file associated with the library device type Type of library device file =SYS_ABAQUS_FIL ABAQUS .fil data file =SYS_ABAQUS_INPUT ABAQUS .inp input file =SYS_ABAQUS_ODB ABAQUS .odb output data base =SYS_ADAMS MSC/Adams =SYS_AFLR AFLR grid file =SYS_ANSYS_INPUT ANSYS input (CDWRITE) file =SYS_ANSYS_RESULT ANSYS results file =SYS_AUTODYN_RES AUTODYN results file =SYS_CFX_RESULT CFX results file =SYS_COMSOL_SECTION COMSOL Sectionwise file =SYS_COMSOL_MPH COMSOL mph ASCII file =SYS_COMSOL_MPHBIN COMSOL mph binary file =SYS_CGNS CGNS data base =SYS_ENSIGHT CEI/Ensight file format =SYS_FEMAP_NEUTRAL FEMAP neutral file =SYS_FDI_NEUTRAL FIDAP neutral file =SYS_FLUENT_MESH FLUENT mesh and data file =SYS_GMV GMV file =SYS_HYPERMESH_ASCII Altair HyperMesh ASCII file =SYS_H3D Altair H3D file =SYS_LSTC_INPUT LSTC/DYNA3D input file =SYS_LSTC_HISTORY LSTC/DYNA3D time history data base =SYS_LSTC_STATE LSTC/DYNA3D state data base =SYS_LSTC_STATEFEMZIP LSTC/DYNA3D FEMZIP state data base =SYS_MARC_POST MSC/Marc post data file =SYS_MECHANICA_FNF PTC/Mechanica FEM Neutral File =SYS_MECHANICA_STUDY PTC/Mechanica design study =SYS_MEMORY VKI memory object =SYS_NASTRAN_BULKDATA MSC/NASTRAN bulk data file =SYS_NASTRAN_OUTPUT2 MSC/NASTRAN OUTPUT2 data file =SYS_NASTRAN_XDB MSC/NASTRAN XDB data file =SYS_NASTRAN_H5 MSC/NASTRAN .h5 data file =SYS_NATIVE VKI native data base =SYS_NATIVE_HDF5 VKI native HDF5 data base =SYS_PAM_DAISY ESI/PAM-CRASH DAISY file =SYS_PAM_ERF ESI/PAM-CRASH ERF file =SYS_PATRAN_NEUTRAL MSC/Patran neutral file =SYS_PATRAN_RESULT MSC/Patran result file =SYS_PERMAS_POST INTES/PERMAS result file =SYS_PLOT3D_GRID NASA/PLOT3D grid file =SYS_PLOT3D_SOLUTION NASA/PLOT3D solution or function file =SYS_POLYFLOW POLYFLOW mesh file =SYS_SAMCEF Siemens SAMCEF des files =SYS_SDRC_UNIVERSAL SDRC universal file =SYS_STARCCM STAR-CCM results file =SYS_STL STL ASCII text format =SYS_STLBIN STL binary format =SYS_TECPLOT Tecplot file format =SYS_VTK_LEGACY Vtk legacy file format
None
SYS_ABAQUS_ODB ABAQUS .odb output data base SYS_H3D Altair H3D file
SYS_AUTODYN_RES AUTODYN results file SYS_CFX_RESULT CFX results file SYS_CGNS CGNS data base SYS_NASTRAN_H5 MSC/NASTRAN .h5 data file SYS_NATIVE_HDF5 VKI native HDF5 data base SYS_PAM_ERF ESI/PAM-CRASH ERF file SYS_SAMCEF Siemens SAMCEF des files SYS_STARCCM STAR-CCM results file
Use vdm_DataFunClose to close a library device.
If a file is being opened in the case that a Connect object has been previously set using vdm_DataFunSetConnect, then the only file types supported are those also supported by vdm_DataFunAppend.
vdm_DataFunNumDomains - query number of domains
void vdm_DataFunNumDomains (vdm_DataFun *datafun, Vchar *path, Vint type, Vint *numdomains)
datafun Pointer to DataFun object. path Pathname to host file associated with the library device type Type of library device file, see vdm_DataFunOpen.
numdomains Number of domains
vdm_DataFunReadDataset - read dataset contents
void vdm_DataFunReadDataset (vdm_DataFun *datafun, Vint idst, void *buff)
datafun Pointer to DataFun object. idst Index of dataset object to read
buff Pointer to array to receive dataset contents
vdm_DataFunReadDatasetCols - read dataset contents at specified columns
void vdm_DataFunReadDatasetCols (vdm_DataFun *datafun, Vint idst, Vint ncols, Vint cols[], void *buff, Vlong *lptr)
datafun Pointer to DataFun object. idst Index of dataset object to read ncols Number of columns cols Vector of column numbers
buff Pointer to array to receive dataset contents lptr Pointer to starting position of each column in buff.
vdm_DataFunSetConnect - set Connect object
void vdm_DataFunSetConnect (vdm_DataFun *datafun, vis_Connect *connect)
datafun Pointer to DataFun object. connect Pointer to Connect object.
None
vdm_DataFunSetConvention - set dataset and attribute convention
void vdm_DataFunSetConvention (vdm_DataFun *datafun, Vint convention)
datafun Pointer to DataFun object. convention Dataset and attribute convention =VDM_CONVENTION_ALTPART Enable alternate part assign =VDM_CONVENTION_CONVERTPOLY Convert polygon and polyhedron =VDM_CONVENTION_DOUBLE Double precision geometry =VDM_CONVENTION_DOUBLERESULT Double precision results =VDM_CONVENTION_ELEMCENT Integration point data to centroid =VDM_CONVENTION_EIP Element integration point data =VDM_CONVENTION_FRAMEZERO Generate initial condition result =VDM_CONVENTION_INTERNALSETS Generate internal sets =VDM_CONVENTION_NOCOMMENT No comment card conventions =VDM_CONVENTION_NODEBC Write node boundary conditions =VDM_CONVENTION_NOEQUIV No equivalence coincident nodes =VDM_CONVENTION_NOINTERLAMINAR Ignore interlaminar results =VDM_CONVENTION_NOINTPT Ignore integration point results =VDM_CONVENTION_NOSETS Do not generate node and element sets =VDM_CONVENTION_PSHELLTHICK Use PSHELL thickness =VDM_CONVENTION_SPARSE Sparse result =VDM_CONVENTION_STARCD Assume StarCD results convention =VDM_CONVENTION_STRESSINVARIANT Generate invariant results =VDM_CONVENTION_UNIRESULTTYPE Assume uniform results over a step =VDM_CONVENTION_WALLINTER Generate wall interface elements
None
Use VDM_CONVENTION_ALTPART to enable an interface dependent alternate part and partname assignment method.
Use VDM_CONVENTION_CONVERTPOLY to test for the conversion of polygon and polyhedron elements to primitive cell shapes.
Use VDM_CONVENTION_DOUBLE to generate double precision geometry datasets. This affects the node coordinate dataset, X.N and the coordinate system dataset, CSYS.T. By default geometry datasets are single precision.
Use VDM_CONVENTION_DOUBLERESULT to generate double precision result datasets.
Use VDM_CONVENTION_ELEMCENT to project integration point data to element centroid. This is currently supported only for Abaqus ODB files.
Use VDM_CONVENTION_FRAMEZERO to generate results datasets for initial conditions. By default results datasets are not generated for initial conditions.
The VDM_CONVENTION_INTERNALSETS convention is used only with ABAQUS input files. If VDM_CONVENTION_INTERNALSETS is enabled, node, element and element face and edges sets which are marked INTERNAL by ABAQUS will be generated. By default the internal sets are not generated.
Use VDM_CONVENTION_NOCOMMENT to avoid reading vendor specific comment card conventions from input files. For example, enabling this convention will avoid reading $HMNAME comments from Nastran bulk data files.
Use VDM_CONVENTION_NODEBC to generate face and edge based boundary conditions on attached nodes. By default face and edge based boundary conditions are not applied to the attached nodes.
Use VDM_CONVENTION_NOEQUIV to avoid equivalencing (merging nodes into one) coincident nodes. This is useful for maintaining the node patterns and ordering for block structured grids which have matching nodes at their interfaces.
Use VDM_CONVENTION_NOINTERLAMINAR to ignore interlaminar results.
The VDM_CONVENTION_NOINTPT convention is currently used only with ABAQUS If VDM_CONVENTION_NOINTPT is enabled, solution results located at element integration points are ignored. By default, VDM_CONVENTION_NOINTPT is disabled.
The VDM_CONVENTION_NOSETS convention is currently used with ABAQUS If VDM_CONVENTION_NOSETS is enabled, no node or element sets are queried or generated. By default, VDM_CONVENTION_NOSETS is disabled.
The VDM_CONVENTION_PSHELLTHICK convention is used only with NASTRAN Output2 and Bulk Data files. If VDM_CONVENTION_PSHELLTHICK is enabled, the THICKNESS.EL dataset will contain only the default thickness defined by the shell property card such as PSHELL.
Use VDM_CONVENTION_SPARSE to generate sparse format for results datasets. By default result datasets are not sparse.
Use VDM_CONVENTION_STARCD to enable the StarCD convention for Ensight results files.
Use VDM_CONVENTION_UNIRESULTTYPE to quickly replicate the results contents from the first time step/increment onto all subsequent time steps/increments. This will lead to improve CPU performance in Abaqus ODB file during calls to vdm_DataFunOpen.
If VDM_CONVENTION_WALLINTER is enabled, all exterior faces are converted to interface elements. This allows solution results defined on wall faces to be represented as element results on the corresponding interface elements. By default, VDM_CONVENTION_WALLINTER is disabled.
vdm_DataFunSetIds - set numeric identifier algorithm
void vdm_DataFunSetIds (vdm_DataFun *datafun, Vint idtype, Vint id1, Vint id2, Vint id3)
datafun Pointer to DataFun object. idtype Numeric identifier algorithm =VDM_IDS_OFFSET Offset ids =VDM_IDS_BASE Increment ids over base =VDM_IDS_ABSOLUTE Set ids id1,id2,id3 Numeric identifiers
None
If idtype is set to VDM_IDS_BASE, then the respective numeric identifiers are incremented by the negative of the first occurrence of the numeric identifier plus id1, id2 and id3.
If idtype is set to VDM_IDS_ABSOLUTE, then the respective numeric identifiers are set to id1, id2 and id3. By default idtype is set to VDM_IDS_OFFSET, and id1, id2, id3 are set to zero.
vdm_DataFunSetMode - set mode for dataset reading
void vdm_DataFunSetMode (vdm_DataFun *datafun, Vint mode, Vint param)
datafun Pointer to DataFun object. mode Type of mode to set =VDM_INCLUDEERRORMODE INCLUDE error mode =VDM_ZLIBCOMPRESSMODE Write with zlib Compression param Mode parameter =SYS_ON Enable mode =SYS_OFF Disable mode
None
If mode is set to VDM_INCLUDEERRORMODE, then the failure of opening "INCLUDE" files is enabled or disabled. By default VDM_INCLUDEERRORMODE mode is to SYS_ON.
If mode is set to VDM_ZLIBCOMPRESSMODE, then dataset data is written to native HDF5 format with zlib compression. By default =VDM_ZLIBCOMPRESSMODE mode is to SYS_OFF.
vdm_DataFunSetStatus - set file status for opening library
void vdm_DataFunSetStatus (vdm_DataFun *datafun, Vint status)
datafun Pointer to DataFun object. status File status to be used when opening library device. =VDM_STATUS_NEW New file is created for writing =VDM_STATUS_OLD Old file must exist read only =VDM_STATUS_ADD Old file must exist read/write
None
vdm_DataFunWriteDataset - write dataset contents
void vdm_DataFunWriteDataset (vdm_DataFun *datafun, Vint idst, void *buff)
datafun Pointer to DataFun object. idst Index of dataset object to read buff Pointer to array to dataset contents
None
vdm_DataFunSetAttVal - set attribute value
void vdm_DataFunSetAttVal (vdm_DataFun *datafun, Vint idst, Vint iatt, void *value)
datafun Pointer to DataFun object. idst Index of dataset idst Index of attribute value Pointer to attribute value
None
Get value as an output argument using
void vdm_DataFunGetAttVal (vdm_DataFun *datafun, Vint idst, Vint iatt, void *value)