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 file format
    

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

Force

XF

Temperature

TEMP

Energy-stiffness matrix

K_MAT

Volume

VOLUME

Stress

S

Strain

E

thermal dissipation energy

TE

Kinetic Energy

KE

Element nodal Forces

EN_FORC

Heat flux

HEAT_FLUX

Temperature Gradient

TEMP_GRAD

Acceleration

A

Velocity

V

Structural temperature

TEMP

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 no defining data will be filled with zeros if SYS_ON is enabled, the buffer not defining data are going to be filled with NODATAVAL

Parameters:
  • p – Pointer to DPFLib object.

  • mode – Vint of mode to be set : only available VDM_NODATAVALMODE

  • 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 File Format - VTKLib

The Visualization ToolKit legacy file is an ASCII file containing model and results data.

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.

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