5. Library Device Interfaces - *Fil, *Lib

The library device interface modules are responsible for reading specific file formats. There are two basic types of interface modules, those that read files containing only geometry tesselation or model information (*Fil) and those that read files which contain both model and results information (*Lib). The library interface modules currently include the following,

  • Geometry tesselation and association information

    OBJFil       Read OBJ files
    STLFil       Read 3D Systems/STL ASCII text and binary files
    
  • Model information

    ABAFil       Read and write ABAQUS input file
    AFLRFil      Read Mississippi State AFLR grid file
    ANSFil       Read and write ANSYS input file
    D3DFil       Read LSTC LS-DYNA input file
    HMAFil       Read Altair HyperMesh ASCII file
    NASFil       Read and write NASTRAN bulk data input file
    RASFil       Write PTC/Mechanica FEM Neutral Fil
    
  • Model and Results information

    ABALib       Read ABAQUS .fil file and read/write .odb output data base
    AdamsLib     Read MSC/Adams
    ANSLib       Read ANSYS .rst, .rth and .rfl results files
    AUTODYNLib   Read ANSYS AUTODYN results files
    CFXLib       Read CFX results files
    CGNSVLib     Read and write CGNS data base
    COMSOLLib    Read COMSOL sectionwise file and read/write MPH files
    D3DLib       Read LSTC State and time history databases
    DPFLib       Read ANSYS .rst, .rth and .rfl results files
    EnSightLib   Read and write CEI/EnSight Casefile format
    FEMAPLib     Read FEMAP neutral file
    FDILib       Read FIDAP neutral file
    FLUENTLib    Read and write FLUENT case and data file format
    GMVLib       Read GMV files
    H3DLib       Read Altair H3D files
    MarcLib      Read MSC/Marc post file
    MemLib       Read and write VKI memory objects
    NASLib       Read and write MSC/NASTRAN OUTPUT2 file, read XDB and HDF5
    NatLib       Read and write VKI native libraries
    OpenFOAMLib  Read OpenFOAM databases and write mesh entities
    PAMLib       Read ESI/PAM-CRASH DAISY and ERF files
    PatLib       Read and write Patran neutral and results files
    PERMASLib    Read INTES/PERMAS result file
    PLOT3DLib    Read NASA/PLOT3D grid, solution and function files
    PluginLib    Read plugin-compatible files
    POLYFLOWLib  Read POLYFLOW mesh and solution files
    RASLib       Read PTC/Mechanica design study
    SAMCEFLib    Read SAMCEF des files
    SDRCLib      Read and write SDRC/IDEAS universal file
    STARCCMLib   Read STAR-CCM .ccm results file
    TecplotLib   Read and write Tecplot file format
    VTKLib       Read Vtk legacy and write Vtu file formats
    

All *Fil and *Lib modules behave much alike. The functions of the SDRCLib module will be used as representative of all interface modules. The functions for the PatLib, PLOT3DLib and PluginLib modules are discussed separately due to additional functions which are needed for their use.

5.1. SDRC/IDEAS Universal File - SDRCLib

Universal files may be read from any source as long as they adhere to the format standards published by SDRC (now Siemens). The methods associated with a SDRCLib object are the following.

Instance a SDRCLib object using vdm_SDRCLibBegin(). Once instanced set pointers to abstract data functions using vdm_SDRCLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_SDRCLibSetFunction().

The SDRC/IDEAS universal file may be either in a text or a binary format. The binary version of the file currently supports only a limited subset of the complete set of datasets supported by the text version of the file. This subset is specifically designed to support post-processing of finite element simulation results. The SDRCLib module will automatically detect a universal file in text or binary format. Universal files in text format may contain many types of data including finite element, test, geometry, drafting, etc. Currently only finite element related data is recognized contained in the following Universal Dataset numbers:

Supported Dataset Numbers

Dataset Number Name Description
151 Header Version, time, date
164 Units Physical unit types
15
781
2411
Nodes Node definitions
71
780
2412
Elements Element definitions
18
2420
Coordinate Systems Coordinate systems
436 Colors Colors
752
2417, 2429
2430, 2432, 2435
2452, 2467, 2477
Permanent Groups Node and element sets
790 Loads Load case definition
791 Restraints Restraint case defintion
1710
1714, 1716
Materials Material definition
776
731
772
788, 789
2437, 2448, 2470
Properties Element property definition
55, 56, 57
2414
Results Results data
4001 Stream Boundary condition map for streams
4002 Void Boundary condition map for voids
4003 Zone Boundary condition map for zones

Supported Dataset Numbers, Binary File Format

Dataset Number Name Description
151 Header Version, time, date
164 Units Physical unit types
2411 Nodes Node definitions
2412 Elements Element definitions
2420 Coordinate Systems Coordinate systems
2435 Permanent Groups Node and element sets
2414 Results Results data
4001 Stream Boundary condition map for streams
4002 Void Boundary condition map for voids
4003 Zone Boundary condition map for zones

Each results dataset is appended with the solution set or load set id, set, and a step number, step. For eigenvalue analysis, the step number is the mode number, for transient analysis, the step number is the time step number. Each results dataset type may be applicable to nodes or elements.

  • Possible attributes of each results dataset.

    Title               Analysis dataset name
    Subtitle            Analysis data ID line 1
    Subtitle1           Analysis data ID line 2
    Subtitle2           Analysis data ID line 3
    Subtitle3           Analysis data ID line 4
    Subtitle4           Analysis data ID line 5
    Label               Analysis dataset label
    Time                Time
    Frequency           Frequency
    LoadFactor          Load factor
    GeneralizedMass     Generalized mass
    DataSource          Result type number
    

The Stream, Void and Zone datasets result in the creation of element sets and possibly node sets. The element set datasets will have the following possible attributes.

  • Possible attributes for streams

    Stream id           Stream ID
    Node id inlet       Node label at inlet of stream
    Node id outlet      Node label at outlet of stream
    Element id outlet   Element label at outlet of stream
    Element id wall     Wall element label of stream
    Convecting area     Convecting area
    
  • Possible attributes for voids

    Void id             Void ID
    Convecting area     Convecting area
    
  • Possible attributes for zones

    Zone id             Zone ID
    Convecting area     Convecting area
    

5.1.1. Writing SDRC/IDEAS Universal Files

The SDRCLib module also supports the writing of IDEAS ASCII Universal files. Finite element model entities must be contained in a VisTools Model object. The LMan module function vdm_LManSaveModel() is used to perform the actual file writing. The file may also be written directly using the Model object function vis_ModelWrite(). The interface currently writes the following dataset numbers.

Supported Dataset Numbers

Dataset Number Name Description
18 Coordinate Systems Coordinate systems
164 Units Physical unit types
2411 Nodes Node definitions
2412 Elements Element definitions
2452 Permanent Groups Node and element sets
751 Multipoint constraints Constraint Sets for Recovery MPCs
790 Loads Load case definition
791 Restraints Restraint case defintion
792 Temperatures Temperature sets
2414 Results Results data

5.1.2. Function Descriptions

The currently available SDRCLib functions are described in detail in this section.

vdm_SDRCLib *vdm_SDRCLibBegin(void)

create an instance of a SDRCLib object

Create an instance of a SDRCLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a SDRCLib object using

void vdm_SDRCLibEnd (vdm_SDRCLib *sdrclib)

Return the current value of a SDRCLib object error flag using

Vint vdm_SDRCLibError (vdm_SDRCLib *sdrclib)

Returns:The function returns a pointer to the newly created SDRCLib object. If the object creation fails, NULL is returned.
void vdm_SDRCLibEnd(vdm_SDRCLib *p)

destroy an instance of a SDRCLib object

See vdm_SDRCLibBegin()

Vint vdm_SDRCLibError(vdm_SDRCLib *p)

return the current value of a SDRCLib object error flag

See vdm_SDRCLibBegin()

void vdm_SDRCLibSetFunction(vdm_SDRCLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to SDRCLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_SDRCLibAbort(vdm_SDRCLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_SDRCLibSetFunction().

Parameters:p – Pointer to SDRCLib object.
void vdm_SDRCLibDataFun(vdm_SDRCLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to SDRCLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.2. ABAQUS Input File - ABAFil

The ABAQUS input file is a text file which contains the input description of a finite element model for the ABAQUS finite element program.

The methods associated with a ABAFil object are the following.

Instance a ABAFil object using vdm_ABAFilBegin(). Once instanced set pointers to abstract data functions using vdm_ABAFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_ABAFilSetFunction().

This interface only produces datasets associated with the finite element model, no results datasets are produced. The element types commonly associated with structural and thermal analysis are supported. The PARTID.E dataset is set to the property id if properties (sections) are defined, otherwise it is set to the count of the element set. Use the VDM_CONVENTION_ALTPART to enable the assignment of part identifiers for each instance rather than properties.

The interface currently recognizes the following input keywords. Node based surfaces when referenced as master surfaces for tie and contact constraints are converted to an element face set internally. Any element face is included in the surface if all of it’s nodes are contained in the node based surface.

Supported Keywords

Miscellaneous Description
*HEADING Define title string
*INCLUDE Read from specified file
*PARAMETER Define a parameter
*PART *ENDPART Define a parameter
*INSTANCE
*ENDINSTANCE
Define an instance of a part
*ASSEMBLY
*ENDASSEMBLY
Define an assembly
*PHYSICAL CONSTANTS Define physical constants
Nodes, Elements
Coordinate Systems
Description
*NODE Create node. If the NSET
parameter is specified a node
set will be created
*NSET Create node set
*NCOPY
*NFILL
*NGEN
Generate nodes.
*NMAP Node locations are mapped
*SYSTEM Node locations are transformed
*ELEMENT Create element and element set
*ELSET Create element set
*ELCOPY
*ELGEN
Generate elements
*ORIENTATION Define element material system,
a coordinate system may be created
*KINEMATIC COUPLING
*COUPLING
*DISTRIBUTING
*KINEMATIC
Define rigid elements
*RELEASE Define element enpoint moment
release
*TRANSFORM Create coordinate system
Element Properties Description
*SOLID SECTION Create solid element property
*SHELL SECTION
*SHELL GENERAL SECTION
Create shell element property
*MEMBRANE SECTION Create membrane element property
*BEAM SECTION
*BEAM GENERAL SECTION
Create beam element property
*SPRING
*DASHPOT
Create spring dashpot element
property
*MASS
*ROTARY INERTIA
Create mass element property
*GAP Create gap element property
*CENTROID
*SHEAR CENTER
*SECTION POINTS
*TRANSVERSE SHEAR
Define shell or beam element
properties
*NODAL THICKNESS Define shell element nodal
thickness
*NORMAL Define beam element orientation
*DISTRIBUTING COUPLING Define distributing coupling
element property
*USER ELEMENT Create superelement property
*MATRIX  
Material Properties Description
*MATERIAL Create a material property.
*DENSITY
*ELASTIC
*EXPANSION
*DAMPING
Define material properties
*CONDUCTIVITY
*LATENT HEAT
*SPECIFIC HEAT
Define heat transfer material
properties
Restraints Description
*BOUNDARY Create restraint case
*EQUATION Define multipoint constraint
Contact and Co-simulation Description
*CONTACT PAIR Create contact pair case
*CO-SIMULATION Create co-simulation case
*SURFACE
*SURFACE DEFINITION
Define contact surface geometry
*SURFACE BEHAVIOR
*SURFACE INTERACTION
Define contact surface properties
*TIE Define tied surface
Loads and Initial Conditions Description
*AMPLITUDE Create load case amplitude curve
*CFILM
*CFLUX
*CLOAD
Define concentrated load
*DFLUX
*DSFLUX
*DLOAD
*DSLOAD
Define distributed load
*FILM
*FILM PROPERTY
*RADIATE
Define distributed thermal load
*INITIAL CONDITIONS Create load case or initial
condition case
*TEMPERATURE Define temperature
Solution and Control Description
*STEP
*END STEP
Create solution property
*BUCKLE
*DYNAMIC
*FREQUENCY
*HEAT TRANSFER
*STATIC
Define solution type
*EL FILE
*NODE FILE
*EL PRINT
*NODE PRINT
Define output requests

5.2.1. Function Descriptions

The currently available ABAFil functions are described in detail in this section.

vdm_ABAFil *vdm_ABAFilBegin(void)

create an instance of a ABAFil object

Create an instance of a ABAFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a ABAFil object using

void vdm_ABAFilEnd (vdm_ABAFil *abafil)

Return the current value of a ABAFil object error flag using

Vint vdm_ABAFilError (vdm_ABAFil *abafil)

Returns:The function returns a pointer to the newly created ABAFil object. If the object creation fails, NULL is returned.
void vdm_ABAFilEnd(vdm_ABAFil *p)

destroy an instance of a ABAFil object

See vdm_ABAFilBegin()

Vint vdm_ABAFilError(vdm_ABAFil *p)

return the current value of a ABAFil object error flag

See vdm_ABAFilBegin()

void vdm_ABAFilSetFunction(vdm_ABAFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to ABAFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_ABAFilAbort(vdm_ABAFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_ABAFilSetFunction().

Parameters:p – Pointer to ABAFil object.
void vdm_ABAFilDataFun(vdm_ABAFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to ABAFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.2.2. Writing ABAQUS input files

The ABAFil module also supports the writing of ABAQUS input files. Finite element model entities must be contained in a VisTools Model object. The LMan module function vdm_LManSaveModel() is used to perform the actual file writing. The file may also be written directly using the Model object function vis_ModelWrite(). The interface currently writes the following input keywords.

Supported Keywords

Miscellaneous Description
*HEADING Define title string
Nodes, Elements
Coordinate Systems
Description
*NODE Define node
*NSET Define node set
*ELEMENT Define element
*ELSET Define element set
*ORIENTATION Define element material system
*KINEMATIC
*KINEMATIC COUPLING
Define rigid elements
*TRANSFORM Define coordinate system
Element Properties Description
*COHESIVE SECTION Define cohesive element property
*SOLID SECTION Define solid element property
*SHELL SECTION
*MEMBRANE SECTION
Define membrane element property
*BEAM GENERAL SECTION Define beam element property
*SPRING Define spring element property
*MASS
*ROTARY INERTIA
Define mass element property
*GAP Define gap element property
*CENTROID
*SHEAR CENTER
*SECTION POINTS
Define shell or beam element
properties
*NODAL THICKNESS Define shell element nodal
thickness
*NORMAL Define beam element orientation
*DISTRIBUTING
*DISTRIBUTING COUPLING
Define distributing coupling
element property
Material Properties Description
*MATERIAL Create a material property.
*DENSITY
*ELASTIC
*HYPERELASTIC
*FAILSTRESS
*FAILSTRAIN
*EXPANSION
Define material properties
*CONDUCTIVITY
*SPECIFIC HEAT
Define heat transfer
material properties
Restraints Description
*BASE MOTION
*RETAINED NODAL DOFS
*BOUNDARY
Define restraint case
*MPC
*EQUATION
Define multipoint constraint
Contact and Co-simulation Description
*TIE
*CONTACT PAIR
Define contact pair case
*CO-SIMULATION Define co-simulation case
*SURFACE Define surface geometry
*FRICTION
*SURFACE BEHAVIOR
*SURFACE INTERACTION
Define contact surface properties
Loads and Initial Conditions Description
*CFILM
*CFLUX
*CLOAD
Define concentrated load
*DFLUX
*DSFLUX
*DLOAD
*DSLOAD
Define distributed load
*SFILM
*FILM
Define distributed load
*INITIAL CONDITIONS Create load case or initial
condition case
*TEMPERATURE Define temperature
Solution and Control Description
*STEP
*SELECT EIGENMODES
*GLOBAL DAMPING
*MODAL DAMPING
*END STEP
Define solution property
*BUCKLE
*DYNAMIC
*FREQUENCY
*HEAT TRANSFER
*SELECT EIGENMODES
*RETAINED NODAL DOFS
*SUBSTRUCTURE GENERATE
*STEADY STATE DYNAMICS
*STATIC
Define solution type
*CONTACT FILE
*EL FILE
*NODE FILE
*EL PRINT
*NODE PRINT
Define output requests

5.3. ABAQUS .fil and .odb File Output - ABALib

The ABAQUS .fil file is produced as a result of an execution of the ABAQUS finite element program. The ASCII and binary forms of the file are supported.

The methods associated with a ABALib object are the following.

Instance a ABALib object using vdm_ABALibBegin(). Once instanced set pointers to abstract data functions using vdm_ABALibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_ABALibSetFunction().

The ABAQUS .fil consists of finite element model and results data. The PARTID.E dataset is set to the finite element type.

Supported Records, Model

General, Nodes,
Elements
Record Key
Record Type Description
1900, 1990 none Element definitions
1901 none Node definitions
1902 none Active degrees of freedom
1921 none ABAQUS Version, etc.
1922 none Heading
1931, 1932 none Node set
1933, 1934 none Element set
1940 none Label cross-reference

Each dataset name in the results data section is appended with the step number, step and increment number, incr.

  • Possible attributes of each results dataset.

    Title           , Analysis heading
    Label           , Step data line description
    Time            , Time
    Frequency       , Frequency
    GeneralizedMass , Generalized mass
    LoadFactor      , Load proportionality factor.
    DataSource      , record number
    

Supported Records, Results

*NODE FILE
Record Key
Record Type Description Dataset
101 U Displacements,
real/imaginary
D
102 V Velocities,
real/imaginary
V
103 A Accelerations,
real/imaginary
A
104 RF Reaction
forces,
real/imaginary
R
105 EPOT Electrical
potential
ELEC_POT
106 CF Point loads,
real/imaginary
XF
107 COORD Coordinates, X
108 POR Pore or
acoustic
pressure
PRES
109 RVF Reaction fluid
volume flux
VOLUME_FLUX
106 TF Total forces TF
201 NT Temperatures TEMP
204 RFL Reaction flux R_HEAT_FLOW
204 CFL Concentrated
flux
XF_HEAT_FLOW
*EL FILE
Record Key
Record Type Description Specific Type
2 TEMP Temperatures TEMP
5 SDV Solution- dependent
variables
SDV
6 VOIDR Void ratio VOID_RATIO
8 COORD Coordinates X
10 NFLUX Nodal flux
caused by heat
EN_FLUX
11 S Stresses,
real/imaginary
S
12 SINV Stress
invariants
S.[VONMISES],
S.[TRESCA]
13 SF Section forces
and moments
SFM
14 ENER Energy densities SE_DENSITY
15 NFORC Nodal forces
caused by stress
EN_FORC
18 POR Pore or acoustic
pressure
PRES
19 ELEN Energy summed
over element
KE, SE
21 E Total strain,
real/imaginary
E
22 PE Plastic strains E.[PLAST],
E.[EQUIV,PLAST]
23 CE Creep strains E.[CREEP],
E.[EQUIV,CREEP]
25 EE Total elastic
strains
E.[ELAST]
27 STH Section thickness THICKNESS
28 HFL Heat flux vector HEAT_FLUX
29 SE Section strains
and curvatures
SEK
44 CFAILURE Failure measures FAIL_INDEX.[PLY]
62 PHS Stress components,
magnitude/phase
S
63 RS RMS values of
stress components
S.[RMS]
65 PHE Strain components,
magnitude/phase
E
66 RE RMS values of
strain components
E.[RMS]
73 PEEQ Equivalent
plastic strain
E.[EQUIV,PLAST]
74 PRESS Mean pressure stress S.[MEANPRES]
74 MISES Mises stress S.[VONMISES]
78 EVOL Whole element volume VOLUME
88 THE Thermal strains E.[THERMAL]
89 LE Logarithmic strains E
90 NE Nominal strains E
91 ER Mechanical
strain rates
E_RATE
401 SP Principal stresses S.[PRINCIPAL]
402 ALPHAP Principal values of back-stress S.[PRINCIPAL.Back]
403 EP Principal strains E.[PRINCIPAL]
404 NEP Principal
nominal strains
E.[PRINCIPAL.NOM]
405 LEP Principal
logarithmic
strains
E.[PRINCIPAL.LOG]
*CONTACT FILE
Record Key
Record Type Description Specific Type
1511 CSTRESS Contact tractions PRES.[CONTACT]
1521 CDISP Contact clearance SD

5.3.1. Writing ABAQUS .fil data files

The ABALib module also supports a limited capability to write finite element model entities and results to ABAQUS .fil data file format. The .fil file is written in binary format. Finite element model entities and results must be contained in VisTools Model and State objects. The LMan module functions vdm_LManSaveModel() and vdm_LManSaveState() are used to perform the actual file writing. The interface currently writes the following entities on record types.

  • Nodes

    1901

  • Elements

    SYS_SHAPEHEX as C3D8, C3D20, C3D27 on 1900
    SYS_SHAPEWED as C3D6, C3D15 on 1900
    SYS_SHAPETET as C3D4, C3D10 on 1900
    SYS_SHAPEQUAD,SYS_ELEM_SHELL as S4, S8, S9 on 1900
    SYS_SHAPETRI,SYS_ELEM_SHELL as STRI3, STRI6 on 1900
    SYS_ELEM_BEAM as B31 on 1900
    SYS_ELEM_TRUSS as T3D2, T3D3 on 1900
    SYS_ELEM_GAP as GAPUNI on 1900
    
  • Results

    SYS_RES_D on 101
    SYS_RES_V on 102
    SYS_RES_A on 103
    SYS_RES_R on 104
    SYS_RES_TEMP on 201
    SYS_RES_R_HEAT_FLOW on 204
    SYS_RES_S on 11
    SYS_RES_E on 21
    SYS_RES_SE on 14
    SYS_RES_HEAT_FLUX on 28
    

5.3.2. ABAQUS .odb Output Data Base

The ABAQUS .odb file is produced as a result of an execution of the ABAQUS finite element program. The ABAQUS .odb consists of finite element model and results data.

The internal .odb file format is changed occasionally and as a result older .odb files may not be able to be read directly by the current .odb interface. Two new methods have been introduced to detect this condition and upgrade the old .odb file to the current .odb format so that it may be opened and accessed. The non standard methods associated with a ABALib object are the following.

After attempting to open an .odb file and encountering an open error, use the function vdm_ABALibGetInteger() to query for the an upgrade requirement. If the .odb file may be upgraded, use vdm_ABALibUpgradeOdb() to actually upgrade the old .odb file. The upgraded .odb file may then be opened. The PARTID.E dataset is set to the part id. Use the VDM_CONVENTION_ALTPART to enable the assignment of part identifiers for each instance rather than part. Use the convention, VDM_CONVENTION_EIP to generate element integration point results. Use VDM_CONVENTION_NOINTERNALSETS to avoid processing internally generated entity sets. Use VDM_CONVENTION_NOHISTORYOUTPUT to avoid processing history output data. Use VDM_CONVENTION_SECTNUM to number layers according to section point rank.

Each dataset name in the results data section is appended with the step number, step and increment number, incr.

  • Possible attributes of each results dataset.

    Title           , Analysis heading
    Label           , Step data line description
    Sublabel        , Step name
    Time            , Time
    Frequency       , Frequency
    GeneralizedMass , Generalized mass
    LoadFactor      , Load proportionality factor.
    DataSource      , output variable
    

Supported Records, Results

Node
Record Type
Description Dataset
U Displacement D
V Velocity V
A Accelerations A
COORD Coordinate X
RF Reaction Force R
CF Point Loads XF
TF Total Forces TF
NT
NT11
Temperature TEMP
RFL
RFL11
Reaction heat flow R_HEAT_FLOW
CFL
CFL11
Applied heat flow XF_HEAT_FLOW
EPOT All Electric potential ELEC_POT[SOLID,TOT]
EPOTE All fluid Electric potential ELEC_POT[FLUID,TOT]
NNCE Ion concentration CONC.[FLUID]
NNCS Species concentration CONC.[SOLID]
NNC
NNC11
All normalized concentration CONC.[NORMALIZED]
Element
Record Type
Description Dataset Root
S Stress S
E Strain E
SF Section force and
moment
SFM
SE Section strain,
curvature
SEK
EE Elastic strain E.[ELAST]
PE Plastic strain E.[PLAST]
CE Creep strain E.[CREEP]
PEEQ Equivalent plastic strain E.[EQUIV,PLAST]
CEEQ Equivalent creep
strain
E.[EQUIV,CREEP]
THE Thermal strain E.[THERMAL]
MISES VonMises stress S.[VONMISES]
TRESCA Tresca stress S.[TRESCA]
PRESS Mean pressure S.[MEANPRES]
STH Section thickness THICKNESS
HFL Heat flux HEAT_FLUX
EFLX Electric flux ELEC_FLUX
ELSE Strain energy SE
ELKE Kinetic energy KE
EVOL Volume VOLUME
ESEDEN Strain energy density SE_DENSITY
EKEDEN Kinetic energy
density
KE_DENSITY
NFORC1 Element force EN_FORC
NFLUX1 Element flux EN_FLUX
CONCE Ion concentration in the fluid CONC.[FLUID]
CONCS Species concentration the solid CONC.[SOLID]
ELECPOT Electric potential in the solid ELEC_POT.[SOLID]
ELECPOTE Electric potential in the fluid ELEC_POT.[FLUID]

5.3.3. Function Descriptions

The currently available ABALib functions are described in detail in this section.

vdm_ABALib *vdm_ABALibBegin(void)

create an instance of a ABALib object

Create an instance of a ABALib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a ABALib object using

void vdm_ABALibEnd (vdm_ABALib *abalib)

Return the current value of a ABALib object error flag using

Vint vdm_ABALibError (vdm_ABALib *abalib)

Returns:The function returns a pointer to the newly created ABALib object. If the object creation fails, NULL is returned.
void vdm_ABALibEnd(vdm_ABALib *p)

destroy an instance of a ABALib object

See vdm_ABALibBegin()

Vint vdm_ABALibError(vdm_ABALib *p)

return the current value of a ABALib object error flag

See vdm_ABALibBegin()

void vdm_ABALibGetInteger(vdm_ABALib *p, Vint type, Vint *param)

test for upgrade required

Query for integer information. The integer query ABAFIL_UPGRADEODB returns a flag indicating whether an .odb file which had been previously opened requires upgrading. A non-zero value is returned if upgrading is required. If upgrading is required, use vdm_ABALibUpgradeOdb() to upgrade the .odb file.

Errors
SYS_ERROR_ENUM is generated if an improper type is specified.

Parameters:
  • p – Pointer to ABALib object.
  • type – Type of integer information to query
    x=ABALIB_UPGRADEODB      Upgrade .odb required
    
  • param[out] Returned integer information
void vdm_ABALibSetFunction(vdm_ABALib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to ABALib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_ABALibAbort(vdm_ABALib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_ABALibSetFunction().

Parameters:p – Pointer to ABALib object.
void vdm_ABALibUpgradeOdb(vdm_ABALib *p, Vchar *odbpath, Vchar *newodbpath)

upgrade .odb file to new version

Upgrade an existing .odb file to be compatible with the current compiled interface libraries.

Errors
SYS_ERROR_OPERATION is generated if the upgrade fails.

Parameters:
  • p – Pointer to ABALib object.
  • odbpath – Path name of existing .odb file
  • newodbpath – Path name of new upgraded .odb file
void vdm_ABALibDataFun(vdm_ABALib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to ABALib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.4. Adams files - AdamsLib

Read MSC/Adams files.

The methods associated with a AdamsLib object are the following.

Instance a AdamsLib object using vdm_AdamsLibBegin(). Once instanced set pointers to abstract data functions using vdm_AdamsLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_AdamsLibSetFunction().

5.4.1. Function Descriptions

The currently available AdamsLib functions are described in detail in this section.

vdm_AdamsLib *vdm_AdamsLibBegin(void)

create an instance of a AdamsLib object

Create an instance of a AdamsLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a AdamsLib object using

void vdm_AdamsLibEnd (vdm_AdamsLib *adamslib)

Return the current value of a AdamsLib object error flag using

Vint vdm_AdamsLibError (vdm_AdamsLib *adamslib)

Returns:The function returns a pointer to the newly created AdamsLib object. If the object creation fails, NULL is returned.
void vdm_AdamsLibEnd(vdm_AdamsLib *p)

destroy an instance of a AdamsLib object

See vdm_AdamsLibBegin()

Vint vdm_AdamsLibError(vdm_AdamsLib *p)

return the current value of a AdamsLib object error flag

See vdm_AdamsLibBegin()

void vdm_AdamsLibSetFunction(vdm_AdamsLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to AdamsLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_AdamsLibAbort(vdm_AdamsLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_AdamsLibSetFunction().

Parameters:p – Pointer to AdamsLib object.
void vdm_AdamsLibDataFun(vdm_AdamsLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to AdamsLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.5. AFLR (Mississippi State) Grid File - AFLRFil

The AFLR grid file format is associated with the AFLR grid generation program.

The methods associated with a AFLRFil object are the following.

Instance a AFLRFil object using vdm_AFLRFilBegin(). Once instanced set pointers to abstract data functions using vdm_AFLRFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_AFLRFilSetFunction().

The boundary triangles and quadrilaterals and generated interior tetrahedra, pyramids, wedges and hexahedra. The interface automatically detects the file format, ie ASCII or binary. The PARTID.E dataset is set to the surface identifier for boundary elements and volume indentifer for interior elements.

5.5.1. Function Descriptions

The currently available AFLRFil functions are described in detail in this section.

vdm_AFLRFil *vdm_AFLRFilBegin(void)

create an instance of a AFLRFil object

Create an instance of a AFLRFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a AFLRFil object using

void vdm_AFLRFilEnd (vdm_AFLRFil *aflrfil)

Return the current value of a AFLRFil object error flag using

Vint vdm_AFLRFilError (vdm_AFLRFil *aflrfil)

Returns:The function returns a pointer to the newly created AFLRFil object. If the object creation fails, NULL is returned.
void vdm_AFLRFilEnd(vdm_AFLRFil *p)

destroy an instance of a AFLRFil object

See vdm_AFLRFilBegin()

Vint vdm_AFLRFilError(vdm_AFLRFil *p)

return the current value of a AFLRFil object error flag

See vdm_AFLRFilBegin()

void vdm_AFLRFilSetFunction(vdm_AFLRFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to AFLRFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_AFLRFilAbort(vdm_AFLRFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_AFLRFilSetFunction().

Parameters:p – Pointer to AFLRFil object.
void vdm_AFLRFilDataFun(vdm_AFLRFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to AFLRFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.6. ANSYS Input File - ANSFil

The ANSYS input file is a text file which contains the input description of a finite element model for the ANSYS finite element program.

The methods associated with a ANSFil object are the following.

Instance a ANSFil object using vdm_ANSFilBegin(). Once instanced set pointers to abstract data functions using vdm_ANSFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_ANSFilSetFunction().

This interface only produces datasets associated with the finite element model, no results datasets are produced. The element types commonly associated with structural and thermal analysis are supported. The total number of ANSYS commands is quite large and ANSFil supports only a small but important subset. This subset is that which is supported by the ANSYS CDWRITE facility. A number of additional commands are also supported which are commonly generated by commercial pre-processing programs. By default, the PARTID.E dataset is set to the property id. Use the VDM_CONVENTION_ALTPART to enable the assignment of part identifiers and part names using body ids and name embedded in /COM comment lines. A property id is generated for each unique set of REAL, MAT, SECNUM and TYPE number combinations.

The interface currently recognizes the following input commands.

Supported Commands

Miscellaneous Description
/COM Comment
/TITLE Define title string
/STITLE Define subtitle string
Units Description
EMUNIT
/UNITS
Create Units
Nodes, Elements,
Coordinate Systems
Description
ESEL
NSEL
CM
CMBLOCK
Create node and element sets
CSYS Specify coordinate system
CERIG
EN
EMORE
EBLOCK
Create elements
ESYS Specify element coordinate system
ET Define element type
KEYOPT Specify element options
LOCAL Create coordinate system
MAT Specify element material
N
NBLOCK
Create nodes
NROTAT Specify node coordinate system
REAL Specify element property
SECNUM Specify section property
TSHAP Specify target segment geometry
TYPE Specify element type
Element Properties Description
R
RMORE
RLBLOCK
SECBLOCK
SECDATA
SECTYPE
Create an element property
Material Properties Description
MP
MPDATA
MPTEMP
Create a material property.
Restraints Description
D Specify a DOF constraint at nodes
CE Define a multipoint constraint
CECMOD Define a multipoint constraint
inhomogeneity
CP Specify a coupled DOF at nodes
M Specify retained superelement
DOF at nodes
Loads Description
F Specify a concentrated load
at nodes
BFE Specify an element body force
load
SFE Specify a distributed load
Solution and Control Description
ANTYPE
CMSOPT
OUTPR
OUTRES
Specify analysis type
SOLVE Create solution property

5.6.1. Writing ANSYS Input Files

The ANSFil module also supports the writing of ANSYS input files. Finite element model entities must be contained in a VisTools Model object. The LMan module function vdm_LManSaveModel() is used to perform the actual file writing. The file may also be written directly using the Model object function vis_ModelWrite().

The form of the input file is subject to parameters set by the following function.

The interface currently writes the following input commands.

Supported Commands

Miscellaneous Description
/TITLE Define title string
/STITLE Define subtitle string
Nodes, Elements, Coordinate
Systems
Description
ESEL
NSEL
CM
CSYS
Define coordinate system
EN
EMORE
ESYS
Define element coordinate system
ET Define element type
KEYOPT Define element options
LOCAL Define coordinate system
MAT Define element material
N
REAL
Define element property
SECNUM Define section property
TYPE Define element type
CERIG
RBE3
Define rigid elements
Element Properties Description
R
SECCONTROL
SECDATA
SECTYPE
Define an element property
Material Properties Description
MP
MPDATA
MPTEMP
Define a material property.
Restraints Description
D Define a DOF constraint at nodes
CE Define a multipoint constraint
IC Define an initial condition
Loads Description
F Define a concentrated load at
nodes
BF
BFE
Define an element body force load
SFE Define a distributed load
ACEL
CGOMGA
CGLOC
Define a inertia load
Solution and Control Description
ANTYPE
BUCOPT
MODOPT
MXPAND
PSTRES
SOLVE
Define solution property
FINISH End solution

5.6.2. Function Descriptions

The currently available ANSFil functions are described in detail in this section.

vdm_ANSFil *vdm_ANSFilBegin(void)

create an instance of a ANSFil object

Create an instance of a ANSFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a ANSFil object using

void vdm_ANSFilEnd (vdm_ANSFil *ansfil)

Return the current value of a ANSFil object error flag using

Vint vdm_ANSFilError (vdm_ANSFil *ansfil)

Returns:The function returns a pointer to the newly created ANSFil object. If the object creation fails, NULL is returned.
void vdm_ANSFilEnd(vdm_ANSFil *p)

destroy an instance of a ANSFil object

See vdm_ANSFilBegin()

Vint vdm_ANSFilError(vdm_ANSFil *p)

return the current value of a ANSFil object error flag

See vdm_ANSFilBegin()

void vdm_ANSFilSetParami(vdm_ANSFil *p, Vint ptype, Vint iparam)

set control parameters

Specify parameters to control the form of the ANSYS input file which is written.

The parameter ANSFIL_CONTROLCARDS toggles the writing of controls cards. The control cards include the module slash commands such as /PREP7 and /SOLUTION, SOLVE and FINISH. By default ANSFIL_CONTROLCARDS is on.

Errors
VIS_ERROR_ENUM is generated if an improper ptype is specified.

Parameters:
  • p – Pointer to ANSFil object.
  • ptype – Type of display parameter to set
    x=ANSFIL_CONTROLCARDS    Toggle writing of control cards
    
  • iparam – Specifies the integer value that ptype will be set to.
void vdm_ANSFilSetFunction(vdm_ANSFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to ANSFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_ANSFilAbort(vdm_ANSFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_ANSFilSetFunction().

Parameters:p – Pointer to ANSFil object.
void vdm_ANSFilDataFun(vdm_ANSFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to ANSFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.7. ANSYS .rst, .rth, .rmg, .rfl Results Files - ANSLib

The ANSYS .rst, .rth, .rmg and .rfl files are binary results files produced during an execution of ANSYS for structural, thermal, electro-magnetic and fluid flow analysis. The results files contain model information, loads and boundary conditions, and results data.

The methods associated with a ANSLib object are the following.

Instance a ANSLib object using vdm_ANSLibBegin(). Once instanced set pointers to abstract data functions using vdm_ANSLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_ANSLibSetFunction(). The PARTID.E dataset is set to the property id, PID.E. Node and element sets are generated for named components for files generated by ANSYS release 18.2 and higher. Node and elements are also generated for the master and duplicate models in cyclic analysis.

Each dataset name in the results data section is appended with the load step number, step and the substep number, incr. The substep number is incremented from one within a load step number.

  • Node results datasets

    D
    R
    XF
    A
    V
    TEMP
    R_HEAT_FLOW
    XF_HEAT_FLOW
    PRES
    VOLT
    J
    MAG_POT
    TURB_KE
    TURB_ED
    DENS
    VISC
    COND
    VISC.[EFF]
    COND.[EFF]
    TEMP.[TOT]
    STREAM
    PRES_COEF
    MACH
    PRES.[TOT]
    HEAT_FLUX
    FILM_COEF
    YPLUS
    UTAU
    
  • Element results datasets

    S
    E
    E.[ELAST]
    E.[PLAST]
    E.[CREEP]
    E.[THERMAL]
    SF
    SD
    PRES.[CONTACT]
    TRAC.[CONTACT]
    STAT.[CONTACT]
    TEMP_GRAD
    HEAT_FLUX
    ELEC_FIELD
    ELEC_FLUX
    MAG_FIELD
    MAG_FLUX
    J_DENSITY
    HEAT
    VOLUME
    SE
    TE
    KE
    SFM
    FAIL_INDEX
    

Each dataset in the results data section has dataset attributes which correspond to the time value associated with the step. One or more of the following dataset attributes are available for each state.

  • Possible attributes of each results dataset.

    Time            , Time
    Frequency       , Frequency
    LoadFactor      , Load proportionality factor.
    Title           , Title
    Subtitle        , Subtitle
    DataSource      , record identifier, recid
    

5.7.1. Function Descriptions

The currently available ANSLib functions are described in detail in this section.

vdm_ANSLib *vdm_ANSLibBegin(void)

create an instance of a ANSLib object

Create an instance of a ANSLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a ANSLib object using

void vdm_ANSLibEnd (vdm_ANSLib *anslib)

Return the current value of a ANSLib object error flag using

Vint vdm_ANSLibError (vdm_ANSLib *anslib)

Returns:The function returns a pointer to the newly created ANSLib object. If the object creation fails, NULL is returned.
void vdm_ANSLibEnd(vdm_ANSLib *p)

destroy an instance of a ANSLib object

See vdm_ANSLibBegin()

Vint vdm_ANSLibError(vdm_ANSLib *p)

return the current value of a ANSLib object error flag

See vdm_ANSLibBegin()

void vdm_ANSLibSetFunction(vdm_ANSLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to ANSLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_ANSLibAbort(vdm_ANSLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_ANSLibSetFunction().

Parameters:p – Pointer to ANSLib object.
void vdm_ANSLibSetSearch(vdm_ANSLib *p, Vint search)

set search options

Set search type. Defaults to ANSLIB_SEARCH_OFF. If ANSLIB_SEARCH_CDB is specified, the ANSYS .cdb file speci by vdm_ANSLibSetSearchPath() is scanned for named components, and added to the library datasets as node and/or element sets.

Errors
SYS_ERROR_ENUM is generated if an improper search is specified.

Parameters:
  • p – Pointer to ANSLib object.
  • search – Search type
    x=ANSLIB_SEARCH_OFF      Reads single results file
     =ANSLIB_SEARCH_CDB      Reads additional .cdb file
    
void vdm_ANSLibSetSearchPath(vdm_ANSLib *p, Vint search, Vchar *pathname)

set search path

Set search path to the file type specified by vdm_ANSLibSetSearch(). There is no default.

Errors
SYS_ERROR_ENUM is generated if an improper search is specified.

Parameters:
  • p – Pointer to ANSLib object.
  • search – Search type
    x=ANSLIB_SEARCH_CDB      Specify path to .cdb fi
    
  • pathname – Path name
void vdm_ANSLibDataFun(vdm_ANSLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to ANSLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.8. ANSYS AUTODYN results files - AUTODYNLib

The ANSYS AUTODYN results database is a collection of files resident in a single directory resulting from an execution of ANSYS AUTODYN. Support for the AUTODYN results file requires 3rd party software from ANSYS.

The methods associated with a AUTODYNLib object are the following.

Instance a AUTODYNLib object using vdm_AUTODYNLibBegin(). Once instanced set pointers to abstract data functions using vdm_AUTODYNLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_AUTODYNLibSetFunction().

The key file must be any .adres file located in the directory. The results files contain model and results data. The PARTID.E dataset is set to the part number. Each dataset name in the results data section is appended with a time step number.

Each dataset in the results data section has dataset attributes which correspond to the time value associated with the step. One or more of the following dataset attributes are available for each state.

  • Possible attributes of each results dataset.

    Time            , Time
    DataSource      , Internal AUTODYN variable name
    

5.8.1. Function Descriptions

The currently available AUTODYNLib functions are described in detail in this section.

vdm_AUTODYNLib *vdm_AUTODYNLibBegin(void)

create an instance of a AUTODYNLib object

Create an instance of a AUTODYNLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Returns:The function returns a pointer to the newly created AUTODYNLib object. If the object creation fails, NULL is returned.
void vdm_AUTODYNLibEnd(vdm_AUTODYNLib *p)

destroy an instance of a AUTODYNLib object

See vdm_AUTODYNLibBegin()

Vint vdm_AUTODYNLibError(vdm_AUTODYNLib *p)

return the current value of a AUTODYNLib object error flag

See vdm_AUTODYNLibBegin()

void vdm_AUTODYNLibSetFunction(vdm_AUTODYNLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to AUTODYNLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_AUTODYNLibAbort(vdm_AUTODYNLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_AUTODYNLibSetFunction().

Parameters:p – Pointer to AUTODYNLib object.
void vdm_AUTODYNLibDataFun(vdm_AUTODYNLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to AUTODYNLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.9. CFX results file - CFXLib

The CFX format file is generated by the ANSYS CFX solver. The file suffix is .res.

The methods associated with a CFXLib object are the following.

Instance a CFXLib object using vdm_CFXLibBegin(). Once instanced set pointers to abstract data functions using vdm_CFXLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_CFXLibSetFunction().

Support for the CFX results file requires 3rd party software from ANSYS. The PARTID.E dataset is set to the zone number. The results file only contains results at nodes.

Each results dataset name is appended with the time step number, id.

  • Possible attributes of each results dataset.

    Time            , Time
    DataSource      , export variable name
    

5.9.1. Function Descriptions

The currently available CFXLib functions are described in detail in this section.

vdm_CFXLib *vdm_CFXLibBegin(void)

create an instance of a CFXLib object

Create an instance of a CFXLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a CFXLib object using

void vdm_CFXLibEnd (vdm_CFXLib *cfxlib)

Return the current value of a CFXLib object error flag using

Vint vdm_CFXLibError (vdm_CFXLib *cfxlib)

Returns:The function returns a pointer to the newly created CFXLib object. If the object creation fails, NULL is returned.
void vdm_CFXLibEnd(vdm_CFXLib *p)

destroy an instance of a CFXLib object

See vdm_CFXLibBegin()

Vint vdm_CFXLibError(vdm_CFXLib *p)

return the current value of a CFXLib object error flag

See vdm_CFXLibBegin()

void vdm_CFXLibSetFunction(vdm_CFXLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL.

Parameters:
  • p – Pointer to CFXLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_CFXLibAbort(vdm_CFXLib *p)

set abort flag

Set abort flag. During the interface open process

Parameters:p – Pointer to CFXLib object.
void vdm_CFXLibDataFun(vdm_CFXLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to CFXLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.10. CGNS data base - CGNSVLib

The CGNS data base is a collection of conventions and software for the storage and retrieval of CFD data. Support for the CGNS data base requires 3rd party software from the CGNS organization available at the following URL.

http://cgns.sourceforge.net

The methods associated with a CGNSVLib object are the following.

Instance a CGNSVLib object using vdm_CGNSVLibBegin(). Once instanced set pointers to abstract data functions using vdm_CGNSVLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_CGNSVLibSetFunction().

The CGNS data base is supported for both reading and writing. The data base file name usually contains a “.cgns” suffix.

The CGNS reader supports both structured and unstructured zones. All topology types are supported. The PARTID.E dataset is set to the zone/section id. Elements in each structured zone are assigned a single part identifier. Elements in each section of an unstructured zone are assigned a single part identifier. The zone/section ids are assigned sequentially starting from 1 as they are encountered.

Each results dataset name is appended with the flow solution index number, id.

  • Possible attributes of each results dataset.

    Time            , Time
    DataSource      , field name
    

This interface supports the import of unknown variables. Any specific CGNS variable name (data name identifier for flow solution quantity) which does not match the current list of VdmTools specific variable names will be imported as SYS_RES_UNKNOWN. The dataset name will include the CGNS variable name immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Supported Variable Names, Results

CGNS Variable Name Dataset
Temperature TEMP
TemperatureStagnation TEMP.[STAG]
Entropy ENTROPY
Enthalpy H
EnthalpyStagnation H.[STAG]
EnergyStagnation ENERGY.[STAG]
EnergyInternal ENERGY.[INTERNAL]
EnergyStagnationDensity ENERGY_DENSITY.[STAG]
SkinFriction WALL_SHEAR
TurbulentDistance TURB_DIST
TurbulentEnergyKinetic TURB_KE
ReynoldsStress S.[REYNOLDS]
TurbulentDissipationRate TURB_ED
ViscosityEddy VISC_EDDY
Prandtl PRANDTL
Pressure PRES
CoefPressure PRES_COEF
PressureStagnation PRES.[STAG]
PressureDynamic PRES.[DYNAMIC]
Density DENS
Velocity V
Momentum P
Vorticity VORTICITY
EnergyKinetic KE
SpecificHeatVolume CP
Mach MACH
StreamFunction STREAM

The convention, VDM_CONVENTION_DOUBLE, can be used to export floating point data in single or double precision. The default export precision is single. All nodes and elements are exported as a single unstructured zone. All CGNS topology types are supported except polygons. A section is exported for all solid elements of dimension equal to the CGNS physical dimension with a similar VIS_PARTID element association. A section is exported for all interface elements of dimension equal to one less than the CGNS physical dimension with a similar VIS_PARTID element association and a similar partid of an attached solid element. A section is also exported for all other elements with a similar VIS_PARTID element association.

There is an option using a non standard method to specify the file type used when exporting to a CGNS file. The file types are HDF5 and ADF.

Scalar, vector and symmetric tensor data types are exported, all others are ignored. All element node results are converted to an element result for output. All node and element results are converted to the global coordinate system. If a VdmTools specific type is written, the CGNS variable names in the table above are first searched, otherwise the specific variable type contents are used and abbreviated as needed.

5.10.1. Function Descriptions

The currently available CGNSVLib functions are described in detail in this section.

vdm_CGNSVLib *vdm_CGNSVLibBegin(void)

create an instance of a CGNSVLib object

Create an instance of a CGNSVLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a CGNSVLib object using

void vdm_CGNSVLibEnd (vdm_CGNSVLib *cgnsvlib)

Return the current value of a CGNSVLib object error flag using

Vint vdm_CGNSVLibError (vdm_CGNSVLib *cgnsvlib)

Returns:The function returns a pointer to the newly created CGNSVLib object. If the object creation fails, NULL is returned.
void vdm_CGNSVLibEnd(vdm_CGNSVLib *p)

destroy an instance of a CGNSVLib object

See vdm_CGNSVLibBegin()

Vint vdm_CGNSVLibError(vdm_CGNSVLib *p)

return the current value of a CGNSVLib object error flag

See vdm_CGNSVLibBegin()

void vdm_CGNSVLibSetFunction(vdm_CGNSVLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to CGNSVLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_CGNSVLibAbort(vdm_CGNSVLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_CGNSVLibSetFunction().

Parameters:p – Pointer to CGNSVLib object.
void vdm_CGNSVLibDataFun(vdm_CGNSVLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to CGNSVLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_CGNSVLibSetSearch(vdm_CGNSVLib *p, Vint search)

set user specified search types

Set search type. Defaults to CGNSVLIB_SEARCH_OFF.

Errors
SYS_ERROR_ENUM is generated if an improper search is specified.

Parameters:
  • p – Pointer to CGNSVLib object.
  • search – Search type
    x=CGNSVLIB_SEARCH_OFF           Reads a single file
     =CGNSVLIB_SEARCH_DIRNUM        Searches based on directory number
     =CGNSVLIB_SEARCH_DIRNUMFILENUM Searches based on directory and file number
     =CGNSVLIB_SEARCH_FILENUM       Searches based on file number
    
void vdm_CGNSVLibSetWriteFileType(vdm_CGNSVLib *p, Vint filetype)

specify export file type

Set file type used for export. The default type is CGNSVLIB_ADF.

Errors
SYS_ERROR_ENUM is generated if an improper filetype is specified.

Parameters:
  • p – Pointer to CGNSVLib object.
  • filetype – Type of file type for export
    x=CGNSVLIB_HDF5          HDF5 file format
     =CGNSVLIB_ADF           ADF file format
    

5.11. COMSOL MPH and Sectionwise file - COMSOLLib

The COMSOL Multiphysics file is an ASCII or binary file. The file name usually contains the letters “mph”. The ASCII file usually has the extension .txt and the binary file has the extension .bin. The COMSOL Sectionwise file is an ASCII file - usually with extension .txt - produced by COMSOL. More information about COMSOL is available at the URL

http://www.comsol.com

The methods associated with a COMSOLLib object are the following.

Instance a COMSOLLib object using vdm_COMSOLLibBegin(). Once instanced set pointers to abstract data functions using vdm_COMSOLLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_COMSOLLibSetFunction().

The COMSOL MPH file contains either mesh entities or results.

The COMSOL Sectionwise file contains a triangular discretization in two dimensions or a tetrahedron discretization in three dimensions. The geometry is followed by a series of nodal scalar results.

Each results dataset name is appended with the flow solution index number, id.

  • Possible attributes of each results dataset.

    Time            , Time
    DataSource      , field name
    

This interface supports the import of unknown variables. Any specific variable name which does not match the current list of VdmTools specific variable names will be imported as SYS_RES_UNKNOWN. The dataset name will include the COMSOL variable name immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Supported Variable Names, Results

COMSOL Variable Name Dataset
p PRES
spf.U V.[MAG]

5.11.1. Function Descriptions

The currently available COMSOLLib functions are described in detail in this section.

vdm_COMSOLLib *vdm_COMSOLLibBegin(void)

create an instance of a COMSOLLib object

Create an instance of a COMSOLLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a COMSOLLib object using

void vdm_COMSOLLibEnd (vdm_COMSOLLib *comsollib)

Return the current value of a COMSOLLib object error flag using

Vint vdm_COMSOLLibError (vdm_COMSOLLib *comsollib)

Returns:The function returns a pointer to the newly created COMSOLLib object. If the object creation fails, NULL is returned.
void vdm_COMSOLLibEnd(vdm_COMSOLLib *p)

destroy an instance of a COMSOLLib object

See vdm_COMSOLLibBegin()

Vint vdm_COMSOLLibError(vdm_COMSOLLib *p)

return the current value of a COMSOLLib object error flag

See vdm_CGNSVLibBegin()

void vdm_COMSOLLibSetFunction(vdm_COMSOLLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to COMSOLLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_COMSOLLibAbort(vdm_COMSOLLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_COMSOLLibSetFunction().

Parameters:p – Pointer to COMSOLLib object.
void vdm_COMSOLLibDataFun(vdm_COMSOLLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to COMSOLLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.12. LSTC LS-DYNA input file - D3DFil

The LSTC LS-DYNA input file is a text file which contains the input description of a finite element model for the LS-DYNA finite element program.

The methods associated with a D3DFil object are the following.

Instance a D3DFil object using vdm_D3DFilBegin(). Once instanced set pointers to abstract data functions using vdm_D3DFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_D3DFilSetFunction().

This interface only produces datasets associated with the finite element model, no results datasets are produced. The element types commonly associated with structural analysis are supported. The PARTID.E dataset is set to the part id. The interface currently recognizes the following input keywords.

Supported Keywords

Miscellaneous Description
*TITLE Create title string
*INCLUDE
*INCLUDE_TRANSFORM
*DEFINE_TRANSFORMATION
Read from specified file
Nodes, Elements, Coordinate
Systems
Description
*NODE Create node, add constraints
to restraint case
*SET_NODE_LIST
*SET_NODE_LIST_GENERATE
*SET_NODE_GENERAL
Create node set, the BOX
and DBOX options are not
supported
*ELEMENT_SOLID_{OPTION}
*ELEMENT_TSHELL
Create 3D solid element.
*ELEMENT_SHELL_{OPTION} Create 3D shell element.
*ELEMENT_BEAM_{OPTION} Create 3D beam element.
*ELEMENT_MASS *ELEMENT_INERTIA, Create mass element and mass element property
*ELEMENT_DISCRETE
*ELEMENT_SEATBELT
Create spring dashpot element
*SET_BEAM
*SET_BEAM_GENERATE
*SET_BEAM_GENERAL
*SET_DISCRETE
*SET_DISCRETE_GENERATE
*SET_DISCRETE_GENERAL
*SET_SHELL_LIST
*SET_SHELL_LIST_GENERATE
*SET_SHELL_GENERAL
*SET_SOLID
*SET_SOLID_GENERATE
*SET_SOLID_GENERAL
*SET_TSHELL
*SET_TSHELL_GENERATE
*SET_TSHELL_GENERAL
*SET_PART_LIST
*SET_PART_LIST_GENERATE
Create element set
*DEFINE_COORDINATE_NODES
*DEFINE_COORDINATE_SYSTEM
*DEFINE_COORDINATE_VECTOR
Create coordinate system
Element Properties Description
*PART Create element property
*SECTION_SOLID Define solid element properties
*SECTION_SHELL Define shell element properties
*SECTION_BEAM Define beam element properties
Material Properties Description
*MAT_ELASTIC Create linear elastic
material property
Loads, Initial Conditions Description
*LOAD_NODE Define concentrated load
*DEFINE_CURVE Create load curve
Restraints Description
*BOUNDARY_SPC
*BOUNDARY_SPC_NODE
*BOUNDARY_SPC_SET
Define degree of freedom
restraints
*CONSTRAINED_LINEAR Define multipoint constraint

5.12.1. Function Descriptions

The currently available D3DFil functions are described in detail in this section.

vdm_D3DFil *vdm_D3DFilBegin(void)

create an instance of a D3DFil object

Create an instance of a D3DFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a D3DFil object using

void vdm_D3DFilEnd (vdm_D3DFil *d3dfil)

Return the current value of a D3DFil object error flag using

Vint vdm_D3DFilError (vdm_D3DFil *d3dfil)

Returns:The function returns a pointer to the newly created D3DFil object. If the object creation fails, NULL is returned.
void vdm_D3DFilEnd(vdm_D3DFil *p)

destroy an instance of a D3DFil object

See vdm_D3DFilBegin()

Vint vdm_D3DFilError(vdm_D3DFil *p)

return the current value of a D3DFil object error flag

See vdm_D3DFilBegin()

void vdm_D3DFilSetFunction(vdm_D3DFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to D3DFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_D3DFilAbort(vdm_D3DFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_D3DFilSetFunction().

Parameters:p – Pointer to D3DFil object.
void vdm_D3DFilDataFun(vdm_D3DFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to D3DFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.13. LSTC LS-DYNA State and Time History Databases - D3DLib

The state and/or time history databases are produced as a result of an execution of the LS-DYNA program offered by Livermore Software Technology Corporation (LSTC). The interface supports both single and double precision files.

The methods associated with a D3DLib object are the following.

Instance a D3DLib object using vdm_D3DLibBegin(). Once instanced set pointers to abstract data functions using vdm_D3DLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_D3DLibSetFunction().

The state database consists of a series (family) of files generally named d3plot, d3plot01, d3plot02, etc. The key file to be opened is the first file in the family, d3plot. There are three major sections in the database; control data, geometry data, and state data. The data management system maps dataset names and attributes to all data in each section of the database. The PARTID.E dataset is set to the material id. Each dataset name in the state data section is appended with the state number, state.

The spot weld force file, swforc, is read, by default, if it exists in the same directory as the key state d3plot file. The node contact force file, ncforc, is read, by default, if it exists in the same directory as the key state d3plot file. Note that the time steps of the node contact forces may not correspond exactly to the state times. In this case the dataset id1 identifier is the same as the state number (base state) of the state time which is the largest time that is less than or equal to the node contact force time. An additional id2 identifer is appended which counts serially the number of node contact force datasets which are larger than the base state. Use vdm_D3DLibSetSearch() to change the search options for these files.

The time history database also consists of three major sections; control data, geometry data and time history data. The PARTID.E dataset is set to the material id.

Supported Variable Names, Results

Dataset LS-DYNA State Value
X
V
A
TEMP
NODEDATA
S
E.[EQUIV,PLAST]
SFM
THICKNESS
SE
E
DELETED
ELEMDATA
DENS.[FLUID]
DOM_FLUID_PHASE
MASS
VOF
ELEMDATA ALE
ID.[GAS].PCL
MASS.PCL
X.PCL
V.PCL
PARTICLE DATA
SF.[AXIAL,WELD]
SF.[SHEAR,WELD]
LENGTH.[WELD]
swforc
FORCE.[CONTACT]
PRES.[CONTACT]
ncforc

Each dataset in the state data section has dataset attributes which correspond to the time word and global data items associated with each state on the database. One or more of the following dataset attributes are available for each state.

  • Possible attributes of each results dataset.

    Time            , Time
    TotalEnergy     , Total Energy
    KineticEnergy   , Kinetic Energy
    StrainEnergy    , Strain Energy
    XMomentum       , Momentum X-Component
    YMomentum       , Momentum Y-Component
    ZMomentum       , Momentum Z-Component
    InternalWork    , Internal Work
    DataSource      , file name
    Phase           , phase
    

5.13.1. Function Descriptions

The currently available D3DLib functions are described in detail in this section.

vdm_D3DLib *vdm_D3DLibBegin(void)

create an instance of a D3DLib object

Create an instance of a D3DLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a D3DLib object using

void vdm_D3DLibEnd (vdm_D3DLib *d3dlib)

Return the current value of a vD3DLib} object error flag using

Vint vdm_D3DLibError (vdm_D3DLib *d3dlib)

Returns:The function returns a pointer to the newly created D3DLib object. If the object creation fails, NULL is returned.
void vdm_D3DLibEnd(vdm_D3DLib *p)

destroy an instance of a D3DLib object

See vdm_D3DLibBegin()

Vint vdm_D3DLibError(vdm_D3DLib *p)

return the current value of a D3DLib object error flag

See vdm_D3DLibBegin()

void vdm_D3DLibSetFunction(vdm_D3DLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to D3DLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_D3DLibAbort(vdm_D3DLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_D3DLibSetFunction().

Parameters:p – Pointer to D3DLib object.
void vdm_D3DLibSetSearch(vdm_D3DLib *p, Vint search)

set user specified search types

Set search type. By default all searching is enabled.

Parameters:
  • p – Pointer to D3DLib object.
  • search – Search type
    x=D3DLIB_SEARCH_SWFORC     Search for swforc file
     =D3DLIB_SEARCH_SWFORC_OFF Do not search for swforc file
     =D3DLIB_SEARCH_NCFORC     Search for ncforc file
     =D3DLIB_SEARCH_NCFORC_OFF Do not search for ncforc file
    
void vdm_D3DLibDataFun(vdm_D3DLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to D3DLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.14. ANSYS Data Processing Framework .rst, .rth, .rmg and .rfl Results Files - DPFLib

The Data Processing Framework (DPF) from ANSYS, provides a toolbox for accessing model simulation data. Such Framework is able to read .rst, .rth, .rmg and .rfl files. Those files are produced during an execution of ANSYS for structural, thermal, electro-magnetic and fluid flow analyses. The DPFLib Library is a wrapper to such API. The user could decide to load their .rst files either using the standard ANSLib object or using the DPFLib object. Please notice that the current version of DPFLib has partial support of the full capabilities of Ansys DPF API.

The methods associated with a DPFLib object are the following.

Instance a DPFLib object using vdm_DPFLibBegin(). Once instanced set pointers to abstract data functions using vdm_DPFLibDataFun().

to query mesh releated information: the following list of data set are available

  • Nodal mesh datasets

    X.N   - Node Coordinates
    NID.N - Node User Identifier
    
  • Element mesh datasets

    ELEM.NODE.EL - Element Connectivity
    ELEM.SIZE.E  - Element Connectivity Size
    ELEM.SHAP.E  - Element Topological Shape
    ELEM.MIJK.E  - Element Topological Order
    EID.E        - Element User Identifier
    

Supported Variable Names, Results

Ansys DPF Variable Name Dataset
Displacement D
Position X
Force XF
Temperature TEMP
Energy-stiffness matrix K_MAT
Volume VOLUME
Stress S
Strain E
Strain Thermal E.[THERMAL]
Strain Swelling E.[SWELLING]
Strain Plastic E.[PLAST]
Strain Creep E.[CREEP]
thermal dissipation energy TE
Kinetic Energy KE
Hourglass Energy HOURGLASS_ENERGY
Element nodal Forces EN_FORC
Heat flux HEAT_FLUX
Temperature Gradient TEMP_GRAD
Acceleration A
Velocity V
Structural temperature TEMP
Contact Penetration PENE_CONTACT
Gap Contact GAP.[CONTACT]
Distance Contact Slip DIST.[CONTACT,SLIP]
Status Contact STAT.[CONTACT]
Rotation Angle Vector ROT_ANG

The mesh information can be queried from the Connect object. We strongly advise the user to use the Connect object instead of the datasets. The connect object not only has the information of the mesh but also have logic to search and compute derived values from the mesh. The connect object can be queried using:

vdm_DPFLibGetConnect(vdm_DPFLib *p, vis_Connect **connect)

for query the results, you need the dataset index obtained from the library and then call

vdm_DPFLibReadDataset(vdm_DPFLib *p, Vint datasetIndex, void* data)

The buffer (data) needs to be allocated previous to this call.

5.14.1. Function Descriptions

The currently available DPFLib functions are described in detail in this section.

vdm_DPFLib *vdm_DPFLibBegin(void)

create an instance of a DPFLib object

Create an instance of a DPFLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a DPFLib object using

void vdm_DPFLibEnd (vdm_DPFLib *dpflib)

Return the current value of a DPFLib object error flag using

Vint vdm_DPFLibError (vdm_DPFLib *dpflib)

Returns:The function returns a pointer to the newly created DPFLib object. If the object creation fails, NULL is returned.
void vdm_DPFLibEnd(vdm_DPFLib *p)

destroy an instance of a DPFLib object

See vdm_DPFLibBegin()

void vdm_DPFLibOpen(vdm_DPFLib *p, Vint mode, Vchar *filename, Vint type)

Open the giving file using the DFPLib.

Open the given file and load the Connect object internally Retrieve the connect object using See vdm_DPFLibGetConnect(vdm_DPFLib *p, vis_Connect **connect)

Parameters:
  • p – Pointer to DPFLib object.
  • mode – opening mode
  • filename – full path to file name
  • type – only supported for SYS_ANSYS_DPF
void vdm_DPFLibReadDataset(vdm_DPFLib *p, Vint datasetIndex, void *data)

Read the dataset data using the DFPLib.

Read and fill the data with the values of the dataset. This call will trigger a reading of the data within the files. In this case, using ansys::dpf API

Errors
SYS_ERROR_VALUE is generated if the datasetIndex is not found in the library

Parameters:
  • p – Pointer to DPFLib object.
  • datasetIndex – Vint dataset index
  • data[out] allocated buffer pointer of size dataset_lrec
void vdm_DPFLibGetConnect(vdm_DPFLib *p, vis_Connect **connect)

This method set the connect to point to the internal connect object.

Notice . The internal DPFLib will deallocate the connect once termination, the parameter connect might dangle. Here an example of how to use this method properly

vis_Connect* connect = NULL;
vdm_DPFLibGetConnect(vdm_DPFLib_object, &connect)

Parameters:
  • p – Pointer to DPFLib object.
  • connect – Pointer of a Pointer to connect
void vdm_DPFLibGetNumEntities(vdm_DPFLib *p, Vint entitytype, Vint *numentity)

get number of Elements, Nodes, Faces or Edges

Return the number of entities of the requested type. If type is an unrecognizable type, then numentity is returned as zero. This is equivalent to call vis_ConnectNumber() using the connect object.

Parameters:
  • p – Pointer to DPFLib object.
  • entitytype – Entity type
    =SYS_ELEM     Element
    =SYS_NODE     Node
    =SYS_FACE     Face
    =SYS_EDGE     Edge
    
  • numentity[out] Number of entities of requested type
Vint vdm_DPFLibError(vdm_DPFLib *p)

return the current value of a DPFLib object error flag

Report total number of errors notified. This will reset the counter to zero after

Parameters:p – Pointer to DPFLib object.
Returns:Integer error count
void vdm_DPFLibGetLibrary(vdm_DPFLib *p, vdm_Library **library)

get library object associated with library device

Get Library object associated with a library device. Use the Library object to retrieve generic information about the datasets and attributes on the library device. See the descriptions of the Library, Dataset and Attribute modules.

Parameters:
  • p – Pointer to DataFun object.
  • library – Pointer to Library object.
void vdm_DPFLibNumDatasets(vdm_DPFLib *p, Vint *numdatasets)

get number of datasets on library

Get the number of datasets on a library.

Parameters:
  • p – Pointer to DPFLib object.
  • numdatasets[out] Number of datasets on library.
void vdm_DPFLibNumAttributes(vdm_DPFLib *p, Vint datasetIndex, Vint *numattributes)

get number of dataset attributes

Get the number of dataset attributes.

Parameters:
  • p – Pointer to DPFLib object.
  • datasetIndex – Vint identifying the dataset object.
  • numattributes[out] Number of dataset attributes.
void vdm_DPFLibGetAttVal(vdm_DPFLib *p, Vint datasetIndex, Vint iatt, void *value)

get attribute values for the given datasetindex

Return an valued attribute.

Errors
SYS_ERROR_OPERATION is generated if the value is not defined

Parameters:
  • p – Pointer to DPFLib object.
  • datasetIndex – Vint identifying the dataset object.
  • iatt – Vint identifying the attribute type.
  • value[out] attribute values address
void vdm_DPFLibInqAttribute(vdm_DPFLib *p, Vint idst, Vint iatt, Vchar name[], Vint *length, Vint *type)

inquire of defined name, length, and type as output arguments

See vdm_AttributeDef()

void vdm_DPFLibInqDataset(vdm_DPFLib *p, Vint datasetIndex, Vchar name[], Vlong *lrec, Vint *nrow, Vint *ncol, Vint *type)

inquire of defined name, lrec, nrow, ncol and type as output arguments

See vdm_DatasetDef()

void vdm_DPFLibSetMode(vdm_DPFLib *p, Vint mode, Vint flag)

set Mode for DPFLib

Set Mode for DPFLib. For VDM_NODATAVALMODE if SYS_OFF, the datasets not defining data will be filled with zeros if SYS_ON is enabled, the buffer not defining data are going to be filled with NODATAVAL

The parameter VDM_DPFLIB_DONOTROTATETOGLOBALFRAME disable rotation of result quantities to the global frame. By default VDM_DPFLIB_DONOTROTATETOGLOBALFRAME is SYS_OFF.

The parameter VDM_DPFLIB_CHECKVERSION enable version check of apdl result files. By default VDM_DPFLIB_CHECKVERSION is SYS_OFF.

Errors
VIS_ERROR_ENUM is generated if an improper mode is specified.

Parameters:
  • p – Pointer to DPFLib object.
  • mode – Mode to be set
    x=VDM_NODATAVALMODE                    Set NODATAVAL to undefined data
     =VDM_DPFLIB_DONOTROTATETOGLOBALFRAME  Do not rotate the model to the global frame
     =VDM_DPFLIB_CHECKVERSION              Check apdl files version
    
  • flag – flag SYS_OFF or SYS_ON
void vdm_DPFLibDataFun(vdm_DPFLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to DPFLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_DPFLibAbort(vdm_DPFLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_DPFLibSetFunction().

Parameters:p – Pointer to DPFLib object.
void vdm_DPFLibNumDomains(vdm_DPFLib *p, Vchar *filename, Vint type, Vint *numdomains)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • filename – Pathname to host file associated with the library device
  • type – Type of library device file, see vdm_DataFunOpen().
  • numdomains[out] Number of domains
void vdm_DPFLibAppend(vdm_DPFLib *p, Vchar *filename, Vint type)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • filename – 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
    
void vdm_DPFLibReadDatasetCols(vdm_DPFLib *p, Vint idst, Vint ncols, Vint cols[], void *buf, Vlong *lptr)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • idst – Index of dataset object to read
  • ncols – Number of columns
  • cols – Vector of column numbers
  • buf[out] Pointer to array to receive dataset contents
  • lptr[out] Pointer to starting position of each column in buff.
void vdm_DPFLibLibDataset(vdm_DPFLib *p, Vint oper, Vint idst)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • oper – 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
void vdm_DPFLibGetInteger(vdm_DPFLib *p, Vint type, Vint *ivalue)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • type – Type of integer information to query
    =VDM_PHASE            Progress phase
    
  • ivalue – Returned integer information
void vdm_DPFLibGetString(vdm_DPFLib *p, Vint type, Vchar *cvalue)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • type – Type of integer information to query
    =VDM_SOURCE           Current data source
    
  • cvalue[out] Returned string information
void vdm_DPFLibSetConvention(vdm_DPFLib *p, VConventionType convention)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib 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
    =VDM_CONVENTION_CGNSALWAYSMIXED Force CGNS export mesh as MIXED element types
    =VDM_CONVENTION_ONLYSCALARSHEARPANELSTRESS Shear panel stress not presented as tensor
    
void vdm_DPFLibSetStatus(vdm_DPFLib *p, Vint status)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib 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
    
void vdm_DPFLibSetIds(vdm_DPFLib *p, Vint idtype, Vint id1, Vint id2, Vint id3)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • idtype – Numeric identifier algorithm
    =VDM_IDS_OFFSET           Offset ids
    =VDM_IDS_BASE             Increment ids over base
    =VDM_IDS_ABSOLUTE         Set ids
    
  • id1 – Numeric identifier
  • id2 – Numeric identifier
  • id3 – Numeric identifier
void vdm_DPFLibSetFunction(vdm_DPFLib *p, Vint funtype, Vfunc *function, Vobject *object)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_DPFLibSetMonitorFunction(vdm_DPFLib *p, VDPFLibMonitorFunc *function, Vobject *object)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • function – Pointer to monitor callback function.
  • object – Pointer to the object to be returned as function argument
void vdm_DPFLibSetConnect(vdm_DPFLib *p, vis_Connect *connect)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • connect – Pointer to Connect object.
void vdm_DPFLibDefDataset(vdm_DPFLib *p, const Vchar *name, Vlong lrec, Vint nrow, Vint ncol, Vint type, Vint *idst)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib 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
void vdm_DPFLibWriteDataset(vdm_DPFLib *p, Vint idst, void *buff)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • idst – Index of dataset object to read
  • buff – Pointer to array to dataset contents
void vdm_DPFLibDefAttribute(vdm_DPFLib *p, Vint idst, const Vchar *name, Vint length, Vint type, Vint *iatt)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib 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[out] Index of generated attribute
void vdm_DPFLibSetAttVal(vdm_DPFLib *p, Vint idst, Vint iatt, void *value)

Undefined function.

Set the value of an attribute. This function may only be called on writeable library devices such as a native data base.

Get value as an output argument using

void vdm_DataFunGetAttVal (vdm_DataFun *datafun,
                           Vint idst,
                           Vint iatt,
                           void *value)

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to DPFLib object.
  • idst – Index of dataset
  • iatt – Index of attribute
  • value – Pointer to attribute value

5.15. EnSight Casefile format - EnSightLib

The EnSight Casefile format consists of a Case file and associated files.

The methods associated with a EnSightLib object are the following.

Instance a EnSightLib object using vdm_EnSightLibBegin(). Once instanced set pointers to abstract data functions using vdm_EnSightLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_EnSightLibSetFunction().

The EnSight Casefile format is supported for both reading and writing. The Case file points to all other needed files including model geometry and variables. The Case file usually contains a “.case” suffix. The reader supports both structured and unstructured parts. All topology types are supported including polygon and polyhedron. The PARTID.E dataset is set to the part id.

Each results dataset name is appended with the time solution number which is encoded in the file name number.

  • Possible attributes of each results dataset.

    Frequency       , Frequency
    Time            , Time
    Title           , Title
    Subtitle        , Subtitle
    DataSource      , file name
    

This interface supports the import of unknown variables. Any specific variable description which does not match the current list of VdmTools specific variable names will be imported as SYS_RES_UNKNOWN. The dataset name will include the Ensight variable description immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Supported Variable Names, Results

Ensight Variable Description Dataset
Displacement D
Pressure PRES
Strain E
Stress S
Temperature TEMP
Velocity V

The Ensight writer only supports binary Ensight Gold format. All floating point data is exported in single precision. All nodes and elements are exported as unstructured parts. A part is exported for all elements with a similar VIS_PARTID element association. All linear and Serendipity parabolic elements, polygons and polyhedra are written. Lagrange elements are ignored.

Scalar, vector and symmetric tensor data types are exported, all others are ignored. All element node results are converted to an element result for output. All node and element results are converted to the global coordinate system. If a VdmTools specific type is written, the Ensight variable description is set to a four character abbreviation of the “Contents” string. If an unknown type, SYS_RES_UNKNOWN, is written, the variable description is set to the first four characters of the RProp object cqua string. All blanks are replaced with underscores, “_”. The last non-zero dataset identifier is time varying, all other identifiers are embedded directly in the variable description.

5.15.1. Function Descriptions

The currently available EnSightLib functions are described in detail in this section.

vdm_EnSightLib *vdm_EnSightLibBegin(void)

create an instance of a EnSightLib object

Create an instance of a EnSightLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a EnSightLib object using

void vdm_EnSightLibEnd (vdm_EnSightLib *ensightlib)

Return the current value of a EnSightLib object error flag using

Vint vdm_EnSightLibError (vdm_EnSightLib *ensightlib)

Returns:The function returns a pointer to the newly created EnSightLib object. If the object creation fails, NULL is returned.
void vdm_EnSightLibEnd(vdm_EnSightLib *p)

destroy an instance of a EnSightLib object

See vdm_EnSightLibBegin()

Vint vdm_EnSightLibError(vdm_EnSightLib *p)

return the current value of a EnSightLib object error flag

See vdm_EnSightLibBegin()

void vdm_EnSightLibSetFunction(vdm_EnSightLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to EnSightLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_EnSightLibAbort(vdm_EnSightLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_EnSightLibSetFunction().

Parameters:p – Pointer to EnSightLib object.
void vdm_EnSightLibDataFun(vdm_EnSightLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to EnSightLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.16. FEMAP Neutral File - FEMAPLib

The FEMAP Neutral File is an ASCII file which contains mesh data and results data.

The methods associated with a FEMAPLib object are the following.

Instance a FEMAPLib object using vdm_FEMAPLibBegin(). Once instanced set pointers to abstract data functions using vdm_FEMAPLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_FEMAPLibSetFunction().

The FEMAP reader reads all node coordinates, element types and connectivity and coordinate systems. Constraint sets are also read. All node and element groups become node and element sets. The PARTID.E dataset is set to the property id.

Each dataset name in the results section of the file is appended with the output set number.

  • Possible attributes of each results dataset.

    Title           , Title
    Label           , Label
    Time            , Time
    Frequency       , Frequency
    LoadFactor      , Load proportionality factor
    DataSource      , solution header
    

5.16.1. Function Descriptions

The currently available FEMAPLib functions are described in detail in this section.

vdm_FEMAPLib *vdm_FEMAPLibBegin(void)

create an instance of a FEMAPLib object

Create an instance of a FEMAPLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a FEMAPLib object using

void vdm_FEMAPLibEnd (vdm_FEMAPLib *femaplib)

Return the current value of a FEMAPLib object error flag using

Vint vdm_FEMAPLibError (vdm_FEMAPLib *femaplib)

Returns:The function returns a pointer to the newly created FEMAPLib object. If the object creation fails, NULL is returned.
void vdm_FEMAPLibEnd(vdm_FEMAPLib *p)

destroy an instance of a FEMAPLib object

See vdm_FEMAPLibBegin()

Vint vdm_FEMAPLibError(vdm_FEMAPLib *p)

return the current value of a FEMAPLib object error flag

See vdm_FEMAPLibBegin()

void vdm_FEMAPLibSetFunction(vdm_FEMAPLib *p, Vint funtype, Vfunc1 *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to FEMAPLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_FEMAPLibAbort(vdm_FEMAPLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_FEMAPLibSetFunction().

Parameters:p – Pointer to FEMAPLib object.
void vdm_FEMAPLibDataFun(vdm_FEMAPLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to FEMAPLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.17. FIDAP Neutral File - FDILib

The FIDAP Neutral File format is generated by ANSYS FIDAP program.

The methods associated with a FDILib object are the following.

Instance a FDILib object using vdm_FDILibBegin(). Once instanced set pointers to abstract data functions using vdm_FDILibDataFun().

5.17.1. Function Descriptions

The currently available FDILib functions are described in detail in this section.

vdm_FDILib *vdm_FDILibBegin(void)

create an instance of a FDILib object

Create an instance of a FDILib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a FDILib object using

void vdm_FDILibEnd (vdm_FDILib *fdilib)

Return the current value of a FDILib object error flag using

Vint vdm_FDILibError (vdm_FDILib *fdilib)

Returns:The function returns a pointer to the newly created FDILib object. If the object creation fails, NULL is returned.
void vdm_FDILibEnd(vdm_FDILib *p)

destroy an instance of a FDILib object

See vdm_FDILibBegin()

Vint vdm_FDILibError(vdm_FDILib *p)

return the current value of a FDILib object error flag

See vdm_FDILibBegin()

void vdm_FDILibDataFun(vdm_FDILib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to FDILib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.18. FLUENT Case and Data File - FLUENTLib

The FLUENT Case File format is an ASCII file format with optional embedded binary sections. There are two types of files: 1) a case file which contains the node, cell and face model information and 2) a data file which contains solution results information. The case file name usually contains a “.cas” or “.msh” suffix, the data file name usually contains a “.dat” suffix.

The methods associated with a FLUENTLib object are the following.

Instance a FLUENTLib object using vdm_FLUENTLibBegin(). Once instanced set pointers to abstract data functions using vdm_FLUENTLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_FLUENTLibSetFunction().

The interface supports all cell and face types. All active cells are represented as solid elements. All inactive cells do not appear as elements, however their existence is used in the support of “hanging nodes”. The zone_id of all cells and faces represented by elements is used to generate element part identifiers. An element face or edge set is generated for each external face zone. The PARTID.E dataset is set to the zone id.

Results are read for solution record type 300 and user defined record type 314. Each results dataset name is appended with the value of the “time-step” variable in section 37 Variables. If the “time-step” variable is not present then 1 is appended.

  • Possible attributes of each results dataset.

    Time            , Time value of time step
    DataSource      , variable name
    

Supported Solution Variables, Results

Fluent Subsection Id Dataset
1 PRES
2 P
3 TEMP
4 H
5 TURB_KE
6 TURB_ED
15 BODY_FORCE
18 MASS_FLUX
19 WALL_SHEAR
20 HEAT_FLUX
21 HEAT_FLUX.[RADIATION]
35 YPLUS
36 UTAU
38 TEMP.[Wall,Inner]
47 MASS_FLUX.[M1]
48 MASS_FLUX.[M2]
59 MACH
67 TEMP.[Granular]
70 VOLUME_FLUX
80 VOLUME_FLUX.[M1]
90 VOLUME_FLUX.[M2]
96 TURB_DIST
101 DENS
102 MU_LAMB
103 MU_TURB
104 CP
111
112
113
V
114 V.[Wall]
115
116
117
V.[M1]
119 TURB_KE.[M1]
120 TURB_ED.[M1]
126 TURB_KE.[M2]
127 TURB_ED.[M2]
128
129
130
131
132
133
S.[REYNOLDS]
150 VOF
160 VOF.[M1]
196 TEMP.[Variance]
500 VISC_EDDY
515 ENERGY.[M1]
516 ENERGY.[M2]
517 DENS.[M1]
518 DENS.[M2]
8553 V.[Wall,Original]

5.18.1. Function Descriptions

The currently available FLUENTLib functions are described in detail in this section.

vdm_FLUENTLib *vdm_FLUENTLibBegin(void)

create an instance of a FLUENTLib object

Create an instance of a FLUENTLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a FLUENTLib object using

void vdm_FLUENTLibEnd (vdm_FLUENTLib *fluentlib)

Return the current value of a FLUENTLib object error flag using

Vint vdm_FLUENTLibError (vdm_FLUENTLib *fluentlib)

Returns:The function returns a pointer to the newly created FLUENTLib object. If the object creation fails, NULL is returned.
void vdm_FLUENTLibEnd(vdm_FLUENTLib *p)

destroy an instance of a FLUENTLib object

See vdm_FLUENTLibBegin()

Vint vdm_FLUENTLibError(vdm_FLUENTLib *p)

return the current value of a FLUENTLib object error flag

See vdm_FLUENTLibBegin()

void vdm_FLUENTLibSetFunction(vdm_FLUENTLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to FLUENTLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_FLUENTLibAbort(vdm_FLUENTLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_FLUENTLibSetFunction().

Parameters:p – Pointer to FLUENTLib object.
void vdm_FLUENTLibDataFun(vdm_FLUENTLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to FLUENTLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.19. General Mesh Viewer File Format - GMVLib

The General Mesh Viewer file is a text file which contains model and results data. The file format was originally developed by Los Alamos National Laboratory.

The methods associated with a GMVLib object are the following.

Instance a GMVLib object using vdm_GMVLibBegin(). Once instanced set pointers to abstract data functions using vdm_GMVLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_GMVLibSetFunction().

The PARTID.E dataset is set to the material number.

Each results dataset name is appended with the time step number, id.

  • Possible attributes of each results dataset.

    Time            , Time
    

A REMESH.L dataset is created for each file which satisfies the search criterion.

  • Possible attributes of each remesh dataset.

    DataSource      , File name
    

5.19.1. Function Descriptions

The currently available GMVLib functions are described in detail in this section.

vdm_GMVLib *vdm_GMVLibBegin(void)

create an instance of a GMVLib object

Create an instance of a GMVLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a GMVLib object using

void vdm_GMVLibEnd (vdm_GMVLib *gmvlib)

Return the current value of a GMVLib object error flag using

Vint vdm_GMVLibError (vdm_GMVLib *gmvlib)

Returns:The function returns a pointer to the newly created GMVLib object. If the object creation fails, NULL is returned.
void vdm_GMVLibEnd(vdm_GMVLib *p)

destroy an instance of a GMVLib object

See vdm_GMVLibBegin()

Vint vdm_GMVLibError(vdm_GMVLib *p)

return the current value of a GMVLib object error flag

See vdm_GMVLibBegin()

void vdm_GMVLibSetFunction(vdm_GMVLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to GMVLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_GMVLibAbort(vdm_GMVLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_GMVLibSetFunction().

Parameters:p – Pointer to GMVLib object.
void vdm_GMVLibDataFun(vdm_GMVLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to GMVLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_GMVLibSetSearch(vdm_GMVLib *p, Vint search)

set user specified search types

Set search type. if search is GMVLIB_SEARCH_OFF then a single file is read.

If GMVLIB_SEARCH_FILENUM is specified (default), then the file being opened is the first in a directory. It is assumed that file names terminate with an integer that specify a time step id, and all time step ids larger or equal to the initially specified file are added.

Parameters:
  • p – Pointer to GMVLib object.
  • search – Search type
    x=GMVLIB_SEARCH_OFF        Single file
     =GMVLIB_SEARCH_FILENUM    File names follow numbering sequence
    

5.20. Altair Engineering HyperMesh ASCII File - HMAFil

The HyperMesh ASCII file is a text file which contains the input description of a finite element or finite difference model. This interface supports mesh entities only, no results datasets are produced. The PARTID.E dataset is set to the component id. The interface currently recognizes the following input commands.

Supported Commands

Miscellaneous Description
*title Create title string
Nodes, Elements, Coordinate
Systems
Description
*node Create node
*component Create element part
*hexa8
*hexa20
*penta6
*penta15
*tetra4
*tetra10
Create 3D solid element.
*quad4
*quad8
*tria3
*tria6
Create 3D shell element.
*bar2
*bar3
*rod
Create 3D beam element.
*mass Create mass element
*spring
*spring1
*weld
Create spring dashpot element
*gap Create gap element
*rbe3
*rigid
*rigidlink
*dependentnodes
*independentnodes
Create rigid element
*plotel Create plot element
*system Create coordinate system

The methods associated with a HMAFil object are the following.

Instance a HMAFil object using vdm_HMAFilBegin(). Once instanced set pointers to abstract data functions using vdm_HMAFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_HMAFilSetFunction().

The PARTID.E dataset is set to the component identifier.

Each results dataset is appended with two identifiers, the first is the subcase id and the second is the simulation id.

  • Possible attributes of each results dataset.

    Time            , Time
    Frequency       , Frequency
    LoadFactor      , Load proportionality factor
    DataSource      , Data type name
    

5.20.1. Function Descriptions

The currently available HMAFil functions are described in detail in this section.

vdm_HMAFil *vdm_HMAFilBegin(void)

create an instance of a HMAFil object

Create an instance of a HMAFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a HMAFil object using

void vdm_HMAFilEnd (vdm_HMAFil *HMAFil)

Return the current value of a HMAFil object error flag using

Vint vdm_HMAFilError (vdm_HMAFil *HMAFil)

Returns:The function returns a pointer to the newly created HMAFil object. If the object creation fails, NULL is returned.
void vdm_HMAFilEnd(vdm_HMAFil *p)

destroy an instance of a HMAFil object

See vdm_HMAFilBegin()

Vint vdm_HMAFilError(vdm_HMAFil *p)

return the current value of a HMAFil object error flag

See vdm_HMAFilBegin()

void vdm_HMAFilSetFunction(vdm_HMAFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to HMAFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_HMAFilAbort(vdm_HMAFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_HMAFilSetFunction().

Parameters:p – Pointer to HMAFil object.
void vdm_HMAFilDataFun(vdm_HMAFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to HMAFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.21. Altair Engineering H3D File - H3DLib

The Altair H3D file contains model and results data. The file format is a proprietary format developed by Altair Enginerring and requires a toolkit from Altair.

The methods associated with a H3DLib object are the following.

Instance a H3DLib object using vdm_H3DLibBegin(). Once instanced set pointers to abstract data functions using vdm_H3DLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_H3DLibSetFunction().

The PARTID.E dataset is set to the component identifier.

Each results dataset is appended with two identifiers, the first is the subcase id and the second is the simulation id.

  • Possible attributes of each results dataset.

    Time            , Time
    Frequency       , Frequency
    LoadFactor      , Load proportionality factor
    DataSource      , Data type name
    

5.21.1. Function Descriptions

The currently available H3DLib functions are described in detail in this section.

vdm_H3DLib *vdm_H3DLibBegin(void)

create an instance of a H3DLib object

Create an instance of a H3DLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a H3DLib object using

void vdm_H3DLibEnd (vdm_H3DLib *h3dlib)

Return the current value of a H3DLib object error flag using

Vint vdm_H3DLibError (vdm_H3DLib *h3dlib)

Returns:The function returns a pointer to the newly created H3DLib object. If the object creation fails, NULL is returned.
void vdm_H3DLibEnd(vdm_H3DLib *p)

destroy an instance of a H3DLib object

See vdm_H3DLibBegin()

Vint vdm_H3DLibError(vdm_H3DLib *p)

return the current value of a H3DLib object error flag

See vdm_H3DLibBegin()

void vdm_H3DLibSetFunction(vdm_H3DLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to H3DLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_H3DLibAbort(vdm_H3DLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_H3DLibSetFunction().

Parameters:p – Pointer to H3DLib object.
void vdm_H3DLibDataFun(vdm_H3DLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to H3DLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.22. MSC/Marc Post File - MarcLib

The Marc post file format may be either an ASCII or binary file which results from an execution of Marc from MSC Software. The ASCII file format usually contains a .t19 suffix, the binary file contains a .t16 suffix.

The methods associated with a MarcLib object are the following.

Instance a MarcLib object using vdm_MarcLibBegin(). Once instanced set pointers to abstract data functions using vdm_MarcLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_MarcLibSetFunction().

The interface reads all element types, node coordinates and coordinate systems. All node and element sets are read. Elements contained in contact bodies are placed in element sets. The PARTID.E dataset is set to the finite element type. Use the convention, VDM_CONVENTION_EIP to generate element integration point results.

Each results dataset name is appended with the values of the “increment number” and the “sub-increment number”. These numbers are incremented by one.

  • Possible attributes of each results dataset.

    Time            , Time
    Frequency       , Frequency
    GeneralizedMass , Generalized mass
    LoadFactor      , Load proportionality factor
    DataSource      , Post code, first encountered
    

Supported Solution Variables, Results

Post Code Dataset
1-6 E
7 E.[EQUIV,PLAST]
8 E.[EQUIV,CREEP]
9 TEMP.[TOT]
10 TEMP.[INC]
11-16 S
17 S.[VONMISES]
18 S.[MEAN,NORMAL]
19 USER
20 THICKNESS
21-26 E.[PLAST]
27 E.[EQUIV,PLAST]
28 E_RATE.[PLAST]
29 UNKNOWN.[SecndStateVar]
30 UNKNOWN.[FormLimPar]
31-36 E.[CREEP]
37 E.[EQUIV,CREEP]
38 E.[SWELLING]
39 UNKNOWN.[ThirdStateVar]
41-46 S.[CAUCHY]
47 S.[EQUIV,CAUCHY]
48 SE_DENSITY
49 E.[Thickness]
51-56 S.[HARMONIC]
57 S.[EQUIV,HARMONIC]
58 SE_DENSITY.[ELAST]
59 S.[EQUIV,YIELD]
60 S.[EQUIV,YIELD,CurTemp]
61-66 S.[HARMONIC]
67 S.[EQUIV,HARMONIC]
68 SE_DENSITY.[PLAST]
69 VOLUME
71-76 E.[THERMAL]
78 VOLUME.[Original]
79 UNKNOWN.[Grain size]
81-86 E.[CRACKING]
87 VOLT
88 J
89 HEAT
91-103 FAIL_INDEX
108 S.[INTERLAMINAR,1]
109 S.[INTERLAMINAR,2]
111-116 S.[PrefSys]
121-126 E.[ELAST]
127 E.[EQUIV,ELAST]
128 E.[MAX,Eng]
129 E.[MIN,Eng]
130 VOLT
131-133 ELEC_FIELD
134-136 ELEC_FLUX.[Displacement]
137-139 FORCE.[LORENTZ]
140 MAG_POT
141-143 MAG_FIELD.[Induction]
144-146 MAG_FLUX.[Intensity]
147-149 J_DENSITY
151-153 ELEC_FIELD
154-156 ELEC_FLUX.[Displacement]
157-159 FORCE.[LORENTZ]
161-163 MAG_FIELD.[Induction]
164-166 MAG_FLUX.[Intensity]
167-169 J_DENSITY
171 POROSITY
172 VOID_RATIO
173 PRES.[PORE]
174 PRES.[Preconsolidation]
175 E_RATE.[EQUIV,Viscoplastic]
176 DENS.[REL]
177 VOLUME.[Fraction,Damage]
180 TEMP.[TOT]
181-183 TEMP_GRAD
184-186 HEAT_FLUX
190 PRES.[TOT]
191-193 PRES_GRAD
194-196 MASS_FLUX
241 PRES.[GASKET]
242 CLOSURE.[GASKET]
243 CLOSURE.[GASKET,PLAST]
261-263 UNKNOWN.[BeamAxis]
264-269 SFM
270 UNKNOWN.[Bimoment]
271 DENS.[Pyrol,Solid]
272 DENS.[Pyrol,Gas]
273 DENS.[FLUID]
301-306 E.[TOT]
311-316 S
321-326 E.[PLAST]
331-336 E.[CREEP]
341-346 S.[CAUCHY]
351-356 S.[HARMONIC]
361-366 S.[HARMONIC]
371-376 E.[THERMAL]
381-386 E.[CRACKING]
391-396 S.[PrefDir]
401-406 E.[ELAST]
411-416 S.[GlobalSys]
421-426 E.[ELAST,GlobalSys]
431-436 E.[PLAST,GlobalSys]
441-446 E.[CREEP,GlobalSys]
451-456 E_RATE
461-466 E.[ELAST,PrefDir]
471-476 S.[PK,Rebar]
481-486 S.[CAUCHY]
487 UNKNOWN,[RebarAngle]
501 S,[INTERLAMINAR,NORMAL]
511 S,[INTERLAMINAR,SHEAR]
531 VOLUME.[FractionMartensite]
541-546 E.[PhaseTrans]
547 E.[EQUIV,PhaseTrans]
548 E.[EQUIV,TWIN]
549 E.[EQUIV,TRIP]
557 S.[YIELD,MultiphaseAgg]
561-563 ELEC_FIELD
564-566 ELEC_FLUX,Displacement]
567-569 FORCE.[LORENTZ]
571-573 MAG_FIELD.[Induction]
574-576 MAG_FLUX,[Intensity]
577-579 J_DENSITY
651 E.[EQUIV,PLAST,MultiphaseAgg]
652 E.[EQUIV,PLAST,Austenite]
653 E.[EQUIV,PLAST,Martensite]
657 S.[YIELD,MultiphaseAgg]
Quantity Identifier Dataset
1,2 D
3,4 XF
5,6 R
7 V.[FLUID]
8 PRES.[FLUID]
9 XF.[FLUID]
10 R.[FLUID]
11 PRES.[SOUND]
12 UNKNOWN.[ExternalSoundSource]
13 UNKNOWN.[ReactionSoundSource]
14 TEMP
15 XF_HEAT_FLOW
16 R_HEAT_FLOW
17 ELEC_POT
18 XF_Q
19 R_Q
20 MAG_POT
21 XF_J
22 R_J
23 PRES.[PORE]
24 XF_MASS_FLOW
25 R_MASS_FLOW
26 PRES.[Bearing]
27 R.[Bearing]
28,29 V
30,31 A
32,33 MASS.[Modal]
34 PRES.[CONTACT]
35 FORCE.[NORMAL,CONTACT]
36 TRAC.[CONTACT,Friction]
37 FORCE.[CONTACT,Friction]
38 STAT.[CONTACT]
39 UNKNOWN.[CONTACT,TouchedBody]
40 UNKNOWN.[HerrmannVar]
46 R.[Tying]
47 R.[Coulomb]
48 R.[Tying]
49 S.[Generalized]

5.22.1. Function Descriptions

The currently available MarcLib functions are described in detail in this section.

vdm_MarcLib *vdm_MarcLibBegin(void)

create an instance of a MarcLib object

Create an instance of a MarcLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a MarcLib object using

void vdm_MarcLibEnd (vdm_MarcLib *marclib)

Return the current value of a MarcLib object error flag using

Vint vdm_MarcLibError (vdm_MarcLib *marclib)

Returns:The function returns a pointer to the newly created MarcLib object. If the object creation fails, NULL is returned.
void vdm_MarcLibEnd(vdm_MarcLib *p)

destroy an instance of a MarcLib object

See vdm_MarcLibBegin()

Vint vdm_MarcLibError(vdm_MarcLib *p)

return the current value of a MarcLib object error flag

See vdm_MarcLibBegin()

void vdm_MarcLibSetFunction(vdm_MarcLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to MarcLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_MarcLibAbort(vdm_MarcLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_MarcLibSetFunction().

Parameters:p – Pointer to MarcLib object.
void vdm_MarcLibDataFun(vdm_MarcLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to MarcLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.23. Memory object - MemLib

This module supports read and write operations to a native memory object. Any VdmTools dataset may be written to such a memory object The methods associated with a MemLib object are the following.

Instance a MemLib object using vdm_MemLibBegin(). Once instanced set pointers to abstract data functions using vdm_MemLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_MemLibSetFunction().

Use the function vdm_MemLibStreamNum() to query for the number of bytes in the memory object. Use vdm_MemLibStream() to copy the data from MemLib to a user allocated memory object. Use the function vdm_MemLibGetInteger() to query for the memory object version number and the date and time of initial creation and update.

5.23.1. Function Descriptions

The currently available MemLib functions are described in detail in this section.

vdm_MemLib *vdm_MemLibBegin(void)

create an instance of a MemLib object

Create an instance of a MemLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a MemLib object using

void vdm_MemLibEnd (vdm_MemLib *memlib)

Return the current value of a MemLib object error flag using

Vint vdm_MemLibError (vdm_MemLib *memlib)

Returns:The function returns a pointer to the newly created MemLib object. If the object creation fails, NULL is returned.
void vdm_MemLibEnd(vdm_MemLib *p)

destroy an instance of a MemLib object

See vdm_MemLibBegin()

Vint vdm_MemLibError(vdm_MemLib *p)

return the current value of a MemLib object error flag

See vdm_MemLibBegin()

void vdm_MemLibGetInteger(vdm_MemLib *p, Vint type, Vint *param)

get version, time and date stamps

Query for integer information. The integer query MEMLIB_VERSION returns a version number. The parameters MEMLIB_CREATEDATE and MEMLIB_CREATETIME each return 3 integers indicating the day,month,year and second,minute,hour of initial creation of the file. The parameters MEMLIB_UPDATEDATE and MEMLIB_UPDATETIME each return 3 integers indicating the day,month,year and second,minute,hour of last update of the file.

Errors
SYS_ERROR_ENUM is generated if an improper type is specified.

Parameters:
  • p – Pointer to MemLib object.
  • type – Type of integer information to query
    x=MEMLIB_VERSION       File version
     =MEMLIB_CREATEDATE    Creation date
     =MEMLIB_CREATETIME    Creation time
     =MEMLIB_UPDATEDATE    Update date
     =MEMLIB_UPDATETIME    Update time
    
  • param[out] Returned integer information
void vdm_MemLibSetFunction(vdm_MemLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to MemLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_MemLibAbort(vdm_MemLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_MemLibSetFunction().

Parameters:p – Pointer to MemLib object.
void vdm_MemLibDataFun(vdm_MemLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to MemLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_MemLibStreamNum(vdm_MemLib *p, Vlong *nbytes)

query length of memory object in bytes

Query the number of bytes in memory object.

Parameters:
  • p – Pointer to MemLib object.
  • nbytes[out] Length of memory object in bytes
void vdm_MemLibStream(vdm_MemLib *p, void *buff)

copy to user memory object

Copy data to user memory object at pointer buff.

Parameters:
  • p – Pointer to MemLib object.
  • buff – Type of integer information to query

5.24. MSC/NASTRAN bulk data input file - NASFil

The NASTRAN bulk data file is a text file which contains the input description of a finite element model for the NASTRAN finite element program.

The methods associated with a NASFil object are the following.

Instance a NASFil object using vdm_NASFilBegin(). Once instanced set pointers to abstract data functions using vdm_NASFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_NASFilSetFunction().

This interface only produces datasets associated with the finite element model, no results datasets are produced. The element types commonly associated with structural and thermal analysis are supported. The PARTID.E dataset is set to the property id. The NASTRAN bulk data commands have been extended by various vendors who have extended the “classic” NASTRAN commands. The NASFil module supports many of these extensions. The interface currently recognizes the following input commands.

Supported Commands

Miscellaneous Description
INCLUDE Read from specified file
Executive Control Description
BEGIN BULK Begin bulk data section
SOL Define a solution type
CEND End of executive control
Case Control Description
SETS
SET
Create node or element set
ANALYSIS
SUBCASE
Create solution property case
LABEL
TITLE
SUBTITLE
Define label, title and
subtitle strings
LOAD
MPC
SPC
TEMP
Select load case, multipoint
constraint case, or single
single constraint case
METHOD
NLPARM
Select EIGRL or
NLPARM bulk data entries
ACCELERATION
DISPLACEMENT
ESE
FLUX
FORCE
GPFORCE
MPCFORCES
OLOAD
THERMAL
SPCFORCES
STRAIN
STRESS
VELOCITY
Define output request
Nodes, Elements, Coordinate
Systems
Description
GRDSET Set GRID defaults
GRID Create node
SPOINT Create scalar node
BAROR
BEAMOR
Set CBAR and CBEAM
defaults
CBAR
CBEAM
CBEAM3 (MSC)
CBEND
CTUBE
Create 3D beam element
CDAMP1
CDAMP2
CDAMP3
CDAMP4
Create scalar spring dashpot
element
CELAS1
CELAS2
CELAS3
CELAS4
Create scalar spring dashpot
element
CBUSH CBUSH1D
CFAST
CWELD
CVISC
Create spring dashpot element
CGAP Create gap element
CHBDYE
CHBDYG
CHBDYP
Create interface element
CQUAD
CQUADX
CQUADX4 CQUADX8 (NX)
CTRAX3 CTRAX6 (NX)
CTRIAX
CTRIAX6
Create 2D solid element
CPLSTN3 CPLSTN4 (NX)
CPLSTN6 CPLSTN8 (NX)
Create 2D plane strain element
CPLSTS3 CPLSTS4 (NX)
CPLSTS6 CPLSTS8 (NX)
Create 2D plane stress element
CHEXA
CPENTA
CPYRA (Optistruct)
CPYRAM
CTETRA
Create 3D solid element
CQUAD4
CQUAD8
CQUADR
CTRIA3
CTRIA6
CTRIAR
Create 3D shell element
CSHEAR Create 3D membrane element
CONROD
CROD
Create 3D truss or beam element
CMASS1
CMASS2
CMASS3
CMASS4
Create scalar mass element
CONM1
CONM2
Create mass element
CONV Create interface element
PLOTEL3 PLOTEL4 (NX)
PLOTEL6 PLOTEL8 (NX)
PLOTHEX PLOTPEN (NX)
PLOTPYR PLOTTET (NX)
PLOTEL
Create plot element
RBE1 RBE2 RBE3
RBAR
RJOINT
RROD
RSPLINE
RTRPLT
Create rigid element
CORD1C CORD1R CORD1S
CORD2C CORD2R CORD2S
CORD3R CORD4R (Optistruct)
Create coordinate system
Sets and Surfaces Description
GROUP (NX)
SET (Optistruct)
Create node or element set
BSURF
BSURFS (NX)
SURF (Optistruct)
Create element face surface
Element Properties Description
PBAR
PBARL
PBEAM
PBEAM3 (MSC)
PBEAML
PTUBE
Create beam property
PCOMP
PCOMPG
PCOMPG1
PCOMPS
Create shell or solid composite property
PCONV
PHBDY
Create interface property
PBUSH
PDAMP
PELAS
PFAST
PVISC
PWELD
Create spring dashpot property
PGAP Create gap property
PLPLANE
PLSOLID
PSOLID
Create solid property
PMASS Create mass property
PROD Create truss or beam property
PSHEAR Create membrane property
PSHELL Create shell property
Material Properties Description
MAT1
MAT2
MAT3
MAT8
MAT9
MATT1
MATT2
MATT3
MATT9
Create linear elastic
possibly temperature
dependent material property
MAT4
MAT5
MATT4
MATT5
Create linear heat transfer
possibly temperature
dependent material property
MATHP Create hyperelastic material
property
TABLEM1
TABLEM2
TABLEM3
Create material property tables
RADM Create radiation material
property
Loads, Initial Conditions Description
FORCE
FORCE1
FORCE2
MOMENT
MOMENT1
MOMENT2
Define concentrated force or
moment
PLOAD
PLOADX1
PLOAD2
PLOAD4
Define distributed loading
GRAV
RFORCE
Define acceleration loading
QBDY1
QBDY2
QBDY3
Define distributed heat flux
loading
QVOL Define volumetric heat loading
RADBC Define radiation condition
SLOAD Define concentrated heat loading
LOAD Create load case
TEMP
TEMPD
Define nodal temperatures
Restraints Description
SPC
SPC1
SPCD
SUPORT
Define single point restraint
SPCADD Create single point restraint
case
MPC Define multipoint restraint
MPCADD Create multipoint constraint case
Contact, Tie, Cyclic Symmetry Description
CYCSET (NX) Create cyclic symmetry pair
TIE (Optistruct) Create tied contact pair
Solution and Control Description
NLPARM Define nonlinear solution
properties
EIGRL Define eigenvalue solution
properties

5.24.1. Function Descriptions

The currently available NASFil functions are described in detail in this section.

vdm_NASFil *vdm_NASFilBegin(void)

create an instance of a NASFil object

Create an instance of a NASFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a NASFil object using

void vdm_NASFilEnd (vdm_NASFil *nasfil)

Return the current value of a NASFil object error flag using

Vint vdm_NASFilError (vdm_NASFil *nasfil)

Returns:The function returns a pointer to the newly created NASFil object. If the object creation fails, NULL is returned.
void vdm_NASFilEnd(vdm_NASFil *p)

destroy an instance of a NASFil object

See vdm_NASFilBegin()

Vint vdm_NASFilError(vdm_NASFil *p)

return the current value of a NASFil object error flag

See vdm_NASFilBegin()

void vdm_NASFilSetFunction(vdm_NASFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to NASFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_NASFilAbort(vdm_NASFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_NASFilSetFunction().

Parameters:p – Pointer to NASFil object.
void vdm_NASFilDataFun(vdm_NASFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to NASFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.24.2. Writing NASTRAN Input Files

The NASFil module also supports the writing of NASTRAN input files. Finite element model entities must be contained in a VisTools Model object. The LMan module function vdm_LManSaveModel() is used to perform the actual file writing. The file may also be written directly using the Model object function vis_ModelWrite(). Set the GProp object value GPROP_EXPORT_VENDOR to control the vendor specific format to be used for some entities such as pyramid elements and surface and tie constraints. The interface currently writes the following input commands.

Supported Commands

Executive Control Description
BEGIN BULK Begin bulk data section
SOL Define a solution type
CEND End of executive control
ENDDATA Terminate input deck
Case Control Description
SUBCASE Define solution property case
LABEL
TITLE
SUBTITLE
Define label, title and
subtitle strings
PARAM Define various solution
parameters
LOAD
MPC
SPC
TEMP
Define load case, multipoint
constraint case, or single
point constraint case
METHOD
NLPARM
Define EIGRL or
NLPARM bulk data entries
OUTPUT
DISPLACEMENT
ESE
FLUX
FORCE
GPFORCE
MPCFORCES
OLOAD
THERMAL
SPCFORCES
STRAIN
STRESS
Define output request
Nodes, Elements, Coordinate Systems Description
GRID Define node
SPOINT Define scalar node
CBUSH
CBEAM
Define beam element
CELAS1 Define scalar spring dashpot
element
CGAP Define gap element
CHBDYE
CHBDYG
Define interface element
CQUADX
CTRIAX
Define 2D solid element
CHEXA
CPENTA
CPYRA (Optistruct)
CPYRAM
CTETRA
Define 3D solid element
CQUAD4
CQUAD8
CTRIA3
CTRIA6
Define 3D shell element
CROD Define 3D truss or beam element
CONM1
CONM2
Define mass element
CONV Define interface element
RBE2
RBE3
RROD
RBAR
Define rigid element
CORD2C
CORD2R
CORD2S
Define coordinate system
Element Properties Description
PROD Define truss property
PBUSH
PBAR
PBARL
PBEAM
PBEAML
Define beam property
PCONV Define interface property
PELAS Define spring dashpot property
PGAP Define gap property
PSOLID Define solid property
PSHEAR Define membrane property
PCOMP Define shell composite property
PSHELL Define shell property
Sets and Surfaces Description
SET (Optistruct) Create node set
SURF (Optistruct) Create element face surface
Material Properties Description
MAT1
MAT2
MAT8
MAT9
MAT4
Define linear elastic
material property
MAT5 Define linear heat transfer
material property
Loads, Initial Conditions Description
FORCE
MOMENT
SLOAD
Define concentrated force or
moment
PLOAD2
PLOAD4
Define distributed loading
RFORCE
GRAV
Define acceleration loading
QBDY1
QBDY2
Define distributed heat flux
loading
QVOL Define volumetric heat loading
TEMP
TEMPD
Define nodal temperatures
Restraints Description
SPC
SPC1
Define single point restraint
MPC Define multipoint restraint
Contact, Tie, Cyclic Symmetry Description
TIE (Optistruct) Create tied contact pair
Solution and Control Description
NLPARM Define nonlinear solution
properties
EIGRL Define eigenvalue solution
properties

5.25. NASTRAN OUTPUT2, .xdb and .h5 data files - NASLib

The NASTRAN finite element program creates a number of results data files depending upon the specific vendor of the NASTRAN program. The NASTRAN OUTPUT2 data file is a binary results database produced during an execution of the NASTRAN finite element program.

The methods associated with a NASLib object are the following.

Instance a NASLib object using vdm_NASLibBegin(). Once instanced set pointers to abstract data functions using vdm_NASLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_NASLibSetFunction().

The contents of the OUTPUT2 data file varies considerably depending upon the data blocks specified to be output. There are a number of commercial versions of NASTRAN, noteably MSC/NASTRAN and NX/NASTRAN. There are also a number of commercial finite element programs that write data in .op2 file format. Complex results are supported where applicable, both real/imaginary and magnitude/phase. The PARTID.E dataset is set to the property id. Use the convention, VDM_CONVENTION_STRESSINVARIANT to generate vonmises stress results for quadrilateral shell element stress/strain. Use the convention, VDM_CONVENTION_NOINTERLAMINAR to inhibit generation of interlaminar ply stress/strain results.

Supported Data Blocks, Model

Nodes, Coordinate Systems
Data Block Name
Description
BGPDT
BGPDTS
BASIC GRID POINT DEFINITION TABLE
GPL
GPLS
GRID POINT LIST
GPDT
GPDTS
GRID POINT DEFINITION TABLE
GEOM1
GEOM1S
GEOM1X
TABLE OF BULK DATA ENTRY IMAGES RELATED TO GEOMETRY
CSTM COORDINATE SYSTEM
TRANSFORMATION MATRICES TABLE
Elements
Data Block Name
Description
ECT ELEMENT CONNECTIVITY TABLE
GEOM2
GEOM2S
GEOM2X
TABLE OF BULK DATA ENTRIES
RELATED TO ELEMENT CONNECTIVITY
GEOM4
GEOM4S
GEOM4X
TABLE OF BULK DATA ENTRY IMAGES RELATED TO RIGID ELEMENT CONNECTIVITY
Node and Element Sets
Data Block Name
Description
CASECC
EDT
TABLE OF BULK DATA ENTRY
IMAGES RELATED TO NODE AND
ELEMENT SETS
Loads
Data Block Name
Description
GEOM3
GEOM3S
GEOM3X
TABLE OF BULK DATA ENTRY
IMAGES RELATED TO STATIC AND
THERMAL LOADS
Restraints
Data Block Name
Description
GEOM4
GEOM4S
TABLE OF BULK DATA ENTRY
IMAGES RELATED TO CONSTRAINTS
Element Properties
Data Block Name
Description
EPT TABLE OF BULK DATA ENTRY
IMAGES RELATED TO ELEMENT
PROPERTIES
Material Properties
Data Block Name
Description
MPT TABLE OF BULK DATA ENTRY
IMAGES RELATED TO MATERIAL
PROPERTIES
Solution Properties
Data Block Name
Description
CASECC
PVT
TABLE OF BULK DATA ENTRY
IMAGES RELATED TO SOLUTION
PROPERTIES

Each results dataset is appended with two identifiers, the first is the subcase id and the second is a mode or step id. For buckling and eigenvalue analysis the second identifier is a mode id. For frequency response and transient analysis the second identifier is a step id.

  • Possible attributes of each results dataset.

    Time            , Time
    Frequency       , Frequency
    LoadFactor      , Load Factor
    ArcLength       , Arc Length
    LoadCase        , load case identifier
    Title           , Title
    Subtitle        , Subtitle
    Label           , Label
    DataSource      , data block name
    

Supported Data Blocks, Results

Node Results
Data Block Name
Description Dataset
Root.[Qualifier]
OUGV1
OUGV2
BOUGV1
OUGV1PAT
OUBGV1
OUPV1
OPHIG
BOPHIG
OUGPSD1
OUTPUT DISPLACEMENT
VECTOR
D
D.[PSD]
D.[DEFORM]
V
V.[PSD]
V.[DEFORM]
A
A.[PSD]
A.[DEFORM]
TEMP
H
H_DOT
TOUGV1 OUTPUT TEMPERATURE TEMP
H
H_DOT
OPG1
OPG2
OPP1
OUTPUT LOAD VECTOR XF
XF.[PSD]
XF_HEAT_FLOW
OQG1
OQG2
OQBG1
OBQG1
OQP1
OQMG1
OQMG2
OUTPUT SPC FORCES R
R.[PSD]
R.[MPC]
R_HEAT_FLOW
OBG1
OQGGF1
OUTPUT GLUE FORCES PRES.[GLUE]
TRAC.[GLUE]
FORCE.[GLUE]
OBC1
OQGCF1
OFCON3D
OUTPUT CONTACT FORCES PRES.[CONTACT]
TRAC.[CONTACT]
FORCE.[CONTACT]
STAT.[CONTACT]
FORCE.[CONTACT,NORMAL]
FORCE.[CONTACT,FRICTION]
OSPDSI1
OSPDS1
OUTPUT CONTACT
SEPARATION
SEP.[CONTACT,INITIAL]
SEP.[CONTACT,FINAL]
Element Results
Data Block Name
Description Dataset
Root.[Qualifier]
ONRGY1
OEKE1
OUTPUT ELEMENT
STRAIN and KINETIC
ENERGY
SE
SE_PERCENT
SE_DENSITY
KE
KE_DENSITY
OES1X
OES1X1
OES1
OES2
OESB1
OBES1
OESNLXR
OESPSD1
OESRMS1
OESNO2
OESPSD2
OESRMS2
OUTPUT ELEMENT
STRESS/STRAIN
S
S.[PSD]
S.[RMS]
S.[NOZ]
S.[AXIAL]
S.[TORSION]
S.[VONVISES]
S.[NONLIN]
E.[NONLIN]
E.[EQUIV,PLAST]
E.[EQUIV,CREEP]
SAFE_FACT.[COMP]
SAFE_FACT.[TENS]
FAIL_INDEX
SD
SF
OSTR1
OSTR2
OSTR1X
OUTPUT ELEMENT STRAIN E
E.[PSD]
SEK
OEF1X
OEF1
OEF2
OEFB1
OBEF1
HOEF1
OUTPUT ELEMENT FORCE SFM
SFM.[PSD]
HEAT_FLUX
TEMP_GRAD
HEAT_FLUX.[TOT]
OES1C OUTPUT COMPOSITE
ELEMENT STRESS
S.[PLY]
OSTR1C OUTPUT COMPOSITE
ELEMENT STRAIN
E.[PLY]
OEFIT OUTPUT COMPOSITE
FAILURE INDICES
FAIL_INDEX.[PLY]
FAIL_INDEX.[INTERLAMINAR]
OESRT OUTPUT COMPOSITE
STRENGTH RATIOS
STRENGTH_RATIO.[PLY]
STRENGTH_RATIO.[INTERLAMINAR]
OGPFB1 OUTPUT ELEMENT GRID
POINT FORCE
EN_FORC
R.[GPF]
R.[MPC.GPF]
XF.[GPF]
TF.[GPF]
OGK1 OUTPUT GASKET RESULTS PRES.[GASKET]
CLOSURE.[GASKET]
CLOSURE.[GASKET,PLAST]
S.[GASKET.YIELD]
STAT.[GASKET]
OSHT1 OUTPUT SHELL
THICKNESS
THICKNESS
OERPEL1 OUTPUT ELEMENT
EQUIVALENT RADIATED
POWER
POWER
POWER_DENSITY

The nonzero stress/strain and force/moment component vary for each element type. The nonzero components are listed below. Any element type not listed has all zero components.

Stress and Strain Components

Element Type Components
Solid (3D) xx, yy, zz, xy, yz, zx
Solid (2D Axisymmetric, CTRIAX6) xx, yy, zz, 0, 0, zx
Shell xx, yy, 0, xy, 0, 0
Beam
SpringDashpot
xx, 0, 0, 0, 0, 0

Force and Moment Components

Element Type - Element Spec Components
Shell Nxx, Nyy, Nxy, Mxx, Myy, Mxy,
Qxz, Qyz
Beam - Standard Nxx, Myy, Mzz, Torque, Qxy, Qzx
Beam - Rod Nxx, 0, 0, Torque, 0, 0
SpringDashpot Nxx

5.25.1. Function Descriptions

The currently available NASLib functions are described in detail in this section.

vdm_NASLib *vdm_NASLibBegin(void)

create an instance of a NASLib object

Create an instance of a NASLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a NASLib object using

void vdm_NASLibEnd (vdm_NASLib *naslib)

Return the current value of a NASLib object error flag using

Vint vdm_NASLibError (vdm_NASLib *naslib)

Returns:The function returns a pointer to the newly created NASLib object. If the object creation fails, NULL is returned.
void vdm_NASLibEnd(vdm_NASLib *p)

destroy an instance of a NASLib object

See vdm_NASLibBegin()

Vint vdm_NASLibError(vdm_NASLib *p)

return the current value of a NASLib object error flag

See vdm_NASLibBegin()

void vdm_NASLibSetFunction(vdm_NASLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to NASLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_NASLibAbort(vdm_NASLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_NASLibSetFunction().

Parameters:p – Pointer to NASLib object.
void vdm_NASLibDataFun(vdm_NASLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to NASLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.25.2. Writing NASTRAN OUTPUT2 data files

The NASLib module also supports a limited capability to write finite element model entities and results to NASTRAN OUTPUT2 data file format. Finite element model entities and results must be contained in VisTools Model and State objects. The LMan module functions vdm_LManSaveModel() and vdm_LManSaveState() are used to perform the actual file writing. The interface currently writes the following entities as records on data blocks:

  • Nodes

    GRID on GEOM1S
    
  • Coordinate Systems

    CORD2R, CORD2C, CORD2S on GEOM1S
    
  • Elements

    SYS_SHAPEHEX as CHEXA on GEOM2S
    SYS_SHAPEWED as CHEXA on GEOM2S
    SYS_SHAPETET as CTETRA on GEOM2S
    SYS_SHAPEQUAD,SYS_ELEM_SHELL as CQUAD4, CQUAD8 on GEOM2S
    SYS_SHAPETRI,SYS_ELEM_SHELL as CTRIA3, CTRIA6 on GEOM2S
    SYS_ELEM_BEAM as CBEAM on GEOM2S
    SYS_ELEM_TRUSS as CONROD on GEOM2S
    SYS_ELEM_GAP as CGAP on GEOM2S
    
  • Loads

    LCASE_FORCE as FORCE on GEOM3S
    LCASE_MOMENT as MOMENT on GEOM3S
    LCASE_TEMP as TEMP on GEOM3S
    
  • Restraints

    SPC on GEOM4S
    
  • Results

    SYS_RES_D, SYS_RES_V, SYS_RES_A on OUGV1
    SYS_RES_XF on OPG1
    SYS_RES_R on OQG1
    SYS_RES_S on OES1X
    SYS_RES_E on OSTR1
    SYS_RES_SE on ONRGY1
    SYS_RES_TEMP, SYS_RES_R_HEAT_FLOW, SYS_RES_XF_HEAT_FLOW on TOUGV1
    SYS_RES_TEMP_GRAD, SYS_RES_HEAT_FLUX on HOEF1
    

5.26. Native file - NatLib

The native file format is a VdmTools file format, it may be based on either a proprietary file organization or the publicly available HDF5 file format. The native file format supports both read and write operations. Any VdmTools dataset may be written to a native file. The methods associated with a Native file - NatLib object are the following.

Instance a Natlib object using vdm_NatLibBegin(). Once instanced set pointers to abstract data functions using vdm_NatLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_NatLibSetFunction().

Native files names should be denoted by a .vdm suffix if using the proprietary file organization, SYS_NATIVE, and a .vh5 suffix if using the HDF5 file organization, SYS_NATIVE_HDF5. Use the function vdm_NatLibGetInteger() to query for the native file version number and the date and time of initial creation and update.

5.26.1. Function Descriptions

The currently available NatLib functions are described in detail in this section.

vdm_NatLib *vdm_NatLibBegin(void)

create an instance of a NatLib object

Create an instance of a NatLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a NatLib object using

void vdm_NatLibEnd (vdm_NatLib *natlib)

Return the current value of a NatLib object error flag using

Vint vdm_NatLibError (vdm_NatLib *natlib)

Returns:The function returns a pointer to the newly created NatLib object. If the object creation fails, NULL is returned.
void vdm_NatLibEnd(vdm_NatLib *p)

destroy an instance of a NatLib object

See vdm_NatLibBegin()

Vint vdm_NatLibError(vdm_NatLib *p)

return the current value of a NatLib object error flag

See vdm_NatLibBegin()

void vdm_NatLibGetInteger(vdm_NatLib *p, Vint type, Vint *param)

get version, time and date stamps

Query for integer information.

The integer query NATLIB_VERSION returns a version number. The parameters NATLIB_CREATEDATE and NATLIB_CREATETIME each return 3 integers indicating the day,month,year and second,minute,hour of initial creation of the file. The parameters NATLIB_UPDATEDATE and NATLIB_UPDATETIME each return 3 integers indicating the day,month,year and second,minute,hour of last update of the file.

Errors
SYS_ERROR_ENUM is generated if an improper type is specified.

Parameters:
  • p – Pointer to NatLib object.
  • type – Type of integer information to query
    =NATLIB_VERSION       File version
    =NATLIB_CREATEDATE    Creation date
    =NATLIB_CREATETIME    Creation time
    =NATLIB_UPDATEDATE    Update date
    =NATLIB_UPDATETIME    Update time
    
  • param[out] Returned integer information
void vdm_NatLibSetFunction(vdm_NatLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions.

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to NatLib object.
  • funtype – Type of callback function to set
    =SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_NatLibAbort(vdm_NatLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_NatLibSetFunction().

Parameters:p – Pointer to NatLib object.
void vdm_NatLibDataFun(vdm_NatLib *p, vdm_DataFun *datafun)

fill NatLib object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to NatLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.27. OBJ file - OBJFil

The OBJ format is an ASCII text file. It is a list of vertices, vertex normals, points, lines and faces.

The methods associated with a OBJFil object are the following.

Instance a OBJFil object using vdm_OBJFilBegin(). Once instanced set pointers to abstract data functions using vdm_OBJFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_OBJFilSetFunction().

In an OBJ file, points, lines and faces are translated as elements. All faces are converted to 3-node trianglar elements assuming a triangle fan. Lines are converted to 2-node line elements. Points are converted to point elements. The PARTID.E dataset is set to group index if groups exist, other it is set to the element dimension.

5.27.1. Function Descriptions

The currently available OBJFil functions are described in detail in this section.

vdm_OBJFil *vdm_OBJFilBegin(void)

create an instance of a OBJFil object

Create an instance of a OBJFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a OBJFil object using

void vdm_OBJFilEnd (vdm_OBJFil *objfil)

Return the current value of a OBJFil object error flag using

Vint vdm_OBJFilError (vdm_OBJFil *objfil)

Returns:The function returns a pointer to the newly created OBJFil object. If the object creation fails, NULL is returned.
void vdm_OBJFilEnd(vdm_OBJFil *p)

destroy an instance of a OBJFil object

See vdm_OBJFilBegin()

Vint vdm_OBJFilError(vdm_OBJFil *p)

return the current value of a OBJFil object error flag

See vdm_OBJFilBegin()

void vdm_OBJFilSetFunction(vdm_OBJFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to OBJFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_OBJFilAbort(vdm_OBJFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_OBJFilSetFunction().

Parameters:p – Pointer to OBJFil object.
void vdm_OBJFilDataFun(vdm_OBJFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to OBJFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.28. OpenFOAM database - OpenFOAMLib

The OpenFOAM database is a top directory consisting of subdirectories and files containing analysis model and results data. The top directory is called case. The key file must be the controlDict file located in the system directory. The path to the key file must include the name of the top case directory.

The methods associated with a OpenFOAMLib object are the following.

Instance a OpenFOAMLib object using vdm_OpenFOAMLibBegin(). Once instanced set pointers to abstract data functions using vdm_OpenFOAMLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_OpenFOAMLibSetFunction().

Each dataset in the state data section has a Time attribute which corresponds to the time specified by the subdirectories of case where results are found. The data source for the result is also presented as an attribute, and corresponds to the complete file path.

Each OpenFOAM result file contains a header file with a object entry. This entry is used as mnemonic to determine the type of result. Result files with unsupported mnemonics are described as SYS_RES_UNKNOWN followed by the object name within square brackets.

Supported Mnemonics:

Mnemonic Dataset
U SYS_RES_V
p SYS_RES_PRES
T SYS_RES_TEMP
rho SYS_RES_DENS

5.28.1. Function Descriptions

The currently available OpenFOAMLib functions are described in detail in this section.

vdm_OpenFOAMLib *vdm_OpenFOAMLibBegin(void)

create an instance of a OpenFOAMLib object

Create an instance of a OpenFOAMLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a OpenFOAMLib object using

void vdm_OpenFOAMLibEnd (vdm_OpenFOAMLib *openfoamlib)

Return the current value of a OpenFOAMLib object error flag using

Vint vdm_OpenFOAMLibError (vdm_OpenFOAMLib *openfoamlib)

Returns:The function returns a pointer to the newly created OpenFOAMLib object. If the object creation fails, NULL is returned.
void vdm_OpenFOAMLibEnd(vdm_OpenFOAMLib *p)

destroy an instance of a OpenFOAMLib object

See vdm_OpenFOAMLibBegin()

Vint vdm_OpenFOAMLibError(vdm_OpenFOAMLib *p)

return the current value of a OpenFOAMLib object error flag

See vdm_OpenFOAMLibBegin()

void vdm_OpenFOAMLibSetFunction(vdm_OpenFOAMLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back function

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to OpenFOAMLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_OpenFOAMLibAbort(vdm_OpenFOAMLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_OpenFOAMLibSetFunction().

Parameters:p – Pointer to OpenFOAMLib object.
void vdm_OpenFOAMLibDataFun(vdm_OpenFOAMLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to OpenFOAMLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.29. Patran Neutral model and results file - PatLib

The Patran results files format has limited support for descriptive information concerning the data a results file may contain. Therefore two additional, non standard, functions are required when reading Patran results files to indicate the result type and the columns of data which are to be associated with the components of the result data type. The methods associated with a PatLib object are the following.

Instance a PatLib object using vdm_PatLibBegin(). Once instanced set pointers to abstract data functions using vdm_PatLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_PatLibSetFunction().

If a PatLib module is used to read model information from a Patran Neutral File, type SYS_PATRAN_NEUTRAL, then the non standard functions are ignored. If results files are being read, type SYS_PATRAN_RESULT, then it may be necessary to specify the result type and columns if the defaults are not sufficient. Note that Patran results files do not contain any model information and by necessity must always be appended with vdm_DataFunAppend() rather than opened with vdm_DataFunOpen().

The Patran neutral model and results files may be in either text or binary format. The current implementation only supports text formatted files. Supported results files include 1) displacement or force results file, 2) nodal results file, and 3) element results file. The beam results file and element coordinate file are not supported.

The PARTID.E dataset is set to the property id.

  • Possible attributes of each results dataset.

    DataSource      , file name
    

The interface currently recognizes the following Neutral System packet types.

Packet Type Description
25 Title Card
26 Summary Data
01 Node Data
02 Element Data
03 Material Properties
04 Element Properties
05 Coordinate Frames
06 Distributed Loads
07 Node Forces
08 Node Displacements
10 Node Temperatures
14 MPC Data
15 Nodal Heat Source
16 Distributed Heat Source
17 Convection Coefficients
21 NAME’d Component Data

5.29.1. Function Descriptions

The currently available PatLib functions are described in detail in this section.

vdm_PatLib *vdm_PatLibBegin(void)

create an instance of a PatLib object

Create an instance of a PatLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a PatLib object using

void vdm_PatLibEnd (vdm_PatLib *patlib)

Return the current value of a PatLib object error flag using

Vint vdm_PatLibError (vdm_PatLib *patlib)

Returns:The function returns a pointer to the newly created PatLib object. If the object creation fails, NULL is returned.
void vdm_PatLibEnd(vdm_PatLib *p)

destroy an instance of a PatLib object

See vdm_PatLibBegin()

Vint vdm_PatLibError(vdm_PatLib *p)

return the current value of a PatLib object error flag

See vdm_PatLibBegin()

void vdm_PatLibSetFunction(vdm_PatLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to PatLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_PatLibAbort(vdm_PatLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_PatLibSetFunction().

Parameters:p – Pointer to PatLib object.
void vdm_PatLibSetResultCols(vdm_PatLib *p, Vint ncols, Vint icols[])

set result columns

Set columns in Patran results file to be associated with each component of the result type. Set the result type using vdm_PatLibSetResultType(). The column numbers, icols, start from 1 and may not exceed 200. A Patran results file may contain no more than 200 columns. By default ncols is 6 and icols is {1,2,3,4,5,6}.

Parameters:
  • p – Pointer to PatLib object.
  • ncols – Number of columns to select
  • icols – Column numbers to select
void vdm_PatLibSetResultType(vdm_PatLib *p, Vint rtype, Vint restype, Vint sect)

set result type

Set results type description. See the appropriate VisTools RProp function for explanations of restype and sect. By default rtype is PATLIB_DISPLACEMENT, restype is SYS_RES_D and sect is 0.

Parameters:
  • p – Pointer to PatLib object.
  • rtype – Patran results file type
    x=PATLIB_DISPLACEMENT      Patran displacement/force file
     =PATLIB_ELEMENTAL         Patran elemental file
     =PATLIB_NODAL             Patran nodal file
    
  • restype – Results type (see vis_RPropSetType())
  • sect – Section number (see vis_RPropSetSect())
void vdm_PatLibDataFun(vdm_PatLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to PatLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.30. ESI/PAM-CRASH DAISY and ERF file - PAMLib

The ESI/PAM-CRASH DAISY database is a binary results database produced during an execution of PAM-CRASH from ESI-GROUP. An alternate results file, ERF, uses the HDF5 database model. The .erfh5 model consists of finite element model and results data.

The methods associated with a PAMLib object are the following.

Instance a PAMLib object using vdm_PAMLibBegin(). Once instanced set pointers to abstract data functions using vdm_PAMLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_PAMLibSetFunction().

The .DSY and ERF consists of finite element model and results data. Each dataset name in the state data section is appended with the state number, state.

Each dataset in the state data section has dataset attributes which correspond to the time word and global data items associated with each state on the database. One or more of the following dataset attributes are available for each state.

  • Possible attributes of each results dataset.

    Time            , Time
    TotalEnergy     , Total Energy
    KineticEnergy   , Kinetic Energy
    StrainEnergy    , Strain Energy
    XVelocity       , Average Velocity X-Component
    YVelocity       , Average Velocity Y-Component
    ZVelocity       , Average Velocity Z-Component
    DataSource      , mnemonic
    

DSY Supported Mnemonics, Results

Mnemonic Dataset
N
M
FAXI
FSSH
FTSH
MTOR
MSN1
MTN1
MSN2
MTN2
SFM
DAXI
RTOR
RSN1
RTN1
RSN2
RTN2
SEK
S S
EPLE E.[EQUIV,PLAST]
THIC THICKNESS
INED SE_DENSITY
- D
- V
- A

ERF Supported Mnemonics, Results (followed by qualifiers, if applicable)

Mnemonic Dataset Qualifier 1 Qualifier 2
THICKNESS SYS_RES_THICKNESS    
RFORCE SYS_RES_FORCE SYS_QUA_REL RESIDUAL
EPLE SYS_RES_E SYS_QUA_EQUIV SYS_QUA_PLAST
DISPLACEMENTS_NOD SYS_RES_D    
Velocity SYS_RES_V    
SPRING_Local_Force SYS_RES_FORCE SYS_QUA_LOCAL SPRING
SPRING_Local_Moment SYS_RES_FORCE SYS_QUA_LOCAL SPRING
Upper_Surface_engineering_Strain SYS_RES_E    
Membrane_Stress SYS_RES_S    
Acceleration SYS_RES_A    
Strainrate3D SYS_RES_E_RATE    
Max_Equivalent_Stress SYS_RES_S SYS_QUA_MAXIMUM SYS_QUA_EQUIV
Min_Equivalent_Stress SYS_RES_S SYS_QUA_MINIMUM SYS_QUA_EQUIV
Membrane_Equivalent_Stress SYS_RES_S SYS_QUA_EQUIV  
Lower_S_Equivalent_Stress SYS_RES_S SYS_QUA_EQUIV  
Upper_S_Equivalent_Stress SYS_RES_S SYS_QUA_EQUIV  
Strain3D_Green_Lagrange SYS_RES_E SYS_QUA_GREEN  
Strain3D SYS_RES_E    
BEAM_Force SYS_RES_SFM    
Upper_S_Stress SYS_RES_S    
Rotational_Angle_local SYS_RES_D SYS_QUA_LOCAL  
Rotational_Velocity_global SYS_RES_V    
Thermal_Flux SYS_RES_HEAT_FLUX    
Displacement_global SYS_RES_D    
Stress3D SYS_RES_S    
Equivalent_Stress2D SYS_RES_S SYS_QUA_EQUIV  
Equivalent_Stress3D SYS_RES_S SYS_QUA_EQUIV  
Stress2D_Corner SYS_RES_S    
Stress3D_Corner SYS_RES_S    
Equivalent_Stress3D_Corner SYS_RES_S SYS_QUA_EQUIV  
Equivalent_Stress2D_Corner SYS_RES_S SYS_QUA_EQUIV  
Upper_Thermal_Strain SYS_RES_E SYS_QUA_THERMAL  
Lower_Thermal_Strain SYS_RES_E SYS_QUA_THERMAL  
Moment_local SYS_RES_SFM    
Rotational_Acceleration_local SYS_RES_A SYS_QUA_LOCAL  
Lower_Surface_Strain SYS_RES_E    
Lower_S_Strain SYS_RES_E    
Upper_S_Strain SYS_RES_E    
BAR_Axial_Force SYS_RES_SFM    
BEAM_Rotation_N1 SYS_RES_SEK    
BEAM_Rotation_N2 SYS_RES_SEK    
Rotational_Velocity_local SYS_RES_V SYS_QUA_LOCAL  
Rotational_Angle_global SYS_RES_D    
Lower_Ply_Stress_XX SYS_RES_S SYS_QUA_XX PLY
Lower_Ply_Stress_YY SYS_RES_S SYS_QUA_YY PLY
Lower_Ply_Stress_XY SYS_RES_S SYS_QUA_XY PLY
Lower_Ply_Stress_XZ SYS_RES_S SYS_QUA_ZX PLY
Lower_Ply_Stress_YZ SYS_RES_S SYS_QUA_YZ PLY
Upper_Ply_Stress_XX SYS_RES_S SYS_QUA_XX PLY
Upper_Ply_Stress_YY SYS_RES_S SYS_QUA_YY PLY
Upper_Ply_Stress_XY SYS_RES_S SYS_QUA_XY PLY
Upper_Ply_Stress_XZ SYS_RES_S SYS_QUA_ZX PLY
Upper_Ply_Stress_YZ SYS_RES_S SYS_QUA_YZ PLY
Translational_Acceleration_local SYS_RES_A SYS_QUA_LOCAL  
BEAM_Moment_N1 SYS_RES_SFM    
BEAM_Moment_N2 SYS_RES_SFM    
Upper_Surface_Strain SYS_RES_E    
BAR_Axial_Strain SYS_RES_SEK    
Translational_Velocity_local SYS_RES_V SYS_QUA_LOCAL  
COORDINATE SYS_RES_X    
Contact_Pressure_X SYS_RES_TRAC SYS_QUA_CONTACT  
Contact_Pressure_Y SYS_RES_TRAC    
Contact_Pressure_Z SYS_RES_TRAC    
Contact_Pressure_N SYS_RES_PRES SYS_QUA_CONTACT  
Contact_Force SYS_RES_FORCE SYS_QUA_CONTACT  
Membrane_Stress_Res_local SYS_RES_SFM    
Rotational_Acceleration_global SYS_RES_A    
BEAM_Elongation SYS_RES_SEK    
Lower_S_Stress SYS_RES_S    
Lower_Ply_Strain_XX SYS_RES_E SYS_QUA_XX PLY
Lower_Ply_Strain_YY SYS_RES_E SYS_QUA_YY PLY
Lower_Ply_Strain_XY SYS_RES_E SYS_QUA_XY PLY
Lower_Ply_Strain_XZ SYS_RES_E SYS_QUA_ZX PLY
Lower_Ply_Strain_YZ SYS_RES_E SYS_QUA_YZ PLY
Upper_Ply_Strain_XX SYS_RES_E SYS_QUA_XX PLY
Upper_Ply_Strain_YY SYS_RES_E SYS_QUA_YY PLY
Upper_Ply_Strain_XY SYS_RES_E SYS_QUA_XY PLY
Upper_Ply_Strain_XZ SYS_RES_E SYS_QUA_ZX PLY
Upper_Ply_Strain_YZ SYS_RES_E SYS_QUA_YZ PLY
Lower_Ply_Tsai_Wu_Criterion SYS_RES_FAT_DAMAGE PLY,TSAI_WU  
Upper_Ply_Tsai_Wu_Criterion SYS_RES_FAT_DAMAGE PLY,TSAI_WU  
Max_Plastic_Strain SYS_RES_E SYS_QUA_MAXIMUM SYS_QUA_PLAST
Min_Plastic_Strain SYS_RES_E SYS_QUA_MINIMUM SYS_QUA_PLAST
Membrane_Plastic_Strain SYS_RES_E SYS_QUA_EQUIV SYS_QUA_PLAST
FPM_Static_Density SYS_RES_DENS SYS_QUA_STATIC FPM
FPM_Static_Temperature SYS_RES_TEMP SYS_QUA_STATIC FPM
FPM_Static_Pressure SYS_RES_PRES SYS_QUA_STATIC FPM
OTMCO Reaction force SYS_RES_R SYS_QUA_MPC  
OTMCO Reaction moment SYS_RES_R SYS_QUA_MPC  
BASIS3X3 SYS_RES_ROT_ANG    
TEMP SYS_RES_TEMP    
BEAM_Stress_P1 SYS_RES_S    
BEAM_Stress_P2 SYS_RES_S    
BEAM_Stress_P3 SYS_RES_S    
BEAM_Stress_P4 SYS_RES_S    
RFLUX SYS_RES_R_HEAT_FLOW    
DMG SYS_RES_FAT_DAMAGE    
DINT SYS_RES_ENERGY_DENSITY    
DHGL SYS_RES_ENERGY_DENSITY HOURGLASS  
EINT SYS_RES_ENERGY    
EHGL SYS_RES_ENERGY HOURGLASS  

5.30.1. Function Descriptions

The currently available PAMLib functions are described in detail in this section.

vdm_PAMLib *vdm_PAMLibBegin(void)

create an instance of a PAMLib object

Create an instance of a PAMLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a PAMLib object using

void vdm_PAMLibEnd (vdm_PAMLib *pamlib)

Return the current value of a PAMLib object error flag using

Vint vdm_PAMLibError (vdm_PAMLib *pamlib)

Returns:The function returns a pointer to the newly created PAMLib object. If the object creation fails, NULL is returned.
void vdm_PAMLibEnd(vdm_PAMLib *p)

destroy an instance of a PAMLib object

See vdm_PAMLibBegin()

Vint vdm_PAMLibError(vdm_PAMLib *p)

return the current value of a PAMLib object error flag

See vdm_PAMLibBegin()

void vdm_PAMLibSetFunction(vdm_PAMLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to PAMLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_PAMLibAbort(vdm_PAMLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_PAMLibSetFunction().

Parameters:p – Pointer to PAMLib object.
void vdm_PAMLibDataFun(vdm_PAMLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to PAMLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.31. PERMAS result file - PERMASLib

The PERMAS POST file is the output generated by PERMAS during its execution. Each PERMAS POST file contains results and/or model definition for a single component, even if the original model contained multiple components.

The methods associated with a PERMASLib object are the following.

Instance a PERMASLib object using vdm_PERMASLibBegin(). Once instanced set pointers to abstract data functions using vdm_PERMASLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_PERMASLibSetFunction().

Each component in a PERMAS file requires a different DataFun object, but DataFunAppend can be used to combine multiple results files associated with the same component.

The PARTID.E dataset is assigned the same value as the PID.E dataset. These are created in ascending order, starting from 1. A unique partid is assigned to an element based on the GEODAT and MATERIAL information. Part id values associated with $PART are ignored.

NSET and ESET commands generate node and element sets, respectively.

  • Possible attributes of each results dataset.

    Time            , time
    Frequency       , frequency
    DataSource      , variable
    

Supported results are as follows:

Variable Description Dataset
ACCE Acceleration A
ACCE Rate of Twist Acceleration UNKNOWN.[RATE_TWIST_ACCEL]
ACCE Inner Fluid Acceleration A.[FLUID]
ACCPOTE Magnetic Potential Acceleration UNKNOWN.[ACC_MAGPOT]
ACCPOTE Electric Potential Acceleration UNKNOWN.[ACC_ELECPOT]
CADEF Definition Counter UNKNOWN.[DEF_COUNTER]
CADEF Definition Type UNKNOWN.[DEF_TYPE]
CADEF DOF Family Type UNKNOWN.[DOF_FAM_TYPE]
CADEF Isolation Type UNKNOWN.[ISOLATION_TYPE]
CADEF King Angle UNKNOWN.[KINK_ANGLE]
CADEF Doublet Type UNKNOWN.[DOUBLET_TYPE]
CADISP Contact Displacement GAP.[NORMAL]
CADISP Contact Displacement GAP.[SHEAR]
CAFRATIO Effective Frictional Coefficient UNKNOWN.[EFF_FRIC_COEFF]
CAFRATIO Percent Saturation of Sticking Forces UNKNOWN.[PERCENT_SATUR_STICK_FORC]
CAFRATIO Percent Slip Saturation Deficit UNKNOWN.[PERCENT_SLIP_SATUR_DEFICIT]
CAFRATIO Slip Force Declination Angle UNKNOWN.[SLIP_FORC_DECL_ANGLE]
CAFWORK Energy ENERGY.[FRICTION]
CAFWORKDENS Energy Density ENERGY_DENSITY.[FRICTION]
CAGAPS Gap Thickness GAP_THICKNESS
CAGAPV Normal Gap Width GAP_THICKNESS.[NORMAL]
CAGAPV Tangential Gap Offset GAP_THICKNESS.[TANG]
CAGEO Nadir Vector UNKNOWN.[NADIR_VECTOR]
CAPRES Pressure PRES.[CONTACT]
CAPRES Frictional Shear UNKNOWN.[FRICTION_SHEAR_VECTOR]
CAPRESV Normal Contact Pressure Vector PRES.[NORMAL,CONTACT]
CAPRESV Frictional Shear Vector TRAC.[TANG,CONTACT]
CAREAK Force FORCE.[NORMAL,CONTACT]
CAREAK Force FORCE.[TANG,CONTACT]
CARESI Normal Gap Residuum UNKNOWN.[NORMAL_GAP_RES]
CARESI Tangential Residuum UNKNOWN.[TANG_GAP_RES]
CASTATE Status STAT.[CONTACT]
CASYS Normal Contact Direction DIR_COS.[NORMAL,CONTACT]
DISP Displacement D
DISP Twist UNKNOWN.[TWIST]
DISP Inner Fluid Displacement D.[FLUID]
EFRATIO Element Filling Ratio UNKNOWN.[FILL_RATIO]
EKIN Energy KE
EKINVOL Energy Density Per Unit Volume KE_DENSITY
EKINMASS Energy Density Per Unit Mass UNKNOWN.[KINETIC_ENERGY_PER_MASS]
ELEMENTCOG Element Center of Gravity X,[COG]
HEATFLUX Heat Flux HEAT_FLUX
HEATFLUXDENS Heat Flux Density UNKNOWN.[HEAT_FLUX_DENS]
INICAGAPS Initial Gap Thickness GAP_THICKNESS.[INITIAL]
INICAPAPV Initial Normal Gap Width GAP_THICKNESS.[INITIAL,NORMAL]
INICAPAPV Initial Tangential Gap Offset GAP_THICKNESS.[INITIAL,TANG]
INICASTATE Status STATUS.[INITIAL,CONTACT]
NPSTRAIN Strain E
NPSTRESS Stress S
POTE Magnetic Potential MAG_POT
POTE Electric Potential ELEC_POT
PRES Pressure PRES
PRINSTRAIN Principal Strain E.[PRINCIPAL]
PRINSTRAIN Direction Cosine Matrix DIR_COS.[PRINCIPAL,STRAIN]
PRINSTRESS Principal Stress S.[PRINCIPAL]
PRINSTRESS Direction Cosine Matrix DIR_COS.[PRINCIPAL,STRESS]
REAK Reaction Force R
REAK Bimoment UNKNOWN.[BIMOMENT]
REAK Inner Fluid Pressure PRES.[FLUID]
REAKD Reaction Force on Dependent DOFS R.[DEP_DOFS]
REAKD Bimoment on Dependent DOFS UNKNOWN.[BIMOMENT,DEP_DOFS]
REAKD Inner Fluid Pressure on Dependent DOFS PRES.[FLUID,DEP_DOFS]
STRESSRES Flange, Spring, or Dampener Force FORCE
STRESSRES Stress Resultant SFM
STRESSRES Bimoment UNKNOWN.[BIMOMENT]
STRESSRES Pressure PRES.[INNER_FLUID]
STRESSRES Spring or Dampener Moment MOMENT
TEMP Temperature TEMP
TEMP Temperature Difference TEMP.[DIFFERENCE]
VELO Velocity V
VELO Rate of Twist Velocity UNKNOWN.[RATE_TWIST_VEL]
VELO Inner Fluid Velocity V.[FLUID]
VELPOTE Magnetic Potential Velocity UNKNOWN.[VEL_MAGPOT]
VELPOTE Electric Potential Velocity UNKNOWN.[VEL_ELECPOT]
X_ELPRINCMP Principal Stress S.[PRINCIPAL]
X_ELSTRAIN Strain E
X_ELSTRESS Stress S
X_ELVE Element Test Information UNKNOWN.[TEST_INFO]

5.31.1. Function Descriptions

The currently available PERMASLib functions are described in detail in this section.

vdm_PERMASLib *vdm_PERMASLibBegin(void)

create an instance of a PERMASLib object

Create an instance of a PERMASLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a PERMASLib object using

void vdm_PERMASLibEnd (vdm_PERMASLib *permaslib)

Return the current value of a PERMASLib object error flag using

Vint vdm_PERMASLibError (vdm_PERMASLib *permaslib)

Returns:The function returns a pointer to the newly created PERMASLib object. If the object creation fails, NULL is returned.
void vdm_PERMASLibEnd(vdm_PERMASLib *p)

destroy an instance of a PERMASLib object

See vdm_PERMASLibBegin()

Vint vdm_PERMASLibError(vdm_PERMASLib *p)

return the current value of a PERMASLib object error flag

See vdm_PERMASLibBegin()

void vdm_PERMASLibSetFunction(vdm_PERMASLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to PERMASLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_PERMASLibAbort(vdm_PERMASLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_PERMASLibSetFunction().

Parameters:p – Pointer to PERMASLib object.
void vdm_PERMASLibDataFun(vdm_PERMASLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to PERMASLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.32. NASA/PLOT3D grid, solution and function files - PLOT3DLib

The PLOT3D grid file format can be formatted in a number of ways. A non standard function is required to specify whether or not certain grid records are present. The PLOT3D solution and function files format has limited support for descriptive information concerning the data a file may contain. Therefore an additional, non standard, function is required when reading PLOT3D solution and/or function files to indicate the result type.

The methods associated with a PLOT3DLib object are the following.

Instance a PLOT3DLib object using vdm_PLOT3DLibBegin(). Once instanced set pointers to abstract data functions using vdm_PLOT3DLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_PLOT3DLibSetFunction().

If a PLOT3DLib module is used to read model information from a PLOT3D Grid File, type SYS_PLOT3D_GRID, then it may be necessary to specify the grid type using vdm_PLOT3DLibSetGridType() if the defaults are not sufficient.

If solution or function files are being read, type SYS_PLOT3D_SOLUTION, then it may be necessary to specify the solution type using vdm_PLOT3DLibSetResultType() if the defaults are not sufficient. Note that PLOT3D solution and function files do not contain any model information and by necessity must always be appended with vdm_DataFunAppend() rather than opened with vdm_DataFunOpen().

The NASA/PLOT3D data files are associated with the NASA Ames Research Center PLOT3D visualization program. The file types include grid XYZ files, solution Q files and function files. These file formats may be formatted, unformatted or binary. Currently only “whole” 3D structured or unstructured, multiblocked, iblanked binary files are supported, “planes” or 2D files are not supported.

5.32.1. Function Descriptions

The currently available PLOT3DLib functions are described in detail in this section.

vdm_PLOT3DLib *vdm_PLOT3DLibBegin(void)

create an instance of a PLOT3DLib object

Create an instance of a PLOT3DLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a PLOT3DLib object using

void vdm_PLOT3DLibEnd (vdm_PLOT3DLib *plot3dlib)

Return the current value of a PLOT3DLib object error flag using

Vint vdm_PLOT3DLibError (vdm_PLOT3DLib *plot3dlib)

Returns:The function returns a pointer to the newly created PLOT3DLib object. If the object creation fails, NULL is returned.
void vdm_PLOT3DLibEnd(vdm_PLOT3DLib *p)

destroy an instance of a PLOT3DLib object

See vdm_PLOT3DLibBegin()

Vint vdm_PLOT3DLibError(vdm_PLOT3DLib *p)

return the current value of a PLOT3DLib object error flag

See vdm_PLOT3DLibBegin()

void vdm_PLOT3DLibSetFunction(vdm_PLOT3DLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to PLOT3DLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_PLOT3DLibAbort(vdm_PLOT3DLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_PLOT3DLibSetFunction().

Parameters:p – Pointer to PLOT3DLib object.
void vdm_PLOT3DLibSetGridType(vdm_PLOT3DLib *p, Vint gtype, Vint dime, Vint iblank)

set grid type

Define grid type of Grid file. By default gtype is PLOT3DLIB_AUTO, dime is PLOT3DLIB_AUTO, and iblank is off.

Parameters:
  • p – Pointer to PLOT3DLib object.
  • gtype – Grid type
    x=PLOT3DLIB_AUTO           Auto detect
     =PLOT3DLIB_SINGLE         Single block grid
     =PLOT3DLIB_MULTIPLE       Multiblock grid
    
  • dime – Dimension and layout
    x=PLOT3DLIB_AUTO           Auto detect
     =PLOT3DLIB_2D             2D structured
     =PLOT3DLIB_3DWHOLE        3D structured WHOLE
     =PLOT3DLIB_3DPLANES       3D structured PLANES
     =PLOT3DLIB_UNSTRUCTURED   3D unstructured
    
  • iblank – IBlanking flag
void vdm_PLOT3DLibSetResultType(vdm_PLOT3DLib *p, Vint rtype, Vint restype)

set solution result type

Set results type description. See the appropriate VisTools RProp function for explanations of restype. By default rtype is PLOT3DLIB_Q and restype is SYS_RES_V.

Parameters:
void vdm_PLOT3DLibDataFun(vdm_PLOT3DLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to PLOT3DLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.33. Interface to the Data Provider Framework - PluginLib

The PluginLib object allows to process any file type supported by plugins developed under the Data Provider Framework. CEETRON Data Provider Framework is a framework for writing data providers that can be plugged into applications initially based on CEETRON Envision for Desktop. For more information on this Framework, please see CEETRON Envision documentation.

The methods associated with a PluginLib object are the following.

Instance a PluginLib object using vdm_PluginLibBegin(). Once instanced set pointers to abstract data functions using vdm_PluginLibDataFun().

5.33.1. Function Descriptions

The currently available PluginLib functions are described in detail in this section.

vdm_PluginLib *vdm_PluginLibBegin(void)

create an instance of a PluginLib object

Create an instance of a PluginLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a PluginLib object using

void vdm_PluginLibEnd (vdm_PluginLib *PluginLib)

Return the current value of a PluginLib object error flag using

Vint vdm_PluginLibError (vdm_PluginLib *PluginLib)

Returns:The function returns a pointer to the newly created PluginLib object. If the object creation fails, NULL is returned.
void vdm_PluginLibDef(vdm_PluginLib *p, Vchar *pathToPluginLibrary)

define the path to the plugin binary file

See vdm_PluginLibBegin()

void vdm_PluginLibEnd(vdm_PluginLib *p)

destroy an instance of a PluginLib object

See vdm_PluginLibBegin()

Vint vdm_PluginLibError(vdm_PluginLib *p)

return the current value of a PluginLib object error flag

Report total number of errors notified. This will reset the counter to zero after

Parameters:p – Pointer to PluginLib object.
Returns:Integer error count
void vdm_PluginLibApplySettings(vdm_PluginLib *p, vdm_Settings *globalSettings)

Apply the Settings.

This method allows to apply settings that can specify the Open behavior of the underlying plugin

Parameters:
void vdm_PluginLibOpen(vdm_PluginLib *p, Vint mode, Vchar *filename, Vint type)

Open the giving file using the PluginLib.

Open the given file and load the Connect object internally Retrieve the connect object using See vdm_PluginLibGetConnect(vdm_PluginLib *p, vis_Connect **connect)

Parameters:
  • p – Pointer to PluginLib object.
  • mode – opening mode
  • filename – full path to file name
  • type – type of the file to open
void vdm_PluginLibDataFun(vdm_PluginLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to PluginLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_PluginLibGetConnect(vdm_PluginLib *p, vis_Connect **connect)

This method set the connect to point to the internal connect object.

Notice . The internal PluginLib will deallocate the connect once termination, the parameter connect might dangle. Here an example of how to use this method properly

vis_Connect* connect = NULL;
vdm_PluginLibGetConnect(vdm_PluginLib_object, &connect)

Parameters:
  • p – Pointer to PluginLib object.
  • connect – Pointer of a Pointer to connect
void vdm_PluginLibGetNumEntities(vdm_PluginLib *p, Vint entitytype, Vint *numentity)

get number of Elements, Nodes, Faces or Edges

Return the number of entities of the requested entitytype. If entitytype is an unrecognizable type, then numentity is returned as zero. This is equivalent to call vis_ConnectNumber() using the connect object.

Parameters:
  • p – Pointer to PluginLib object.
  • entitytype – Entity type
    =SYS_ELEM     Element
    =SYS_NODE     Node
    =SYS_FACE     Face
    =SYS_EDGE     Edge
    
  • numentity[out] Number of entities of requested type
void vdm_PluginLibGetLibrary(vdm_PluginLib *p, vdm_Library **library)

get library object associated with library device

Get Library object associated with a library device. Use the Library object to retrieve generic information about the datasets and attributes on the library device. See the descriptions of the Library, Dataset and Attribute modules.

Parameters:
  • p – Pointer to DataFun object.
  • library – Pointer to Library object.
void vdm_PluginLibSetStatus(vdm_PluginLib *p, Vint status)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • status – File status to be used when opening library device.
    =VDM_STATUS_OLD           Old file must exist read only
    
void vdm_PluginLibGetAttVal(vdm_PluginLib *p, Vint datasetIndex, Vint iatt, void *value)

get attribute values for the given datasetindex

Return an valued attribute.

Errors
SYS_ERROR_OPERATION is generated if the value is not defined

Parameters:
  • p – Pointer to PluginLib object.
  • datasetIndex – Vint identifying the dataset object.
  • iatt – Vint identifying the attribute type.
  • value[out] attribute values address
void vdm_PluginLibNumDatasets(vdm_PluginLib *p, Vint *numdatasets)

get number of datasets on library

Get the number of datasets on a library.

Parameters:
  • p – Pointer to PluginLib object.
  • numdatasets[out] Number of datasets on library.
void vdm_PluginLibNumAttributes(vdm_PluginLib *p, Vint datasetIndex, Vint *numattributes)

get number of dataset attributes

Get the number of dataset attributes.

Parameters:
  • p – Pointer to PluginLib object.
  • datasetIndex – Vint identifying the dataset object.
  • numattributes[out] Number of dataset attributes.
void vdm_PluginLibInqDataset(vdm_PluginLib *p, Vint datasetIndex, Vchar name[], Vlong *lrec, Vint *nrow, Vint *ncol, Vint *type)

inquire of defined name, lrec, nrow, ncol and type as output arguments

See vdm_DatasetDef()

void vdm_PluginLibInqAttribute(vdm_PluginLib *p, Vint idst, Vint iatt, Vchar name[], Vint *length, Vint *type)

inquire of defined name, length, and type as output arguments

See vdm_AttributeDef()

void vdm_PluginLibReadDataset(vdm_PluginLib *p, Vint datasetIndex, void *data)

Read the dataset data using the PluginLib.

Read and fill the data with the values of the dataset. This call will trigger a reading of the data within the files using the appropriate plugin library.

Errors
SYS_ERROR_VALUE is generated if the datasetIndex is not found in the library

Parameters:
  • p – Pointer to PluginLib object.
  • datasetIndex – Vint dataset index
  • data[out] allocated buffer pointer of size dataset_lrec
void vdm_PluginLibSetMode(vdm_PluginLib *p, Vint mode, Vint flag)

set Mode for PluginLib

Set Mode for PluginLib.

Parameters:
  • p – Pointer to PluginLib object.
  • mode – Vint of mode to be set : no option available yet
  • flag – flag SYS_OFF or SYS_ON
void vdm_PluginLibSetConvention(vdm_PluginLib *p, VConventionType convention)

Undefined function.

Parameters:
  • p – Pointer to PluginLib object.
  • convention – Dataset and attribute convention. No option available yet.
void vdm_PluginLibDefDataset(vdm_PluginLib *p, const Vchar *name, Vlong lrec, Vint nrow, Vint ncol, Vint type, Vint *idst)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib 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
void vdm_PluginLibWriteDataset(vdm_PluginLib *p, Vint idst, void *buff)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • idst – Index of dataset object to read
  • buff – Pointer to array to dataset contents
void vdm_PluginLibAppend(vdm_PluginLib *p, Vchar *filename, Vint type)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • filename – 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
    
void vdm_PluginLibSetIds(vdm_PluginLib *p, Vint idtype, Vint id1, Vint id2, Vint id3)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • idtype – Numeric identifier algorithm
    =VDM_IDS_OFFSET           Offset ids
    =VDM_IDS_BASE             Increment ids over base
    =VDM_IDS_ABSOLUTE         Set ids
    
  • id1 – Numeric identifier
  • id2 – Numeric identifier
  • id3 – Numeric identifier
void vdm_PluginLibSetConnect(vdm_PluginLib *p, vis_Connect *connect)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
void vdm_PluginLibLibDataset(vdm_PluginLib *p, Vint oper, Vint idst)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • oper – 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
void vdm_PluginLibDefAttribute(vdm_PluginLib *p, Vint idst, const Vchar *name, Vint length, Vint type, Vint *iatt)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib 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[out] Index of generated attribute
void vdm_PluginLibSetAttVal(vdm_PluginLib *p, Vint idst, Vint iatt, void *value)

Undefined function.

Set the value of an attribute. This function may only be called on writeable library devices such as a native data base.

Get value as an output argument using

void vdm_DataFunGetAttVal (vdm_DataFun *datafun,
                           Vint idst,
                           Vint iatt,
                           void *value)

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • idst – Index of dataset
  • iatt – Index of attribute
  • value – Pointer to attribute value
void vdm_PluginLibGetInteger(vdm_PluginLib *p, Vint type, Vint *ivalue)

Undefined function.

Errors
SYS_ERROR_ENUM is generated if this function is called with an inknown type

Parameters:
  • p – Pointer to PluginLib object.
  • type – Type of integer information to query
    =VDM_PHASE            Progress phase
    
  • ivalue – Returned integer information
void vdm_PluginLibGetString(vdm_PluginLib *p, Vint type, Vchar *cvalue)

Undefined function.

Errors
SYS_ERROR_ENUM is generated if this function is called with an inknown type

Parameters:
  • p – Pointer to PluginLib object.
  • type – Type of integer information to query
    =VDM_SOURCE           Current data source
    
  • cvalue[out] Returned string information
void vdm_PluginLibNumDomains(vdm_PluginLib *p, Vchar *filename, Vint type, Vint *numdomains)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • filename – Pathname to host file associated with the library device
  • type – Type of library device file, see vdm_DataFunOpen().
  • numdomains[out] Number of domains
void vdm_PluginLibReadDatasetCols(vdm_PluginLib *p, Vint idst, Vint ncols, Vint cols[], void *buf, Vlong *lptr)

Undefined function.

Errors
SYS_ERROR_OPERATION is generated if this function is called since it is not defined for this library

Parameters:
  • p – Pointer to PluginLib object.
  • idst – Index of dataset object to read
  • ncols – Number of columns
  • cols – Vector of column numbers
  • buf[out] Pointer to array to receive dataset contents
  • lptr[out] Pointer to starting position of each column in buff.
void vdm_PluginLibSetErrorLevel(vdm_PluginLib *p, Vint errorLevel)

set plugin log error level

Parameters:
  • p – Pointer to PluginLib object.
  • errorLevel – Error level for the plugin log
    =0     No log (default)
    =1     Error
    =2     Warning
    =3     Info
    =4     Debug
    

5.34. POLYFLOW data base - POLYFLOWLib

The POLYFLOW data base consists of a mesh file and a list of results files. The mesh file is normally contained in a file with extension .msh, while the results can be found in files whose names contain either the extension .res or its base name contains the substring res. The POLYFLOW data base is supported for reading only. The .msh file is the key file, the POLYFLOW reader will find related results files.

The methods associated with a POLYFLOWLib object are the following.

Instance a POLYFLOWLib object using vdm_POLYFLOWLibBegin(). Once instanced set pointers to abstract data functions using vdm_POLYFLOWLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_POLYFLOWLibSetFunction().

The POLYFLOW reader supports all of POLYFLOW element types, namely linear two and three-dimensional elements. The PARTID.E dataset is set to the subdomain id.

5.34.1. Function Descriptions

The currently available POLYFLOWLib functions are described in detail in this section.

vdm_POLYFLOWLib *vdm_POLYFLOWLibBegin(void)

create an instance of a POLYFLOWLib object

Create an instance of a POLYFLOWLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a POLYFLOWLib object using

void vdm_POLYFLOWLibEnd (vdm_POLYFLOWLib *polyflowlib)

Return the current value of a POLYFLOWLib object error flag using

Vint vdm_POLYFLOWLibError (vdm_POLYFLOWLib *polyflowlib)

Returns:The function returns a pointer to the newly created POLYFLOWLib object. If the object creation fails, NULL is returned.
void vdm_POLYFLOWLibEnd(vdm_POLYFLOWLib *p)

destroy an instance of a POLYFLOWLib object

See vdm_POLYFLOWLibBegin()

Vint vdm_POLYFLOWLibError(vdm_POLYFLOWLib *p)

return the current value of a POLYFLOWLib object error flag

See vdm_POLYFLOWLibBegin()

void vdm_POLYFLOWLibSetFunction(vdm_POLYFLOWLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to POLYFLOWLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_POLYFLOWLibAbort(vdm_POLYFLOWLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_POLYFLOWLibSetFunction().

Parameters:p – Pointer to POLYFLOWLib object.
void vdm_POLYFLOWLibDataFun(vdm_POLYFLOWLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to POLYFLOWLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.35. Writing PTC/Mechanica FEM Neutral Format - RASFil

The PTC/Mechanica FEM Neutral File is used to exchange data between Mechanica and finite element programs. FEM Neutral Format files have the file extension .fnf and are ASCII files consisting of lines 80 characters or less. The RASFil module supports the writing of nodes, elements, coordinate systems and applied loads and restraints. The LMan module function vdm_LManSaveModel() is used to perform the actual file writing.

The methods associated with a RASFil object are the following.

Instance a RASFil object using vdm_RASFilBegin(). Once instanced set pointers to abstract data functions using vdm_RASFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_RASFilSetFunction().

5.35.1. Function Descriptions

The currently available RASFil functions are described in detail in this section.

vdm_RASFil *vdm_RASFilBegin(void)

create an instance of a RASFil object

Create an instance of a RASFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a RASFil object using

void vdm_RASFilEnd (vdm_RASFil *rasfil)

Return the current value of a RASFil object error flag using

Vint vdm_RASFilError (vdm_RASFil *rasfil)

Returns:The function returns a pointer to the newly created RASFil object. If the object creation fails, NULL is returned.
void vdm_RASFilEnd(vdm_RASFil *p)

destroy an instance of a RASFil object

See vdm_RASFilBegin()

Vint vdm_RASFilError(vdm_RASFil *p)

return the current value of a RASFil object error flag

See vdm_RASFilBegin()

void vdm_RASFilSetFunction(vdm_RASFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to RASFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_RASFilAbort(vdm_RASFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_RASFilSetFunction().

Parameters:p – Pointer to RASFil object.
void vdm_RASFilDataFun(vdm_RASFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to RASFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.36. PTC/Mechanica Design Study - RASLib

The PTC/Mechanica design study is a directory consisting of subdirectories and files containing analysis model and results data. The directory is called study where study is the name of the design study and subdirectories called anlys1, anlys2, … where anlys1, anlys2, … are the names of the analyses. Only the binary form of the results data files is supported.

The methods associated with a RASLib object are the following.

Instance a RASLib object using vdm_RASLibBegin(). Once instanced set pointers to abstract data functions using vdm_RASLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_RASLibSetFunction().

The key file in a Mechanica Design Study must be the .neu file located in an analysis subdirectory. The path to key file must include the names of the study and analysis directories. The following file types are read.

  • .neu, h-nodes and elements.
  • .pnu, p-elements.
  • .rpt, general progress log
  • .ter, coordinate systems, materials, element properties, restraints.
  • .r, reaction results
  • .s, stress results
  • .d, .a, displacement, rotation, temerature results
  • .v, .x, velocity results
  • .w, .y, acceleration results

The load set or mode number, set, is appended to each results dataset in the analysis. A frequency attribute is added to modal result datasets.

  • Possible attributes of each results dataset.

    Frequency       , Frequency
    DataSource      , file name
    

5.36.1. Function Descriptions

The currently available RASLib functions are described in detail in this section.

vdm_RASLib *vdm_RASLibBegin(void)

create an instance of a RASLib object

Create an instance of a RASLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a RASLib object using

void vdm_RASLibEnd (vdm_RASLib *raslib)

Return the current value of a RASLib object error flag using

Vint vdm_RASLibError (vdm_RASLib *raslib)

Returns:The function returns a pointer to the newly created RASLib object. If the object creation fails, NULL is returned.
void vdm_RASLibEnd(vdm_RASLib *p)

destroy an instance of a RASLib object

See vdm_RASLibBegin()

Vint vdm_RASLibError(vdm_RASLib *p)

return the current value of a RASLib object error flag

See vdm_RASLibBegin()

void vdm_RASLibSetFunction(vdm_RASLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to RASLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_RASLibAbort(vdm_RASLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_RASLibSetFunction().

Parameters:p – Pointer to RASLib object.
void vdm_RASLibDataFun(vdm_RASLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to RASLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.37. SAMCEF des file - SAMCEFLib

The SAMCEF des file contains mesh and results information.

The methods associated with a SAMCEFLib object are the following.

Instance a SAMCEFLib object using vdm_SAMCEFLibBegin(). Once instanced set pointers to abstract data functions using vdm_SAMCEFLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_SAMCEFLibSetFunction().

Each results dataset name obtained from a SAMCEF file is appended with the load case or time step number, id1. If these are not defined, then id1 is 1. If vibration, buckling, or rigid modes are found these are assigned to id2.

  • Possible attributes of each results dataset.

    DataSource      , result code and field name
    

This interface supports the import of unknown variables. This allows all results to be imported. The dataset name will include the SAMCEF field name immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Supported Variable Names, Results

SAMCEF Field Name Dataset
Pressure PRES
Nodal temperature [lower surface] TEMP.[LOWERSURF]
Temperature variation rate TEMP_DOT
Nodal pressure PRES
Nodal density DENS
Electric potential ELEC_POT
X-Y-Z coordinates X
DX-DY-DZ reference displacements (in structural axes) D
DX-DY-DZ displacements (in structural axes) D
VX-VY-VZ velocities (in structural axes) V
AX-AY-AZ accelerations (in structural axes) A
RX-RY-RZ rotations D
Reaction/residue (in structural axes) R
Reaction/residue (in structural axes) - Force R
Reaction/residue (in structural axes) - Torque R
Reaction/residue (in structural axes) - Flux HEAT_FLUX
Normal stress at point 1 S
Normal stress at point 2 S
Normal stress at point 3 S
Normal stress at point 4 S
Nodal temperature [upper surface] TEMP.[UPPERSURF]
Nodal temperature of intermediate surfaces. TEMP.[MIDSURF]
Rotational velocity V
Rotational acceleration A
Shear forces SFM
Efforts (N,T1,T2,M,F1,F2) SFM
Efforts (N,T1,T2) SFM
Moment (M,F1,F2) SFM
Normal Force SFM
Moment SFM
Grid Point Relative Displacement D.[REL]
Grid Point Relative Rotation D.[REL]
Grid Point Reaction/Force R.[GPF]
Grid Point Reaction/Moment R.[GPF]
Total strain E
Normal stress at 6 points S.[NORMAL]
Norm of shear stress at 6 points S.[SHEAR]
Stress tensor S
Stress tensor (codes 470-472) S.[NONLIN]
von Mises stress S.[VONMISES]
Kirchoff-Treffz stress tensor (PK2) S.[PK]
Green-Lagrange total strain tensor E.[GREEN]
Cauchy stress tensor S.[CAUCHY]
Natural total strain tensor E.[NATURAL]
Biot stress tensor S.[BIOT]
Biot total strain tensor E.[BIOT]
Mechanical strain tensor E.[MECH]
Equivalent mechanical strain E.[EQUIV,MECH]
Temperature TEMP
Hydrostatic pressure PRES.[HYDROSTATIC]
Equivalent cumulative plastic strain E.[EQUIV,PLAST]
Plastic strain tensor E.[PLAST]
Equivalent stress (chosen criterion) S.[EQUIV]
Porosity POROSITY
Potential energy SE_DENSITY
Kinetic energy density KE_DENSITY
Element density DENS
Dissipated energy per unit volume ENERGY_DENSITY.[DISSIPATED]
Dissipated power per unit volume POWER_DENSITY.[DISSIPATED]
Degree of conversion FRACTION
Glass transition temperature TEMP.[GLASSTRANS]
Scalar damage DAMAGE.[EQUIV]
Tensorial damage DAMAGE
Conductive flux HEAT_FLUX
Gas mass flux MASS_FLUX.[GAS]
Current density J_DENSITY
Transport flux HEAT_FLUX.[CONVECTIVE]
Elemental (specific) capacitive energy ENERGY.[SPECIFIC,CAPACITIVE]
Nodal density (PYROL DECOUPLE) DENS
Applied surface flux HEAT_FLUX.[APPLIED]
Convective flux (classical) HEAT_FLUX.[CONVECTIVE]
Enthalpic flux HEAT_FLUX.[ENTHALPY]
Resultant radiative flux HEAT_FLUX.[RADIATIVE]
Absorbed radiative flux HEAT_FLUX.[ABSORBED,RADIATIVE]
Emitted radiative flux HEAT_FLUX.[RADIATIVE,EMITTED]
Resultant flame radiation flux HEAT_FLUX.[RADIATIVE,FLAME]
Absorbed flame radiation flux HEAT_FLUX.[ABSORBED,FLAME,RADIATIVE]
Emitted flame radiation flux HEAT_FLUX.[EMITTED,FLAME,RADIATIVE]
Total applied flux HEAT_FLUX.[TOT,APPLIED]
Total volume flux HEAT_FLUX.[TOT]
Strain energy density SE_DENSITY
Kinetic energy density KE_DENSITY
Von Mises equivalent stress S.[VONMISES]

The convention, VDM_CONVENTION_DOUBLE, can be used to export floating point data in single or double precision. The default export precision is single. All nodes and elements are exported as a single unstructured zone.

Scalar, vector and symmetric tensor data types are exported, all others are ignored. Results can be either nodal, centroidal, or element nodal.

5.37.1. Function Descriptions

The currently available SAMCEFLib functions are described in detail in this section.

vdm_SAMCEFLib *vdm_SAMCEFLibBegin(void)

create an instance of a SAMCEFLib object

Create an instance of a SAMCEFLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a SAMCEFLib object using

void vdm_SAMCEFLibEnd (vdm_SAMCEFLib *samceflib)

Return the current value of a SAMCEFLib object error flag using

Vint vdm_SAMCEFLibError (vdm_SAMCEFLib *samceflib)

Returns:The function returns a pointer to the newly created SAMCEFLib object. If the object creation fails, NULL is returned.
void vdm_SAMCEFLibEnd(vdm_SAMCEFLib *p)

destroy an instance of a SAMCEFLib object

See vdm_SAMCEFLibBegin()

Vint vdm_SAMCEFLibError(vdm_SAMCEFLib *p)

return the current value of a SAMCEFLib object error flag

See vdm_SAMCEFLibBegin()

void vdm_SAMCEFLibSetFunction(vdm_SAMCEFLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to SAMCEFLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_SAMCEFLibAbort(vdm_SAMCEFLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_SAMCEFLibSetFunction().

Parameters:p – Pointer to SAMCEFLib object.
void vdm_SAMCEFLibDataFun(vdm_SAMCEFLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to SAMCEFLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.38. STAR-CCM data base - STARCCMLib

The STAR-CCM file format is generated by the STAR CCM+ analysis program from CD-adapco. Files usually contain an extension .ccm and frequently contain polyhedra-based topologies. This format requires a freely available library that can be obtained by contacting CD-adapco directly.

The methods associated with a STARCCMLib object are the following.

Instance a STARCCMLib object using vdm_STARCCMLibBegin(). Once instanced set pointers to abstract data functions using vdm_STARCCMLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_STARCCMLibSetFunction().

The PARTID.E dataset is set to the cell type which is read directly from the database. The cell type is described as an integer that can be used to group cells together to form subdomains and domains.

The file format segregates internal and boundary surfaces. While internal surfaces are only used to construct faces of elements, boundary surfaces are also stored as elements with VIS_FEATYPE of SYS_ELEM_INTERFACE. In addition, interface elements have an added attribute, VIS_FEASPEC, whose value is only set if it originates from boundary types given by the table below.

This interface supports the import of unknown variables. Any specific STAR-CCM variable name (data name identifier for flow solution quantity) which does not match the current list of VdmTools specific variable names will be imported as SYS_RES_UNKNOWN. The dataset name will include the STAR-CCM variable name immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Results datasets are grouped according to their STAR-CCM State and Phase. The identification value for the State translates into a dataset’s id1, while the Phase’s translates into id2.

  • Possible attributes of each results dataset.

    DataSource      , short name
    

Supported Variable Names, Results

STAR-CCM Variable Name Dataset
Pressure PRES
ABSOLUTEPRESSURE PRES.[ABS]
ABSOLUTETOTALPRESSURE PRES.[TOT,ABS]
TOTALPRESSURE PRES.[TOT]
THERMO. PRESSURE PRES.[THERMAL]
PRESSURECOEFFICIENT PRES_COEF
TOTALPRESSURECOEFFICIENT PRES_COEF.[TOT]
Velocity V
VELOCITYMAGNITUDE V.[MAG]
CELLRELATIVEVELOCITY V.[REL,Cell]
CELLRELATIVEVELOCITYMAGNITUDE V.[REL,MAG,Cell]
RADIALVELOCITY V.[RADIAL]
TANGENTIALVELOCITY V.[TANG]
AXIALVELOCITY V.[AXIAL]
TRANSLATIONVELOCITY V.[Translation]
RELATIVEVELOCITY V.[REL]
SOUNDSPEED V.[SOUND]
Mass Flux MASS_FLUX
MASSFLUX MASS_FLUX
Displacement D
Density DENS
Temperature TEMP
TOTALTEMPERATURE TEMP.[TOT]
Turbulent Dissipation TURB_ED
Turbulence - ke TURB_KE
Turbulent Kinetic Energy TURB_KE
Turbulent Dissipation Rate TURB_SD
WALLDISTANCE TURB_DIST
Particle Re Number REYNOLDS
Molecular Viscosity VISC
EFFECTIVEVISCOSITY VISC.[EFF]
DYNAMICVISCOSITY VISC.[DYNAMIC]
Turbulent Viscosity VISC_EDDY
Turbulent - Epsilon TURB_ED
Stress S
Volume Fraction VOF
Y Plus YPLUS
SPECIFICHEAT CP
ENTROPY ENTROPY
ENTHALPY H
TOTALENTHALPY H.[TOT]
STATICENTHALPY H.[STATIC]
AREA AREA
AREAMAGNITUDE AREA.[MAG]
THERMALCONDUCTIVITY COND
EFFECTIVECONDUCTIVITY COND.[EFF]
WALLSHEARSTRESS WALL_SHEAR
MACHNUMBER MACH
HEAT FLUX HEAT_FLUX
BOUNDARYHEATFLUX HEAT_FLUX.[Boundary]
VOLUME VOLUME
VOLUMECHANGE VOLUME.[Change]

Supported Boundary Types, VIS_FEASPEC

Boundary Type VIS_FEASPEC
Wall SYS_INTER_WALL
Outlet SYS_INTER_OUTLET
Symmetry SYS_INTER_SYMMETRY
Inlet SYS_INTER_INLET
Cyclic SYS_INTER_PERIODIC
Stagnation SYS_INTER_STAGNATION
Pressure SYS_INTER_PRESSURE
Baffle SYS_INTER_BAFFLE
Freestream SYS_INTER_FREESTREAM

Scalar, vector and non-symmetric tensor data types are exported, all others are ignored. All face-based results are converted to a nodal results by averaging values from neighboring faces.

5.38.1. Function Descriptions

The currently available STARCCMLib functions are described in detail in this section.

vdm_STARCCMLib *vdm_STARCCMLibBegin(void)

create an instance of a STARCCMLib object

Create an instance of a STARCCMLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a STARCCMLib object using

void vdm_STARCCMLibEnd (vdm_STARCCMLib *starccmlib)

Return the current value of a STARCCMLib object error flag using

Vint vdm_STARCCMLibError (vdm_STARCCMLib *starccmlib)

Returns:The function returns a pointer to the newly created STARCCMLib object. If the object creation fails, NULL is returned.
void vdm_STARCCMLibEnd(vdm_STARCCMLib *p)

destroy an instance of a STARCCMLib object

See vdm_STARCCMLibBegin()

Vint vdm_STARCCMLibError(vdm_STARCCMLib *p)

return the current value of a STARCCMLib object error flag

See vdm_STARCCMLibBegin()

void vdm_STARCCMLibSetFunction(vdm_STARCCMLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to STARCCMLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_STARCCMLibAbort(vdm_STARCCMLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_STARCCMLibSetFunction().

Parameters:p – Pointer to STARCCMLib object.
void vdm_STARCCMLibDataFun(vdm_STARCCMLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to STARCCMLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.39. 3D Systems/STL ASCII text and binary file - STLFil

The stereolithography (or STL) format is an ASCII text or binary file developed by 3D Systems Corp. It is a list of triangular facets which describe a solid model.

The methods associated with a STLFil object are the following.

Instance a STLFil object using vdm_STLFilBegin(). Once instanced set pointers to abstract data functions using vdm_STLFilDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_STLFilSetFunction().

All triangle geometry in a STL file is constrained by the vertex to vertex rule - all adjacent triangles share two vertices which must be co-located. These coincident vertices are detected and assigned a single node number. Each triangular facet is assigned an element number. If the user specifies that the STL file is in ASCII format, the interface will check for an ASCII formatted file first and if this fails a binary formatted file is assumed. An element set is generated for each solid. Vertices are colocated only with individual solids. If no solids are specified in the file, then all vertices are checked for colocation. The PARTID.E dataset contains the solid number starting from 1.

5.39.1. Function Descriptions

The currently available STLFil functions are described in detail in this section.

vdm_STLFil *vdm_STLFilBegin(void)

create an instance of a STLFil object

Create an instance of a STLFil object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a STLFil object using

void vdm_STLFilEnd (vdm_STLFil *stlfil)

Return the current value of a STLFil object error flag using

Vint vdm_STLFilError (vdm_STLFil *stlfil)

Returns:The function returns a pointer to the newly created STLFil object. If the object creation fails, NULL is returned.
void vdm_STLFilEnd(vdm_STLFil *p)

destroy an instance of a STLFil object

See vdm_STLFilBegin()

Vint vdm_STLFilError(vdm_STLFil *p)

return the current value of a STLFil object error flag

See vdm_STLFilBegin()

void vdm_STLFilSetFunction(vdm_STLFil *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to STLFil object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_STLFilAbort(vdm_STLFil *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_STLFilSetFunction().

Parameters:p – Pointer to STLFil object.
void vdm_STLFilDataFun(vdm_STLFil *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to STLFil object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.40. Tecplot file format - TecplotLib

The Tecplot file format is associated with the Tecplot visualization software from Tecplot Inc. The file format is supported for both reading and writing. Only the binary file format is supported. The Tecplot file usually contains a “.plt” suffix.

The methods associated with a TecplotLib object are the following.

Instance a TecplotLib object using vdm_TecplotLibBegin(). Once instanced set pointers to abstract data functions using vdm_TecplotLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_TecplotLibSetFunction().

The Tecplot reader supports both ordered and finite element zones. The node coordinate locations are assumed to have certain variable names. For example, the x coordinate is named X, x, X1, CoordinateX, X COORD, X(, X ( or XXX. Similar strings are used for the y and z coordinates. The user may specify variable name strings to be used for coordinate identification using the function vdm_TecplotLibSetCoordsNames(). The elements and nodes are assumed to be those contained in the zones with no shared connectivity lists. The PARTID.E dataset contains the zone number associated with each element. By default partid is assigned to each unique zone name. Use the VDM_CONVENTION_ALTPART to enable the assignment of a partid for each zone regardless of zone name.

Use the convention, VDM_CONVENTION_CONVERTPOLY to test polygon and polyhedron cells for conversion to a primitive shape. By default polygon and polyhedron are not tested.

A step identifier will be attached to all zones with shared connectivity lists. The interface assumes that each zone with no shared connectivity list will be referenced an equal number of times by zones with shared connectivity lists. If this condition is not met then a reader error will occur and reading will terminate. If there are no zones with shared connectivity lists, no step identifiers will be assigned. If there are zones with shared connectivity lists, the number of step identifiers will be one plus the number of times a zone is referenced by another zone as a shared connectivity list.

Any variable name which does not match the current list of Tecplot or VdmTools specific variable names will be imported as an unknown, SYS_RES_UNKNOWN, variable. The dataset name for the unknown variable will include the variable name, with underscores, “_”, substituted for blanks, immediately after the dataset root name (UNKNOWN). See section Finite Element Result Dataset Names and Descriptions for a description of VdmTools specific variable names. The variable names are the “Contents” string.

Supported Variable Names, Results

Tecplot Variable Name Dataset
body-force 0-1,2,3 BODY_FORCE
E ENERGY
Mach MACH
Mach_Number MACH
P PRES
RHO-U,V,W P
RHO DENS
T TEMP
Total_Temperature TEMP.[TOT]
Turbulent Viscosity VISC_EDDY
U,V,W V
VelocityX,Y,Z V
Wall shear-1,2,3 WALL_SHEAR

The Tecplot writer only supports binary Tecplot 11 format. The writer exports all nodes and elements as finite element zones. All higher order elements are converted to linear elements for output. A Tecplot zone must contain elements of similar topology. Therefore a zone is created for each group of topologically similar elements for each unique set of dataset identifiers. A zone will contain the values of all variables for the elements in the zone at the unique set of dataset identifiers.

Scalar, vector, symmetric tensor and element resultants results are exported. All element node results are converted to an element result for output. The Tecplot variable name is constructed from the RProp object result and qualifier types, the section number and data type component. Specifically, the undeformed node coordinates are written as variable names CoordinateX, CoordinateY and CoordinateZ.

5.40.1. Function Descriptions

The currently available TecplotLib functions are described in detail in this section.

vdm_TecplotLib *vdm_TecplotLibBegin(void)

create an instance of a TecplotLib object

Create an instance of a TecplotLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a TecplotLib object using

void vdm_TecplotLibEnd (vdm_TecplotLib *tecplotlib)

Return the current value of a TecplotLib object error flag using

Vint vdm_TecplotLibError (vdm_TecplotLib *tecplotlib)

Returns:The function returns a pointer to the newly created TecplotLib object. If the object creation fails, NULL is returned.
void vdm_TecplotLibEnd(vdm_TecplotLib *p)

destroy an instance of a TecplotLib object

See vdm_TecplotLibBegin()

Vint vdm_TecplotLibError(vdm_TecplotLib *p)

return the current value of a TecplotLib object error flag

See vdm_TecplotLibBegin()

void vdm_TecplotLibSetFunction(vdm_TecplotLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to TecplotLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_TecplotLibAbort(vdm_TecplotLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_TecplotLibSetFunction().

Parameters:p – Pointer to TecplotLib object.
void vdm_TecplotLibSetCoordsNames(vdm_TecplotLib *p, Vchar *xname, Vchar *yname, Vchar *zname)

set user specified coordinate variable names

Set variable names for x, y and z coordinates. If a character string argument is NULL or if it is a zero length string, the variable name is not set.

Parameters:
  • p – Pointer to TecplotLib object.
  • xname – Variable name of x coordinate
  • yname – Variable name of y coordinate
  • zname – Variable name of z coordinate
void vdm_TecplotLibDataFun(vdm_TecplotLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to TecplotLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.

5.41. Vtk Legacy and Vtu File Format - VTKLib

The Visualization ToolKit legacy and Vtu files are ASCII or binary files containing model and results data. VTKLib supports reading files in the VTK legacy format and writing files in the VTU format.

The methods associated with a VTKLib object are the following.

Instance a VTKLib object using vdm_VTKLibBegin(). Once instanced set pointers to abstract data functions using vdm_VTKLibDataFun(). If a callback function, such as a monitor function is to be used, register this function using vdm_VTKLibSetFunction().

Only vtk files with the same step id are combined into a single model; otherwise, each step id refers to a new adapted mesh. The PARTID.E dataset is set to a unique integer for each .vtk file. When exporting results in VTU format, If multiple steps are present, exporting in Vtu format will create a separate .vtu file for each step, along with a .pvd file that references all the .vtu files.

5.41.1. Function Descriptions

The currently available VTKLib functions are described in detail in this section.

vdm_VTKLib *vdm_VTKLibBegin(void)

create an instance of a VTKLib object

Create an instance of a VTKLib object. Memory is allocated for the object private data and the pointer to the data is returned.

Destroy an instance of a VTKLib object using

void vdm_VTKLibEnd (vdm_VTKLib *vtklib)

Return the current value of a VTKLib object error flag using

Vint vdm_VTKLibError (vdm_VTKLib *vtklib)

Returns:The function returns a pointer to the newly created VTKLib object. If the object creation fails, NULL is returned.
void vdm_VTKLibEnd(vdm_VTKLib *p)

destroy an instance of a VTKLib object

See vdm_VTKLibBegin()

Vint vdm_VTKLibError(vdm_VTKLib *p)

return the current value of a VTKLib object error flag

See vdm_VTKLibBegin()

void vdm_VTKLibSetFunction(vdm_VTKLib *p, Vint funtype, Vfunc *function, Vobject *object)

set a call back functions

Set callback functions. By default all callbacks are NULL. A callback is not invoked if it is NULL.

Parameters:
  • p – Pointer to VTKLib object.
  • funtype – Type of callback function to set
    x=SYS_FUNCTION_MONITOR     Monitor callback
    
  • function – Pointer to callback function
  • object – Pointer to the object to be returned as function argument
void vdm_VTKLibAbort(vdm_VTKLib *p)

set abort flag

Set abort flag. During the interface open process this flag is intermittently checked. If it has been set, the open process terminates and returns. The abort flag is usually set in the user defined callback function specified by vdm_VTKLibSetFunction().

Parameters:p – Pointer to VTKLib object.
void vdm_VTKLibDataFun(vdm_VTKLib *p, vdm_DataFun *datafun)

fill DataFun object

Fill a DataFun object with interface data functions.

Parameters:
  • p – Pointer to VTKLib object.
  • datafun – Pointer to DataFun object to be filled with data functions.
void vdm_VTKLibSetSearch(vdm_VTKLib *p, Vint search)

set user specified search types

Set search type. if search is VTKLIB_SEARCH_OFF (the default) then a single file is read.

If VTKLIB_SEARCH_MULTIDIR is specified, then the file being opened refers to a directory and all files with extension .vtk in this directory and any subdirectory will be read. It is assumed that file names terminate with an integer that specify a time step id.

A search type of VTKLIB_SEARCH_OPENFOAM refers to a particular file structure of VTK files generated by OpenFOAM. As with VTKLIB_SEARCH_MULTIDIR, the file being opened is a directory and all files with extension .vtk in this directory and any subdirectory will be read.

Parameters:
  • p – Pointer to VTKLib object.
  • search – Search type
    x=VTKLIB_SEARCH_OFF        Single file
     =VTKLIB_SEARCH_MULTIDIR   File is directory
     =VTKLIB_SEARCH_OPENFOAM   File is OpenFOAM style directory