Table of Contents

23. Properties and Functions - GProp,EProp,MProp,SProp,TCurve,RProp,UProp

The GProp, EProp, MProp and SProp modules are designed to manage global properties, element properties, material properties and solution properties. Global properties consist of quantities such as overall problem title, dimensionality, etc. Element properties consist of quantities such as shell element thickness, spring element stiffness, etc. Material properties consist of primitive material quantities such as Young's modulus, Poisson's ratio, coefficient of thermal expansion, thermal conductivity, etc. Solution properties consist of solution step parameters such as load case and restraint case identifiers, load factors, number of eigenvalues to be obtained, etc. All real property values are stored internally in double precision. The user may define and query property values in either single or double precision. The TCurve module manages tabular functions such as material data as a function of temperature or load factor as a function of time. The RProp module manages results properties. The UProp module manages user defined properties and is used strictly as an attribute object for other global modules.

Note that all property and function objects hold floating point data internally in double precision.

Table of Contents

23.1 Global Properties - GProp

The GProp module manages global properties such as problem title, physical constants, originating commercial vendor name, etc. The functions associated with a GProp object are the following.

Instance a GProp object initially using vis_GPropBegin. Specify integer valued properties using vis_GPropSetValuei. Specify character valued properties using vis_GPropSetValuec. Each property type is identified by a defined constant. The user queries for the number and type of properties defined using vis_GPropValueType. The data type and number of components associated with a property type is queried using vis_GPropValueParams. A long descriptive name which is hard-wired to each property type may be queried using vis_GPropValueName. Finally the property values themselves may be recovered using vis_GPropValueInteger, vis_GPropValueFloat or vis_GPropValueDouble.

The function vis_GPropValueFlag is used to determine if a property has been defined.

Each property has an associated data type, integer, character or real. There is assumed to be a single property value unless the C-language style dimensions are indicated. The full set of global properties are the following:

  SYS_XYPLANE, xy plane
  SYS_XZPLANE, xz plane
  SYS_XAXIS, x axis
  SYS_YAXIS, y axis
  SYS_ZAXIS, z axis
  SYS_PLANESTRAIN, plane strain
  SYS_PLANESTRESS, plane stress
  SYS_AXISYMMETRIC, axisymmetric
  SYS_AXISYMFOURIER, axisymmetric with Fourier modes
  SYS_VENDOR_UNKNOWN, unknown or not set
  SYS_VENDOR_VKI, Visual Kinematics
  SYS_VENDOR_MSC_NASTRAN, MSC Nastran
  SYS_VENDOR_ANSYS, Ansys
  SYS_VENDOR_ABAQUS, Abaqus
  SYS_VENDOR_LS_DYNA3D, LS-Dyna
  SYS_VENDOR_ALTAIR_OPTISTRUCT, Altair Optistruct
  SYS_VENDOR_NX_NASTRAN, NX Nastran
Note that the GProp object supports a general set of user defined properties. Use GPROP_USER_NUM with GPropSetValuei to set the number of user defined properties. This number may be repeated increased as user defined properties are entered. The user defined properties are referenced using the defined constants GPROP_USERDIMENUM, GPROP_USERDIME, GPROP_USERNAME, GPROP_USERDATATYPE and GPROP_USERDATA plus the ith-1 user defined property where 0 <= ith-1 < GPROP_USER_NUM. For example, the name of the 2nd user defined property is referenced with GPROP_USERNAME+1.

Each user defined property is a multidimensional array of integer, real or character values. Specify the number of dimensions using GPROP_USERDIMENUM and the size of each dimension using GPROP_USERDIME. The name of the user defined property is entered using GPROP_USERNAME. The datatype is specified using GPROP_USERDATATYPE and must be one of the values SYS_INTEGER, SYS_REAL and SYS_CHAR. A character valued user defined property must be a single dimension in which the dimension size is the length of the character data. The data associated with a user defined property is entered with GPROP_USERDATA. The number of data items required is the product of the specified dimensions.

Table of Contents

23.2 Function Descriptions

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


Table of Contents , GProp

NAME

*vis_GPropBegin - create an instance of a GProp object

C SPECIFICATION

vis_GProp *vis_GPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created GProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a GProp object using

     void vis_GPropEnd (vis_GProp *gprop)

Return the current value of a GProp object error flag using

     Vint vis_GPropError (vis_GProp *gprop)


Table of Contents , GProp

NAME

vis_GPropSetValuec - set character property

C SPECIFICATION

void vis_GPropSetValuec (vis_GProp *gprop,
                         Vint type,
                         Vchar *cvalue)

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Global property type
             =GPROP_TITLE             Title
             =GPROP_SUBTITLE          Subtitle
             =GPROP_ORIGCODE          Originating code
             =GPROP_ORIGVERSION       Originating code version
             =GPROP_ORIGDATE          Originating date
             =GPROP_ORIGTIME          Originating time
cvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Set a character valued property. The terminating null character, if present, is also set. Use vis_GPropValueString to return character valued properties as a string.


Table of Contents , GProp

NAME

vis_GPropSetValuei - set integer property

C SPECIFICATION

void vis_GPropSetValuei (vis_GProp *gprop,
                         Vint type,
                         Vint ivalue)

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Global property type
             =GPROP_2DPLANE           2D orientation plane
             =GPROP_2DTYPE            2D analysis type
             =GPROP_AUTOSPC           Auto SPC flag
             =GPROP_LIBRARY           VdmTools import library type
             =GPROP_USER_NUM          Number of user properties
             =GPROP_USERDIMENUM       Number of user dimensions
             =GPROP_USERDIME          Dimensions of user properties
             =GPROP_USERDATATYPE      Data type of user properties
             =GPROP_USERDATA          Data of user properties
             =GPROP_CYCLIC_NSEC       Number of cyclic sectors
ivalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Set an integer valued property. Use vis_GPropValueInteger to return integer valued properties.


Table of Contents , GProp

NAME

vis_GPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_GPropSetValuefv (vis_GProp *gprop,
                          Vint type,
                          Vfloat rvalue[])

void vis_GPropSetValuedv (vis_GProp *gprop,
                          Vint type,
                          Vdouble rvalue[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type
             =GPROP_CYCLIC_ORIG       Origin of cyclic system
             =GPROP_CYCLIC_AXIS       Axis (unit vector) cyclic system
             =GPROP_STEFAN_BOLTZMANN  Stefan Boltzmann constant
             =GPROP_ABSOLUTE_ZERO     Absolute Zero Temperature
             =GPROP_STIFF_DAMP        Structural Damping Coefficient
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the the number of values associated with the property type. Use vis_GPropValueFloat or vis_GPropValueDouble to return real valued properties.


Table of Contents , GProp

NAME

vis_GPropUnSetValue - unset property

C SPECIFICATION

void vis_GPropUnSetValue (vis_GProp *gprop,
                          Vint type)

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Unset a property.


Table of Contents , GProp

NAME

vis_GPropValueFlag - query property type defined

C SPECIFICATION

void vis_GPropValueFlag (vis_GProp *gprop,
                         Vint type,
                         Vint *flag)

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

flag         Flag indicating if property type defined or not
             =GPROP_UNDEFINED         Property value not defined
             =GPROP_VALUE             Property value defined

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for property definition. If a property value is not defined, GPROP_UNDEFINED is returned, if the property has been defined then GPROP_VALUE is returned.


Table of Contents , GProp

NAME

vis_GPropValueTypeNum - query number of property types

C SPECIFICATION

void vis_GPropValueType (vis_GProp *gprop,
                         Vint *ntypes)

INPUT ARGUMENTS

gprop        Pointer to GProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values

DESCRIPTION

Return number of defined property types, ntypes.


Table of Contents , GProp

NAME

vis_GPropValueType - query property types

C SPECIFICATION

void vis_GPropValueType (vis_GProp *gprop,
                         Vint *ntypes,
                         Vint type[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values
type         Array of property types

DESCRIPTION

Return number of property types, ntypes, and types, type, of all defined property types.


Table of Contents , GProp

NAME

vis_GPropValueParams - query property parameters

C SPECIFICATION

void vis_GPropValueParams (vis_GProp *gprop,
                           Vint type,
                           Vint *nval,
                           Vint *dtyp)

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

nval         Number of components
dtyp         Data type
             =SYS_CHAR     Character
             =SYS_INTEGER  Integer
             =SYS_FLOAT    Float (single or double precision)

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the number of components, number of locations and the data type associated with a property type.


Table of Contents , GProp

NAME

vis_GPropValueName - query property name

C SPECIFICATION

void vis_GPropValueName (vis_GProp *gprop,
                         Vint type,
                         Vchar name[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

name         Property name

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the built-in name associated with a property type. The character string will not exceed 64 characters including the terminating NULL character.


Table of Contents , GProp

NAME

vis_GPropValueFloat - query property float value

C SPECIFICATION

void vis_GPropValueFloat (vis_GProp *gprop,
                          Vint id,
                          Vfloat fparam[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
id           Property identifier

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Return a defined real valued property as float. If the value has not been defined, nothing is returned.


Table of Contents , GProp

NAME

vis_GPropValueDouble - query property double value

C SPECIFICATION

void vis_GPropValueDouble (vis_GProp *gprop,
                           Vint id,
                           Vdouble dparam[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
id           Property identifier

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified. specified.

DESCRIPTION

Return a defined real valued property as double. If the value has not been defined, nothing is returned.


Table of Contents , GProp

NAME

vis_GPropValueInteger - query property integer value

C SPECIFICATION

void vis_GPropValueInteger (vis_GProp *gprop,
                            Vint type,
                            Vint iparam[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , GProp

NAME

vis_GPropValueString - query property character value

C SPECIFICATION

void vis_GPropValueString (vis_GProp gprop,
                           Vint type,
                           Vchar cparam[])

INPUT ARGUMENTS

gprop        Pointer to GProp object.
type         Property type

OUTPUT ARGUMENTS

cparam       Character property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Return a defined character valued property as a string. If the value has not been defined, nothing is returned.


Table of Contents

23.3 Element Properties - EProp

The EProp module manages element properties such as shell element thickness which are not inherent in the nodal geometry of the element. A EProp module is designed to hold properties for a defined element class such as shell elements, beam elements, etc. Each element property of a given class has an associated number of element locations, number of components and data type. For example the thickness property of a shell element is a scalar real value which has 4 element locations corresponding to the 4 possible corners of a shell element. Integer valued element properties are always scalar values and have a single element location associated with the entire element. Optionally an element property may be defined to be a function of some independent variable such as temperature by relating an integer identifier with the element property. This integer identifier is assumed to be a key to a table or some function description which contains the element property as a function of an independent variable.

The functions associated with a EProp object are the following.

Instance a EProp object initially using vis_EPropBegin. The element property class is defined using vis_EPropDef. The property class is the type of element for which the properties are applicable such as shell elements, beam elements, gap elements, etc. Specify integer or real valued element properties using vis_EPropSetValuei, vis_EPropSetValueiv, vis_EPropSetValuef, vis_EPropSetValuefv, vis_EPropSetValued or vis_EPropSetValuedv. Specify character valued properties using vis_EPropSetValuec. Each element property type is identified by a defined constant. The user queries for the number and type of element properties defined using vis_EPropValueType. The data type, number of components and number of locations associated with a element property type is queried using vis_EPropValueParams. A long descriptive name which is hard-wired to each property type may be queried using vis_EPropValueName. Finally the property values themselves may be recovered using vis_EPropValueInteger, vis_EPropValueFloat or vis_EPropValueDouble. Properties which vary over the area or length of an element may be computed at element nodes using vis_EPropEval.

As an option to explicitly entering real values for a particular element property, an identifier may be associated with the property using vis_EPropSetValueId. This is useful when the element property values are not constant but instead are a function of an independent variable such as temperature. The function vis_EPropValueFlag is used to determine how a real valued element property has been defined, if at all. There are three possibilities: 1) not defined, 2) values defined and 3) identifier defined. If a property is defined using vis_EPropSetValuef or vis_EPropSetValuefv it is value defined, if it is defined using vis_EPropSetValueId it is identifier defined.

Currently supported element property classes are:

The number of values associated with a property type may be dependent upon the value of another property. If this is the case, the dependency is noted by including the property which determines the number of values in parentheses. If the property is defined at more than one location, the number of locations is enclosed in brackets. For example, properties associated with shell elements such as thickness require 4 locations. Properties are input in order of the values for location 1 followed by the values for location 2, etc. The full set of element properties are the following:

  SYS_DOF_TX, translation in x direction
  SYS_DOF_TY, translation in y direction
  SYS_DOF_TZ, translation in z direction
  SYS_DOF_RX, rotation in x direction
  SYS_DOF_RY, rotation in y direction
  SYS_DOF_RZ, rotation in z direction
  SYS_DOF_TEMP, temperature
  SYS_HEATEXCH_LINEAR, convection q = h*area*areafact*(T-Tamb)
  SYS_HEATEXCH_POW, convection q = h*area*areafact*(T-Tamb)**exp
  SYS_HEATEXCH_EXP, convection q = h*area*areafact*(T**exp-Tamb**exp)
  SYS_HEATEXCH_RAD, radiation q = sb*emis*area*areafact*(T**4-Tamb**4)
  SYS_RULE_GAUSS, Gaussian quadrature rule
  SYS_RULE_LOBATTO, Lobatto rule
  SYS_RULE_SIMPSON, Simpson's rule
  SYS_SHELLWALL_MONOCOQUE, Monocoque
  SYS_SHELLWALL_LAMINATE, Laminated
  SYS_BEAMSECT_PROPS, Generalized section properties
  SYS_BEAMSECT_GEOMETRY, Arbitrary geometry defined by closed loops
  SYS_BEAMSECT_SEGMENTS, Connected segments
  SYS_BEAMSECT_ANGLE, Angle
  SYS_BEAMSECT_BOX, Hollow box
  SYS_BEAMSECT_CHANNEL, Channel
  SYS_BEAMSECT_CIRCLE, Solid circle
  SYS_BEAMSECT_CROSS, Cross
  SYS_BEAMSECT_DBOX, Double hollow box
  SYS_BEAMSECT_ELLIPSE, Solid ellipse
  SYS_BEAMSECT_HAT, Hat
  SYS_BEAMSECT_HATG, Hat general
  SYS_BEAMSECT_HAT1, Hat with base
  SYS_BEAMSECT_HEXAGON, Hollow hexagon
  SYS_BEAMSECT_IBEAM, I beam
  SYS_BEAMSECT_PANEL, Panel
  SYS_BEAMSECT_RECTANGLE, Rectangle
  SYS_BEAMSECT_SECTOR, Solid sector
  SYS_BEAMSECT_TEE, Tee
  SYS_BEAMSECT_TRAPEZOID, Trapezoid
  SYS_BEAMSECT_TUBE, Hollow tube
  SYS_BEAMSECT_ZEE, Zee
  SYS_MATRIX_DIAG, Diagonal matrix
  SYS_MATRIX_SYMM, Symmetric matrix, lower triangle
Note that the EProp object supports a general set of user defined properties. Use EPROP_USER_NUM with EPropSetValuei to set the number of user defined properties. This number may be repeated increased as user defined properties are entered. The user defined properties are referenced using the defined constants EPROP_USERDIMENUM, EPROP_USERDIME, EPROP_USERNAME, EPROP_USERDATATYPE and EPROP_USERDATA plus the ith-1 user defined property where 0 <= ith-1 < EPROP_USER_NUM. For example, the name of the 2nd user defined property is referenced with EPROP_USERNAME+1.

Each user defined property is a multidimensional array of integer, real or character values. Specify the number of dimensions using EPROP_USERDIMENUM and the size of each dimension using EPROP_USERDIME. The name of the user defined property is entered using EPROP_USERNAME. The datatype is specified using EPROP_USERDATATYPE and must be one of the values SYS_INTEGER, SYS_REAL and SYS_CHAR. A character valued user defined property must be a single dimension in which the dimension size is the length of the character data. The data associated with a user defined property is entered with EPROP_USERDATA. The number of data items required is the product of the specified dimensions.

Table of Contents

23.4 Function Descriptions

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


Table of Contents , EProp

NAME

*vis_EPropBegin - create an instance of a EProp object

C SPECIFICATION

vis_EProp *vis_EPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created EProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a EProp object using

     void vis_EPropEnd (vis_EProp *eprop)

Return the current value of a EProp object error flag using

     Vint vis_EPropError (vis_EProp *eprop)

Make a copy of a EProp object. The private data from the fromeprop object is copied to the eprop object. Any previous private data in eprop is lost.

     void vis_EPropCopy (vis_EProp *eprop,
                         vis_EProp *fromeprop)


Table of Contents , EProp

NAME

vis_EPropDef - define class of element property

C SPECIFICATION

void vis_EPropDef (vis_EProp *eprop,
                   Vint class)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
class        Element property class
             =SYS_ELEM_SOLID          Solid element
             =SYS_ELEM_SHELL          Shell element
             =SYS_ELEM_MEMBRANE       Membrane element
             =SYS_ELEM_BEAM           Beam element
             =SYS_ELEM_TRUSS          Truss element
             =SYS_ELEM_GAP            Gap element
             =SYS_ELEM_INTER          Interface element
             =SYS_ELEM_RIGID          Rigid element
             =SYS_ELEM_MASS           Mass element
             =SYS_ELEM_SPRINGDASHPOT  Spring and dashpot element

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper class is specified.

DESCRIPTION

Define the element property class to be stored.

Inquire of defined class as an output argument using

     void vis_EPropInq (vis_EProp *eprop,
                        Vint *class)


Table of Contents , EProp

NAME

vis_EPropEval - evaluate properties at element nodes

C SPECIFICATION

void vis_EPropEval (vis_EProp *eprop,
                    Vint type,
                    Vint shape,
                    Vint maxi,
                    Vint maxj,
                    Vfloat value[])

void vis_EPropEvaldv (vis_EProp *eprop,
                      Vint type,
                      Vint shape,
                      Vint maxi,
                      Vint maxj,
                      Vdouble value[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element real property type
shape        The topological shape for the element
             =SYS_SHAPELINE          Line
             =SYS_SHAPETRI           Triangle
             =SYS_SHAPEQUAD          Quadrilateral
maxi         The number of points along the i direction.
             If maxi = 0 then the linear
             element form of the specified shape is assumed.
maxj         The number of points along the j direction.
             If maxj = 0 and 2 <= maxi <= 4, then a Serendipity
             finite element is assumed.
             If 2 <= maxj <= 4 and 2 <= maxi <= 4, then a Lagrange
             finite element is assumed.
             For triangle shapes, set either maxj = 0 or maxj = maxi.
             If shape is SYS_SHAPELINE, then maxj is ignored.

OUTPUT ARGUMENTS

value        Property values at element nodes.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_ENUM is generated if an improper shape is input. SYS_ERROR_VALUE is generated if an improper maxi or maxj is input. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Compute the values of a given property type at element nodes. If the number of locations associated with the element property type is 1, then the property values are assumed to be constant at all element nodes. The property values are ordered by the number of components first followed by the number of element nodes.


Table of Contents , EProp

NAME

vis_EPropSetValuec - set character property

C SPECIFICATION

void vis_EPropSetValuec (vis_EProp *eprop,
                         Vint type,
                         Vchar *cvalue)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element property type
             =EPROP_ELEMPOINT         Element point name
             =EPROP_ELEMLINE          Element line name
             =EPROP_ELEMTRI           Element triangle name
             =EPROP_ELEMQUAD          Element quadrilateral name
             =EPROP_ELEMTET           Element tetrahedron name
             =EPROP_ELEMPYR           Element pyramid name
             =EPROP_ELEMWED           Element wedge name
             =EPROP_ELEMHEX           Element hexahedron name
             =EPROP_USERNAME          Name of user properties
cvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Set a character valued property. The terminating null character, if present, is also set. Character valued properties are limited to 9 characters including terminating null character. If a null character is not encountered after 8 characters are copied, a terminating null is appended. Use vis_EPropValueString to return character valued properties as a string. This property is designed to associate a vendor specific element formulation to be used with a particular material.


Table of Contents , EProp

NAME

vis_EPropSetValuei - set integer property

C SPECIFICATION

void vis_EPropSetValuei (vis_EProp *eprop,
                         Vint type,
                         Vint ivalue)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element property type
             =EPROP_MID               Material Id
             =EPROP_MID_BEND          Material Id bending
             =EPROP_MID_TRAN          Material Id transverse shear
             =EPROP_MID_COUP          Material Id membrane bending coupling
             =EPROP_MATLCID           Material coordinate system Id
             =EPROP_DOFFLAG_NUM       Number of dof flags
             =EPROP_DOFFLAG_DEP       Dependent dof flags
             =EPROP_DOFFLAG_IND       Independent dof flags
             =EPROP_LAYER_NUM         Number of shell layers
             =EPROP_LAYER_GID         Shell layer global Id
             =EPROP_RULE              Integration rule
             =EPROP_BEAMSECT          Beam section type
             =EPROP_BEAMREFLECTY      Beam section reflect about y axis
             =EPROP_BEAMREFLECTZ      Beam section reflect about z axis
             =EPROP_BEAMPNTS_NUM      Beam section number of points
             =EPROP_BEAMLOOP_NUM      Beam section number of loops
             =EPROP_BEAMLOOP_PNTSNUM  Beam section loop number of points
             =EPROP_BEAMLOOP_TYPE     Beam section loop tpe
             =EPROP_BEAMLOOP_MID      Beam section loop material Id
             =EPROP_BEAMSEGS_NUM      Beam section number of segements
             =EPROP_SHELLWALL         Shell wall type
             =EPROP_SUPER_MASSTYPE    Super element mass type
             =EPROP_SUPER_STIFFTYPE   Super element stiffness type
             =EPROP_SUPER_ID          Super element Id
             =EPROP_USER_NUM          Number of user properties
             =EPROP_USERDIMENUM       Number of user dimensions
             =EPROP_USERDIME          Dimensions of user properties
             =EPROP_USERDATATYPE      Data type of user properties
             =EPROP_USERDATA          Data of user properties
ivalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Set an integer valued property. Use vis_EPropValueInteger to return integer valued properties.

If used with rigid elements, The EPROP_DOFFLAG_NUM integer property determines the number of locations for the EPROP_DOFFLAG_DEP and EPROP_DOFFLAG_IND properties.

If used with super elements, The EPROP_DOFFLAG_NUM integer property determines the number of locations for the EPROP_DOFFLAG_IND properties.

The EPROP_BEAMPNTS_NUM integer property determines the number of points for the EPROP_BEAMPNTS and EPROP_BEAMLOOP_PNTS properties. The EPROP_BEAMLOOP_NUM integer property determines the number of loops for the EPROP_BEAMLOOP_PNTSNUM, EPROP_BEAMLOOP_TYPE and EPROP_BEAMLOOP_MID properties.

The EPROP_BEAMSEGS_NUM integer property determines the number of segments for the EPROP_BEAMSEGS_THICK and EPROP_BEAMSEGS_PNTS properties.


Table of Contents , EProp

NAME

vis_EPropSetValueiv - set integer properties

C SPECIFICATION

void vis_EPropSetValueiv (vis_EProp *eprop,
                          Vint type,
                          Vint ivalue[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Element property type
ivalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set integer valued properties for a type where an array of integers is required. The number of entries in the array must be known to EProp prior to calling this function. Use vis_EPropValueInteger to return integer valued properties.


Table of Contents , EProp

NAME

vis_EPropSetValuef - set real valued property

C SPECIFICATION

void vis_EPropSetValuef (vis_EProp *eprop,
                         Vint type,
                         Vfloat rvalue)

void vis_EPropSetValued (vis_EProp *eprop,
                         Vint type,
                         Vdouble rvalue)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element property type
             =EPROP_THICKNESS         Thickness
             =EPROP_OFFSET            Offset
             =EPROP_KS                Effective shear ratio
             =EPROP_AREA              Area
             =EPROP_IYY               Moment of inertia about y axis
             =EPROP_IZZ               Moment of inertia about z axis
             =EPROP_IYZ               Product of inertia
             =EPROP_J                 Torsional constant
             =EPROP_KSY               Effective shear factor along y axis
             =EPROP_KSZ               Effective shear factor along z axis
             =EPROP_DSY               Shear center offset along y axis
             =EPROP_DSZ               Shear center offset along z axis
             =EPROP_EMIS              Emissivity
             =EPROP_OFFSETY           Offset along y axis
             =EPROP_OFFSETZ           Offset along z axis
             =EPROP_NSM               Nonstructural mass
             =EPROP_SRBOT             Fiber distance - bottom
             =EPROP_SRTOP             Fiber distance - top
             =EPROP_SRC               Section location - C(y,z)
             =EPROP_SRD               Section location - D(y,z)
             =EPROP_SRE               Section location - E(y,z)
             =EPROP_SRF               Section location - F(y,z)
             =EPROP_BEAMDIME          Beam section dimensions
             =EPROP_BEAMROTANGLE      Beam section rotation angle
             =EPROP_BEAMPNTS          Beam section points
             =EPROP_BEAMLOOP_PNTS     Beam section all loop points
             =EPROP_BEAMSEGS_THICK    Beam section segement thickness
             =EPROP_BEAMSEGS_PNTS     Beam section segment points
             =EPROP_PENALTY           Penalty factor
             =EPROP_DOFFLAG_WGTS      Weighting factors
             =EPROP_SUPER_MASS        Super element mass matrix
             =EPROP_SUPER_STIFF       Super element stiffness matrix
             =EPROP_SUPER_TRANS       Super element translation
             =EPROP_SUPER_ORIGIN      Super element origin
             =EPROP_SUPER_DIRCOS      Super element direction cosines
             =EPROP_USERDATA          Data of user properties
rvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set a real valued property. The real valued property is set for all element locations associated with the property type. Use vis_EPropValueFloat or vis_EPropValueDouble to return real valued properties.


Table of Contents , EProp

NAME

vis_EPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_EPropSetValuefv (vis_EProp *eprop,
                          Vint type,
                          Vfloat rvalue[])

void vis_EPropSetValuedv (vis_EProp *eprop,
                          Vint type,
                          Vdouble rvalue[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element property type, same as vis_EPropSetValuef
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the number of locations times the number of components associated with the property type. For example, the property type EPROP_THICKNESS would require 4 values - a scalar value for each of 4 shell element corners. Use vis_EPropValueParams to query for the number of locations and components assumed for a property type. Use vis_EPropValueFloat or vis_EPropValueDouble to return real valued properties.


Table of Contents , EProp

NAME

vis_EPropSetValueId - set property identifier value

C SPECIFICATION

void vis_EPropSetValueId (vis_EProp *eprop,
                          Vint type,
                          Vint id)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Element property type, same as vis_EPropSetValuef
id           Property identifier

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set an identifier value for real valued properties.


Table of Contents , EProp

NAME

vis_EPropUnSetValue - unset property

C SPECIFICATION

void vis_EPropUnSetValue (vis_EProp *eprop,
                          Vint type)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Unset a property.


Table of Contents , EProp

NAME

vis_EPropValueFlag - query element property type defined

C SPECIFICATION

void vis_EPropValueFlag (vis_EProp *eprop,
                         Vint type,
                         Vint *flag)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

flag         Flag indicating if property type defined or not
             =EPROP_UNDEFINED         Property value not defined
             =EPROP_VALUE             Property real value defined
             =EPROP_IDENTIFIER        Property identifier defined

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for element property definition. If a property value is not defined, EPROP_UNDEFINED is returned, if the property has been defined by value using vis_EPropSetValuef or vis_EPropSetValuefv then EPROP_VALUE is returned, if the property is defined by an identifier value using vis_EPropSetValueId then EPROP_IDENTIFIER is returned.


Table of Contents , EProp

NAME

vis_EPropValueTypeNum - query number of property types

C SPECIFICATION

void vis_EPropValueType (vis_EProp *eprop,
                         Vint *ntypes)

INPUT ARGUMENTS

eprop        Pointer to EProp object.

OUTPUT ARGUMENTS

type         Array of property types

DESCRIPTION

Return number of defined element property types, ntypes.


Table of Contents , EProp

NAME

vis_EPropValueType - query element property types

C SPECIFICATION

void vis_EPropValueType (vis_EProp *eprop,
                         Vint *ntypes,
                         Vint type[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values
type         Array of property types

DESCRIPTION

Return number of element property types, ntypes, and types, type, of all defined element property types.


Table of Contents , EProp

NAME

vis_EPropValueParams - query element property parameters

C SPECIFICATION

void vis_EPropValueParams (vis_EProp *eprop,
                           Vint type,
                           Vint *nval,
                           Vint *nloc,
                           Vint *dtyp)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

nval         Number of components
nloc         Number of locations
dtyp         Data type
             =SYS_CHAR     Character
             =SYS_INTEGER  Integer
             =SYS_FLOAT    Float (single or double precision)

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the number of components, number of locations and the data type associated with a property type.


Table of Contents , EProp

NAME

vis_EPropValueName - query element property name

C SPECIFICATION

void vis_EPropValueName (vis_EProp *eprop,
                         Vint type,
                         Vchar name[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

name         Property name

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the built-in name associated with a property type. The character string will not exceed 64 characters including the terminating NULL character.


Table of Contents , EProp

NAME

vis_EPropValueInteger - query element property integer value

C SPECIFICATION

void vis_EPropValueInteger (vis_EProp *eprop,
                            Vint type,
                            Vint iparam[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , EProp

NAME

vis_EPropValueFloat - query element property float value

C SPECIFICATION

void vis_EPropValueFloat (vis_EProp *eprop,
                          Vint type,
                          Vfloat fparam[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as float. The number of values returned is equal to the number of components times the number of locations associated with the specified type. If the value has not been defined, nothing is returned.


Table of Contents , EProp

NAME

vis_EPropValueDouble - query element property double value

C SPECIFICATION

void vis_EPropValueDouble (vis_EProp *eprop,
                           Vint type,
                           Vdouble dparam[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as double. The number of values returned is equal to the number of components times the number of locations associated with the specified type. If the value has not been defined, nothing is returned.


Table of Contents , EProp

NAME

vis_EPropValueString - query property character value

C SPECIFICATION

void vis_EPropValueString (vis_EProp eprop,
                           Vint type,
                           Vchar cparam[])

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

cparam       Character property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Return a defined character valued property as a string. A string is limited to 9 characters including the terminating null character. If the value has not been defined, nothing is returned.


Table of Contents , EProp

NAME

vis_EPropValueId - query property identifier value

C SPECIFICATION

void vis_EPropValueId (vis_EProp *eprop,
                       Vint type,
                       Vint *id)

INPUT ARGUMENTS

eprop        Pointer to EProp object.
type         Property type

OUTPUT ARGUMENTS

id           Identifier property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return the identifier value of a property. If an identifier value has not been defined for the property nothing is returned. Use vis_EPropSetValueId to set an identifier value.


Table of Contents

23.5 Material Properties - MProp

The MProp module manages material properties such as elastic or thermal material properties. A MProp module is designed to hold properties for a defined material class such as linear isotropic, plastic, etc. Each material property of a given class has an associated number of components and data type such as integer or real. For example the elastic modulus property of a linear orthotropic material has 3 real valued components. Integer valued material properties are always scalar values. Optionally a material property may be defined to be a function of some independent variable such as temperature by relating an integer identifier with the material property. This integer identifier is assumed to be a key to a table or some function description which contains the material property as a function of temperture.

The functions associated with a MProp object are the following.

Instance a MProp object initially using vis_MPropBegin. The material property class is defined using vis_MPropDef. The property class is the type of material for which the properties are applicable such as linear isotropic, anisotropic, etc. Specify integer or real valued material properties using vis_MPropSetValuei, vis_MPropSetValuef, vis_MPropSetValuefv, vis_MPropSetValued or vis_MPropSetValuedv. Each material property type is identified by a defined constant. The user queries for the number and type of material properties defined using vis_MPropValueType. The data type and number of components associated with a material property type are queried using vis_MPropValueParams. A long descriptive name which is hard-wired to each property type may be queried using vis_MPropValueName. Finally the property values themselves may be recovered using vis_MPropValueInteger, vis_MPropValueFloat or vis_MPropValueDouble.

As an option to explicitly entering real values for a particular material property, a table identifier may be associated with the property using vis_MPropSetValueId. This is useful when the material property values are not constant but instead are a function of an independent variable such as temperature. The function vis_MPropValueFlag is used to determine how a real valued material property has been defined, if at all. There are three possibilities: 1) not defined, 2) values defined and 3) identifier defined. If a property is defined using using vis_MPropSetValuef or vis_MPropSetValuefv it is value defined, if it is defined using vis_MPropSetValueId it is identifier defined.

Currently supported material property classes are:

The full set of material properties are the following:

Table of Contents

23.6 Function Descriptions

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


Table of Contents , MProp

NAME

*vis_MPropBegin - create an instance of a MProp object

C SPECIFICATION

vis_MProp *vis_MPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created MProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a MProp object using

     void vis_MPropEnd (vis_MProp *mprop)

Return the current value of a MProp object error flag using

     Vint vis_MPropError (vis_MProp *mprop)

Make a copy of a MProp object. The private data from the frommprop object is copied to the mprop object. Any previous private data in mprop is lost.

     void vis_MPropCopy (vis_MProp *mprop,
                         vis_MProp *frommprop)


Table of Contents , MProp

NAME

vis_MPropDef - define class of material property

C SPECIFICATION

void vis_MPropDef (vis_MProp *mprop,
                   Vint class)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
class        Material property class
             =SYS_MAT_ISOTROPIC       Linear isotropic
             =SYS_MAT_ORTHOTROPIC     Linear orthotropic
             =SYS_MAT_ANISOTROPIC     Linear anisotropic
             =SYS_MAT_HYPERELASTIC    Hyperelastic

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper class is specified.

DESCRIPTION

Define the material property class to be stored.

Inquire of defined class as an output argument using

     void vis_MPropInq (vis_MProp *mprop,
                        Vint *class)


Table of Contents , MProp

NAME

vis_MPropSetValuei - set integer property

C SPECIFICATION

void vis_MPropSetValuei (vis_MProp *mprop,
                         Vint type,
                         Vint ivalue)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Material property type
ivalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Set an integer valued property. Use vis_MPropValueInteger to return integer valued properties.


Table of Contents , MProp

NAME

vis_MPropSetValuef - set real valued property

C SPECIFICATION

void vis_MPropSetValuef (vis_MProp *mprop,
                         Vint type,
                         Vfloat rvalue)

void vis_MPropSetValued (vis_MProp *mprop,
                         Vint type,
                         Vdouble rvalue)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Material property type
             =MPROP_DENSITY           Density
             =MPROP_E                 Young's Modulus
             =MPROP_NU                Poisson's Ratio
             =MPROP_A                 Thermal Expansion Coefficient
             =MPROP_GE                Structural Damping Coefficient
             =MPROP_TREF              Reference Temperature
             =MPROP_EORT              Young's Modulus (x,y,z)
             =MPROP_NUORT             Poisson's Ratio (xy,yz,xz)
             =MPROP_GORT              Shear Modulus (xy,yz,zx)
             =MPROP_AORT              Thermal Expansion Coefficient (x,y,z)
             =MPROP_DMAT              D Matrix (6x6 sym)
             =MPROP_AVEC              A Vector (6)
             =MPROP_K                 Thermal Conductivity
             =MPROP_CP                Specific Heat
             =MPROP_HGEN              Heat Generation Capability
             =MPROP_EREF              Reference Enthalpy
             =MPROP_KORT              Thermal Conductivity (x,y,z)
             =MPROP_KMAT              K Matrix (3x3 sym)
             =MPROP_BULK              Bulk Modulus
             =MPROP_SOUND             Speed of Sound
             =MPROP_VISCOSITY         Viscosity
rvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set a real valued property. The real valued property is set for all components associated with the property type. Use vis_MPropValueFloat or vis_MPropValueDouble to return real valued properties.


Table of Contents , MProp

NAME

vis_MPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_MPropSetValuefv (vis_MProp *mprop,
                          Vint type,
                          Vfloat rvalue[])

void vis_MPropSetValuedv (vis_MProp *mprop,
                          Vint type,
                          Vdouble rvalue[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Material property type, same as vis_MPropSetValuef
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the the number of components associated with the property type. For example, the property type MPROP_EORT would require 3 values - a value for each of 3 principal material directions. Use vis_MPropValueParams to query for the number of components assumed for a property type. Use vis_MPropValueFloat or vis_MPropValueDouble to return real valued properties.


Table of Contents , MProp

NAME

vis_MPropSetValueId - set property identifier value

C SPECIFICATION

void vis_MPropSetValueId (vis_MProp *mprop,
                          Vint type,
                          Vint id)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type, same as vis_MPropSetValuef
id           Property identifier

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Set an identifier value for real valued properties.


Table of Contents , MProp

NAME

vis_MPropUnSetValue - unset property

C SPECIFICATION

void vis_MPropUnSetValue (vis_MProp *mprop,
                          Vint type)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Unset a property.


Table of Contents , MProp

NAME

vis_MPropValueFlag - query material property type defined

C SPECIFICATION

void vis_MPropValueFlag (vis_MProp *mprop,
                         Vint type,
                         Vint *flag)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

flag         Flag indicating if property type defined or not
             =MPROP_UNDEFINED         Property value not defined
             =MPROP_VALUE             Property real value defined
             =MPROP_IDENTIFIER        Property identifier defined

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for material property definition. If a property value is not defined, MPROP_UNDEFINED is returned, if the property has been defined by value using vis_MPropSetValuef or vis_MPropSetValuefv then MPROP_VALUE is returned, if the property is defined by an identifier value using vis_MPropSetValueId then MPROP_IDENTIFIER is returned.


Table of Contents , MProp

NAME

vis_MPropValueTypeNum - query number of property types

C SPECIFICATION

void vis_MPropValueType (vis_MProp *mprop,
                         Vint *ntypes)

INPUT ARGUMENTS

mprop        Pointer to MProp object.

OUTPUT ARGUMENTS

type         Array of property types

DESCRIPTION

Return number of defined material property types, ntypes.


Table of Contents , MProp

NAME

vis_MPropValueType - query material property types

C SPECIFICATION

void vis_MPropValueType (vis_MProp *mprop,
                         Vint *ntypes,
                         Vint type[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values
type         Array of property types

DESCRIPTION

Return number of material property types, ntypes, and types, type, of all defined material property types.


Table of Contents , MProp

NAME

vis_MPropValueParams - query material property parameters

C SPECIFICATION

void vis_MPropValueParams (vis_MProp *mprop,
                           Vint type,
                           Vint *nval,
                           Vint *dtyp)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

nval         Number of components
dtyp         Data type
             =SYS_CHAR     Character
             =SYS_INTEGER  Integer
             =SYS_FLOAT    Float (single or double precision)

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the number of components and the data type associated with a property type.


Table of Contents , MProp

NAME

vis_MPropValueName - query material property name

C SPECIFICATION

void vis_MPropValueName (vis_MProp *mprop,
                         Vint type,
                         Vchar name[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

name         Property name

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the built-in name associated with a property type. The character string will not exceed 64 characters including the terminating NULL character.


Table of Contents , MProp

NAME

vis_MPropValueInteger - query material property integer value

C SPECIFICATION

void vis_MPropValueInteger (vis_MProp *mprop,
                            Vint type,
                            Vint iparam[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , MProp

NAME

vis_MPropValueFloat - query material property float value

C SPECIFICATION

void vis_MPropValueFloat (vis_MProp *mprop,
                          Vint type,
                          Vfloat fparam[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as float. The number of values returned is equal to the number of components associated with the specified type. If the value has not been defined, nothing is returned.


Table of Contents , MProp

NAME

vis_MPropValueDouble - query material property double value

C SPECIFICATION

void vis_MPropValueDouble (vis_MProp *mprop,
                           Vint type,
                           Vdouble dparam[])

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as double. The number of values returned is equal to the number of components associated with the specified type. If the value has not been defined, nothing is returned.


Table of Contents , MProp

NAME

vis_MPropValueId - query property identifier value

C SPECIFICATION

void vis_MPropValueId (vis_MProp *mprop,
                       Vint type,
                       Vint *id)

INPUT ARGUMENTS

mprop        Pointer to MProp object.
type         Property type

OUTPUT ARGUMENTS

id           Identifier property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return the identifier value of a property. If an identifier value has not been defined for the property nothing is returned. Use vis_MPropSetValueId to set an identifier value.


Table of Contents

23.7 Solution Properties - SProp

The SProp module manages solution properties such as load case identifiers and convergence tolerances, etc. A SProp module is designed to hold properties for a defined solution class such as statics, buckling or vibration. Each solution property of a given class has an associated number of components and data type. For example the number of eigenvalues property of a vibration analysis solution has 1 integer valued component.

The functions associated with a SProp object are the following.

Instance a SProp object initially using vis_SPropBegin. The solution property class is defined using vis_SPropDef. The property class is the type of solution for which the properties are applicable such as statics, vibration, etc. Specify integer or real valued solution properties using vis_SPropSetValuei, vis_SPropSetValueiv, vis_SPropSetValuef, vis_SPropSetValuefv, vis_SPropSetValued or vis_SPropSetValuedv. Specify character valued properties using vis_SPropSetValuec. Each solution property type is identified by a defined constant. The user queries for the number and type of solution properties defined using vis_SPropValueType. The data type and number of components associated with a solution property type is queried using vis_SPropValueParams. A long descriptive name which is hard-wired to each property type may be queried using vis_SPropValueName. Finally the property values themselves may be recovered using vis_SPropValueInteger, vis_SPropValueFloat, vis_SPropValueDouble or vis_SPropValueString.

Currently supported solution property classes are:

The number of values associated with a property type may be dependent upon the value of another property. If this is the case, the dependency is noted by including the property which determines the number of values in parentheses. The full set of solution properties are the following:

  SYS_ANALYSIS_STRUCTURAL, Structural
  SYS_ANALYSIS_THERMAL, Thermal
  SYS_ANALYSIS_THERMAL, Thermal
  SYS_EIGEN_NONE, No eigenvalues
  SYS_EIGEN_ALL, All eigenvalues in interval
  SYS_EIGEN_LOWEST, Lowest eigenvalues in interval
  SYS_EIGEN_NEAREST, Eigenvalues nearest to shift
  SYS_EIGEN_SUBSPACE, Subspace
  SYS_EIGEN_LANCZOS, Lanczos
  SYS_EIGEN_NORMMASS, Normalize to generalized mass
  SYS_EIGEN_NORMMAX, Normalize to largest vector component
  SPROP_FREQ_RANGE, Frequency range
  SPROP_FREQ_EIGEN, Frequency eigenvalues
  SPROP_MODALDAMP_CRITFRAC, Fraction of critical damping
  SPROP_MODALDAMP_RAYLEIGH, Rayleigh alpha,beta damping
  SYS_RES_D, Displacement
  SYS_RES_R, Reaction force
  SYS_RES_XF, External applied force
  SYS_RES_S, Stress
  SYS_RES_E, Strain
  SYS_RES_SE, Strain energy
  SYS_RES_SE_DENSITY, Strain energy density
  SYS_RES_SFM, Stress and moment resultant
  SYS_RES_SEK, Strain and curvature
  SYS_RES_SF, Element force
  SYS_RES_SD, Element displacement
  SYS_RES_TEMP, Temperature
  SYS_RES_R_HEAT_FLOW, Reaction heat flow
  SYS_RES_TEMP_GRAD, Temperature gradient
  SYS_RES_HEAT_FLUX, Heat flux
Note that the SProp object supports a general set of user defined properties. The methodology is similar to the user defined properties in the EProp object. Substitute SPROP for EPROP in all defined constants.

Table of Contents

23.8 Function Descriptions

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


Table of Contents , SProp

NAME

*vis_SPropBegin - create an instance of a SProp object

C SPECIFICATION

vis_SProp *vis_SPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created SProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a SProp object using

     void vis_SPropEnd (vis_SProp *sprop)

Return the current value of a SProp object error flag using

     Vint vis_SPropError (vis_SProp *sprop)

Make a copy of a SProp object. The private data from the fromsprop object is copied to the sprop object. Any previous private data in sprop is lost.

     void vis_SPropCopy (vis_SProp *sprop,
                         vis_SProp *fromsprop)


Table of Contents , SProp

NAME

vis_SPropDef - define class of solution property

C SPECIFICATION

void vis_SPropDef (vis_SProp *sprop,
                   Vint class)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
class        Solution property class
             =SYS_SOL_STATIC          Static or steady state
             =SYS_SOL_VIBRATION       Vibration
             =SYS_SOL_BUCKLING        Buckling
             =SYS_SOL_TRANSIENT       Transient or unsteady
             =SYS_SOL_SUPERELEMENT    Superelement
             =SYS_SOL_FREQRESPONSE    Frequency response
             =SYS_SOL_COMPLEXEIGEN    Complex eigenvalue
             =SYS_SOL_OUTPUT          Compute output
             =SYS_SOL_SINGULAR        Singular modes

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper class is specified.

DESCRIPTION

Define the solution property class to be stored.

Inquire of defined class as an output argument using

     void vis_SPropInq (vis_SProp *sprop,
                        Vint *class)


Table of Contents , SProp

NAME

vis_SPropSetValuec - set character property

C SPECIFICATION

void vis_SPropSetValuec (vis_SProp *sprop,
                         Vint type,
                         Vchar *cvalue)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Solution property type
             =SPROP_TITLE             Title
             =SPROP_SUBTITLE          Subtitle
             =SPROP_LABEL             Label
             =SPROP_SUBLABEL          Sublabel
cvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type.

DESCRIPTION

Set a character valued property. The terminating null character, if present, is also set. Character valued properties are limited to 81 characters including terminating null character. If a null character is not encountered after 80 characters are copied, a terminating null is appended. Use vis_SPropValueString to return character valued properties as a string.


Table of Contents , SProp

NAME

vis_SPropSetValuei - set integer property

C SPECIFICATION

void vis_SPropSetValuei (vis_SProp *sprop,
                         Vint type,
                         Vint ivalue)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Solution property type
             =SPROP_ANALYSIS          Analysis type
             =SPROP_COUPLED_NUM       Number of additional coupled analyses
             =SPROP_COUPLED           Coupled analysis type
             =SPROP_CASEID            Case Id
             =SPROP_EIGEN_NUM         Number of eigenvalues
             =SPROP_ESET_DELETE       Element set of deleted elements
             =SPROP_MASSDIAG          Diagonal mass flag
             =SPROP_LCASE_MODE        Load cases as superelement modes
             =SPROP_LCASE_UNIT        Load cases as individual unit loads
             =SPROP_LCASE_NUM         Number of load cases
             =SPROP_LCASE             Load case Id
             =SPROP_LCASE_TCURVE      Time curve Id
             =SPROP_RCASE             Restraint case Id
             =SPROP_MCASE             Multipoint constraint case Id
             =SPROP_ICASE             Initial condition case Id
             =SPROP_RESFILE_NUM       Number of filed result quantities
             =SPROP_RESFILE           Filed result quantity
             =SPROP_RESFILE_FREQ      Filed result frequency
             =SPROP_RESFILE_NSET      Result node set
             =SPROP_RESFILE_ESET      Result element set
             =SPROP_RESPRINT_NUM      Number of printed result quantities
             =SPROP_RESPRINT          Printed results quantity
             =SPROP_HISTFILE_NUM      Number of history quantities
             =SPROP_HISTFILE          History quantity
             =SPROP_HISTFILE_FREQ     History frequency
             =SPROP_HISTFILE_SET      History entity set
             =SPROP_EIGEN_TYPE        Eigenvalue interval type
             =SPROP_ITERMAX           Iteration maximum
             =SPROP_LHSITER_FREQ      Matrix reform iteration frequency
             =SPROP_LHSSTEP_FREQ      Matrix reform step frequency
             =SPROP_TIME_STEPFIXED    Time step fixed flag
ivalue       Property value
             =SYS_ANALYSIS_STRUCTURAL Structural analysis type
             =SYS_ANALYSIS_THERMAL    Thermal analysis type
             =SYS_EIGEN_NONE          No eigenvalues
             =SYS_EIGEN_ALL           All eigenvalues in interval
             =SYS_EIGEN_LOWEST        Lowest eigenvalues in interval
             =SYS_EIGEN_NEAREST       Eigenvalues nearest to shift
             =SYS_ON                  Flag enabled
             =SYS_OFF                 Flag disabled

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set an integer valued property. Use vis_SPropValueInteger to return integer valued properties.


Table of Contents , SProp

NAME

vis_SPropSetValueiv - set integer properties

C SPECIFICATION

void vis_SPropSetValueiv (vis_SProp *sprop,
                          Vint type,
                          Vint ivalue[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Solution property type
             =SPROP_COUPLED           Coupled analysis types
             =SPROP_LCASE             Load case Ids
             =SPROP_LCASE_TCURVE      Time curve Ids
             =SPROP_RESFILE           Filed result quantities
             =SPROP_RESPRINT          Printed results quantities
             =SPROP_HISTFILE          History quantities
             =SPROP_HISTFILE_SET      History entity sets
ivalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set integer valued properties. Use vis_SPropValueInteger to return integer valued properties.


Table of Contents , SProp

NAME

vis_SPropSetValuef - set real valued property

C SPECIFICATION

void vis_SPropSetValuef (vis_SProp *sprop,
                         Vint type,
                         Vfloat rvalue)

void vis_SPropSetValued (vis_SProp *sprop,
                         Vint type,
                         Vdouble rvalue)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Solution property type
             =SPROP_DAMP_ALPHA        Stiffness proportional damping factor
             =SPROP_DAMP_BETA         Mass proportional damping factor
             =SPROP_LCASE_FACTOR      Load case factor
             =SPROP_RCASE_FACTOR      Restraint case factor
             =SPROP_MASS_FACTOR       Mass factor
             =SPROP_TIME_INIT         Time initial
             =SPROP_TIME_STEP         Time step
             =SPROP_TIME_TERM         Time termination
             =SPROP_TIME_STEPMIN      Time step minimum
             =SPROP_TIME_STEPMAX      Time step maximum
             =SPROP_FTOL              Force convergence tolerance
             =SPROP_UTOL              Displacement convergence tolerance
rvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a real valued property. The real valued property is set for all components associated with the property type. Use vis_SPropValueFloat or vis_SPropValueDouble to return real valued properties.


Table of Contents , SProp

NAME

vis_SPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_SPropSetValuefv (vis_SProp *sprop,
                          Vint type,
                          Vfloat rvalue[])

void vis_SPropSetValuedv (vis_SProp *sprop,
                          Vint type,
                          Vdouble rvalue[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Solution property type, same as vis_SPropSetValuef
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the the number of values associated with the property type. Use vis_SPropValueParams to query for the number of values associated with a property type. Use vis_SPropValueFloat or vis_SPropValueDouble to return real valued properties.


Table of Contents , SProp

NAME

vis_SPropUnSetValue - unset property

C SPECIFICATION

void vis_SPropUnSetValue (vis_SProp *sprop,
                          Vint type)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Unset a property.


Table of Contents , SProp

NAME

vis_SPropValueFlag - query solution property type defined

C SPECIFICATION

void vis_SPropValueFlag (vis_SProp *sprop,
                         Vint type,
                         Vint *flag)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

flag         Flag indicating if property type defined or not

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query if solution property type has been defined.


Table of Contents , SProp

NAME

vis_SPropValueTypeNum - query number of solution property types

C SPECIFICATION

void vis_SPropValueType (vis_SProp *sprop,
                         Vint *ntypes)

INPUT ARGUMENTS

sprop        Pointer to SProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values

DESCRIPTION

Return number of defined solution property types, ntypes.


Table of Contents , SProp

NAME

vis_SPropValueType - query solution property types

C SPECIFICATION

void vis_SPropValueType (vis_SProp *sprop,
                         Vint *ntypes,
                         Vint type[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values
type         Array of property types

DESCRIPTION

Return number of solution property types, ntypes, and types, type, of all defined solution property types.


Table of Contents , SProp

NAME

vis_SPropValueParams - query solution property parameters

C SPECIFICATION

void vis_SPropValueParams (vis_SProp *sprop,
                           Vint type,
                           Vint *nval,
                           Vint *dtyp)

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

nval         Number of components
dtyp         Data type
             =SYS_CHAR     Character
             =SYS_INTEGER  Integer
             =SYS_FLOAT    Float (single or double precision)

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the number of values and the data type associated with a property type.


Table of Contents , SProp

NAME

vis_SPropValueName - query solution property name

C SPECIFICATION

void vis_SPropValueName (vis_SProp *sprop,
                         Vint type,
                         Vchar name[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

name         Property name

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the built-in name associated with a property type. The character string will not exceed 64 characters including the terminating NULL character.


Table of Contents , SProp

NAME

vis_SPropValueInteger - query solution property integer value

C SPECIFICATION

void vis_SPropValueInteger (vis_SProp *sprop,
                            Vint type,
                            Vint iparam[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , SProp

NAME

vis_SPropValueFloat - query solution property float value

C SPECIFICATION

void vis_SPropValueFloat (vis_SProp *sprop,
                          Vint type,
                          Vfloat fparam[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as float. If the value has not been defined, nothing is returned.


Table of Contents , SProp

NAME

vis_SPropValueDouble - query solution property double value

C SPECIFICATION

void vis_SPropValueDouble (vis_SProp *sprop,
                           Vint type,
                           Vdouble dparam[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as double. If the value has not been defined, nothing is returned.


Table of Contents , SProp

NAME

vis_SPropValueString - query solution property character value

C SPECIFICATION

void vis_SPropValueString (vis_SProp *sprop,
                           Vint type,
                           Vchar cparam[])

INPUT ARGUMENTS

sprop        Pointer to SProp object.
type         Property type

OUTPUT ARGUMENTS

cparam       Character property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Return a defined character valued property as a string. A string is limited to 81 characters including the terminating null character. If the value has not been defined, nothing is returned.


Table of Contents

23.9 Tabular Functions - TCurve

The TCurve module manages tabular data as a function of an independent variable. This module is useful for storing material data as a function of temperature or load factors as a function of time, etc.

The functions associated with a TCurve object are the following.

Instance a TCurve object initially using vis_TCurveBegin. The function type is defined using vis_TCurveDef. Currently the only function type supported is piecewise linear. The function may be vector valued.

The function is usually entered in tabular form using vis_TCurveSetPWLinear. Once a function is defined, the number of points in the function can be queried using vis_TCurveNum. The values of the independent variable for which the function is defined may be queried using vis_TCurveIndep. The function itself may be evaluated at any value of the independent variable using vis_TCurveEval. A function may be defined as a combination of any number of other functions by merging the functions using vis_TCurveMerge. By default the function is evaluated at values outside of the range of the independent variable using linear extrapolation. Use the function vis_TCurveSetParami to clamp values outside of the range of the independent variable.

The evaluation function, CURVE, is of the following form, use vis_TCurveSetFactor to set the Scale, Offset, Divisor and Shift factors.

   f = Scale*CURVE((t - Offset)/Divisor) - Shift

Table of Contents

23.10 Function Descriptions

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


Table of Contents , TCurve

NAME

*vis_TCurveBegin - create an instance of a TCurve object

C SPECIFICATION

vis_TCurve *vis_TCurveBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created TCurve object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a TCurve object using

     void vis_TCurveEnd (vis_TCurve *tcurve)

Return the current value of a TCurve object error flag using

     Vint vis_TCurveError (vis_TCurve *tcurve)


Table of Contents , TCurve

NAME

vis_TCurveDef - define class of tabular functions

C SPECIFICATION

void vis_TCurveDef (vis_TCurve *tcurve,
                    Vint type,
                    Vint nval)

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
type         Function type
             =TCURVE_PWLINEAR         Piecewise linear function
nval         Dimension of vector valued function

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_VALUE is generated if an improper nval is specified.

DESCRIPTION

Specify the type of function and the dimension of the function, nval. For a scalar function of an independent variable enter nval = 1. Use vis_TCurveSetPWLinear to enter the values of the function for all values of the independent variable. Use vis_TCurveMerge to define a function as the combination of functions.

Inquire of defined type and nval as output arguments using

     void vis_TCurveInq (vis_TCurve *tcurve,
                         Vint *type,
                         Vint *nval)


Table of Contents , TCurve

NAME

vis_TCurveNum - query number of points on curve

C SPECIFICATION

void vis_TCurveNum (vis_TCurve *tcurve,
                    Vint *npts)

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.

OUTPUT ARGUMENTS

npts         Number of points on function curve.

DESCRIPTION

Query for the number of values of the independent variable for which the function is defined.


Table of Contents , TCurve

NAME

vis_TCurveSetFactor - set table factors

C SPECIFICATION

void vis_TCurveSetFactor (vis_TCurve *tcurve,
                          Vint type,
                          Vfloat param)
void vis_TCurveSetFactord (vis_TCurve *tcurve,
                           Vint type,
                           Vdouble param)

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
ptype        Type of curve factor to set
             =TCURVE_SCALE           Scale
             =TCURVE_SHIFT           Shift
             =TCURVE_DIVISOR         Divisor
             =TCURVE_OFFSET          Offset
param       Specifies the value that type will be set to.

OUTPUT ARGUMENTS

None

ERRORS

VIS_ERROR_ENUM is generated if an improper type is specified. VIS_ERROR_VALUE is generated if a zero TCURVE_DIVISOR is specified.

DESCRIPTION

Specify curve factor. The CURVE evaluation function is of the following form:
   f = Scale*CURVE((t - Offset)/Divisor) - Shift
By default TCURVE_SCALE is set to 1., TCURVE_SHIFT is set to 0., TCURVE_DIVISOR is set to 1. and TCURVE_OFFSET is set to 0.


Table of Contents , TCurve

NAME

vis_TCurveIndep - query for values of independent variable

C SPECIFICATION

void vis_TCurveIndep (vis_TCurve *tcurve,
                      Vint npts,
                      Vint pts[],
                      Vfloat t[])

void vis_TCurveIndepdv (vis_TCurve *tcurve,
                        Vint npts,
                        Vint pts[],
                        Vdouble t[])

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
npts         Number of points on function curve to return.
pts          Array of point indices

OUTPUT ARGUMENTS

t            Values of independent variable

DESCRIPTION

Query for the values of the independent variable, t, for which the function is defined. The point indices, pts, are indexed starting from 1.


Table of Contents , TCurve

NAME

vis_TCurveEval - evaluate function

C SPECIFICATION

void vis_TCurveEval (vis_TCurve *tcurve,
                     Vint npts,
                     Vfloat t[],
                     Vfloat f[])

void vis_TCurveEvaldv (vis_TCurve *tcurve,
                       Vint npts,
                       Vdouble t[],
                       Vdouble f[])

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
npts         Number of points to evaluate
t            Values of independent variable

OUTPUT ARGUMENTS

f            Values of function

DESCRIPTION

Evaluation function at npts values t of the independent variable.


Table of Contents , TCurve

NAME

vis_TCurveMerge - merge functions

C SPECIFICATION

void vis_TCurveMerge (vis_TCurve *tcurve,
                      Vint num,
                      vis_TCurve *tcurvex[])

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
num          Number of functions to merge
tcurvex      Array of pointers to TCurve objects to merge

OUTPUT ARGUMENTS

None

DESCRIPTION

Define a function as a combination of num functions, tcurvex. The dimension of the function, tcurve, defined using vis_TCurveDef must be equal to the sum of the dimensions of the num functions tcurvex. The number of values of the independent variable will be equal to the union of the values of the functions tcurvex. The function, tcurve, must be of type piece wise linear.


Table of Contents , TCurve

NAME

vis_TCurveSetParami - set integer parameters

C SPECIFICATION

void vis_TCurveSetParami (vis_TCurve *tcurve,
                          Vint ptype,
                          Vint iparam)

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
ptype        Type of parameter to set
             =TCURVE_EXTRAPOLATE     Extrapolate flag
iparam       Specifies the integer value that ptype will be set to.

OUTPUT ARGUMENTS

None

ERRORS

VIS_ERROR_ENUM is generated if an improper ptype is specified.

DESCRIPTION

Specify curve evaluation parameters. The parameter TCURVE_EXTRAPOLATE toggles the linear extrapolation of values outside of the range of input independent variables in the function vis_TCurveEval. If this parameter is disabled then function values are clamped to the extreme dependent values if evaluated outside the range of input independent variables. By default TCURVE_EXTRAPOLATE is set to SYS_ON.


Table of Contents , TCurve

NAME

vis_TCurveSetPWLinear - set piecewise linear curve

C SPECIFICATION

void vis_TCurveSetPWLinear (vis_TCurve *tcurve,
                            Vint npts,
                            Vfloat t[],
                            Vfloat f[])

void vis_TCurveSetPWLineardv (vis_TCurve *tcurve,
                              Vint npts,
                              Vdouble t[],
                              Vdouble f[])

INPUT ARGUMENTS

tcurve       Pointer to TCurve object.
npts         Number of points for which function is defined
t            Array of values of independent variable
f            Array of values of function

OUTPUT ARGUMENTS

None

DESCRIPTION

Define a function as a piece wise linear function at npts values of the independent variable, t. The function values are input as a vector valued function of dimension, nval, at each of npts points. The dimension, nval, is the value specified in vis_TCurveDef.


Table of Contents

23.11 Results Properties - RProp

The RProp module manages results properties such as results type, section number, load and/or time step numbers, etc.

The functions associated with a RProp object are the following.

Instance a RProp object initially using vis_RPropBegin. The result property parent and child entity types are defined using vis_RPropDef. The primary result properties are the result type, analysis and solution type and numeric identifiers. The result type specifies the physical interpretation, such as displacment, temperature, stress, strain, etc. The result type is set using vis_RPropSetType. If the result type is unknown, SYS_RES_UNKNOWN, then the result auxiliary string should be specified using vis_RPropSetQual. This string is required to ensure that multiple unknown result types can be uniquely described.

The analysis type specifies the basic analysis domain such as structural, thermal, fluid, etc. The analysis type is set using vis_RPropSetAnalysis. The solution type specifies problem domain such as static, transient, vibration, buckling, etc. The solution type is set using vis_RPropSetSolution. The mode type is set using vis_RPropSetMode. The mode type is used to disambiguate various result quantities which may be generated during a specific analysis and solution type. The numeric identifiers indicate time step number, vibration mode number, subcase id, etc. The numeric identifiers are interpreted differently depending upon the type of analysis that produced the results. The numeric identifiers are set using vis_RPropSetIds. If the dataset contains imaginary or phase data, then the complex flag should be enabled using vis_RPropSetCplx. If the dataset is a history result, then the history flag should be enabled using vis_RPropSetHist.

In addition to the primary results, additional, result dependent, properties such as frequency, load factor, time, etc. may be specified. Set integer or real valued results properties using vis_RPropSetValuei, vis_RPropSetValueiv, vis_RPropSetValuef, vis_RPropSetValuefv, vis_RPropSetValued or vis_RPropSetValuedv. Specify character valued properties using vis_RPropSetValuec. Each property type is identified by a defined constant. The user queries for the number and type of properties defined using vis_RPropValueType. The data type and number of components associated with a property type is queried using vis_RPropValueParams. A long descriptive name which is hard-wired to each property type may be queried using vis_RPropValueName. Finally the property values themselves may be recovered using vis_RPropValueInteger, vis_RPropValueFloat, vis_RPropValueDouble or vis_RPropValueString.

If the RProp object is being used in conjunction with the VdmTools library, then each RProp object is mapped to a dataset and of the result dependent properties are mapped to dataset attributes. The full set of additional properties are as follows. The VdmTools dataset attribute name is shown in parentheses.

Table of Contents

23.12 Function Descriptions

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


Table of Contents , RProp

NAME

*vis_RPropBegin - create an instance of a RProp object

C SPECIFICATION

vis_RProp *vis_RPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created RProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a RProp object using

     void vis_RPropEnd (vis_RProp *rprop)

Return the current value of a RProp object error flag using

     Vint vis_RPropError (vis_RProp *rprop)

Make a copy of a RProp object. The private data from the fromrprop object is copied to the rprop object. Any previous private data in rprop is lost.

     void vis_RPropCopy (vis_RProp *rprop,
                         vis_RProp *fromrprop)


Table of Contents , RProp

NAME

vis_RPropDef - define entity types

C SPECIFICATION

void vis_RPropDef (vis_RProp *rprop,
                   Vint parenttype,
                   Vint childtype)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
parenttype   Type of parent entity
             =SYS_ELEM     Element type
             =SYS_NODE     Node type
             =SYS_FACE     Element Face type
             =SYS_EDGE     Element Edge type
             =SYS_DOF      Degree of Freedom type
             =SYS_PARTICLE Particle type
childtype    Type of child entity.
             =SYS_NONE     No child entity
             =SYS_NODE     Node type
             =SYS_INTPNT   Element Integration Point

OUTPUT ARGUMENTS

None

ERRORS

VIS_ERROR_ENUM is generated if an improper parenttype or childtype is specified.

DESCRIPTION

Define the result entity types.

Inquire of defined parenttype and childtype as output arguments using

     void vis_RPropInq (vis_RProp *rprop,
                        Vint *parenttype,
                        Vint *childtype)


Table of Contents , RProp

NAME

vis_RPropSetAnalysis - set analysis type

C SPECIFICATION

void vis_RPropSetAnalysis (vis_RProp *rprop,
                           Vint analysis)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
analysis     Analysis type
             =SYS_ANALYSIS_STRUCTURAL Structural analysis type
             =SYS_ANALYSIS_THERMAL    Thermal analysis type
             =SYS_ANALYSIS_FLUID      Fluid analysis type

OUTPUT ARGUMENTS

None

DESCRIPTION

Set analysis type, analysis. By default the analysis type is SYS_ANALYSIS_STRUCTURAL.


Table of Contents , RProp

NAME

vis_RPropSetCplx - set complex flag

C SPECIFICATION

void vis_RPropSetCplx (vis_RProp *rprop,
                       Vint cplx)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
cplx         Complex flag
             =SYS_OFF      Disable
             =SYS_ON       Enable

OUTPUT ARGUMENTS

None

DESCRIPTION

Set complex flag, cplx. The complex flag indicates that the dataset contains imaginary or phase data. By default the complex flag is disabled.

Inquire of set cplx as an output argument using

     void vis_RPropGetCplx (vis_RProp *rprop,
                            Vint *cplx)


Table of Contents , RProp

NAME

vis_RPropSetDatasetIndex - set dataset index

C SPECIFICATION

void vis_RPropSetDatasetIndex (vis_RProp *rprop,
                               Vint *dsindex)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
dsindex      Dataset index

OUTPUT ARGUMENTS

None

DESCRIPTION

Set dataset index, dsindex. The dataset index is used if results data is loaded using VdmTools.
                                                                           
Inquire of set dsindex as an output argument using
     void vis_RPropGetDatasetIndex (vis_RProp *rprop,
                                    Vchar dsindex)


Table of Contents , RProp

NAME

vis_RPropSetDatasetName - set dataset name

C SPECIFICATION

void vis_RPropSetDatasetName (vis_RProp *rprop,
                              Vchar *dsname)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
dsname       Dataset name

OUTPUT ARGUMENTS

None

DESCRIPTION

Set dataset name, dsname. The dataset name is used if results data is loaded or saved using VdmTools.

Inquire of set dsname as an output argument using

     void vis_RPropGetDatasetName (vis_RProp *rprop,
                                   Vchar dsname[])


Table of Contents , RProp

NAME

vis_RPropSetHist - set history flag

C SPECIFICATION

void vis_RPropSetHist (vis_RProp *rprop,
                       Vint hist)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
hist         History flag
             =SYS_OFF      Disable
             =SYS_ON       Enable

OUTPUT ARGUMENTS

None

DESCRIPTION

Set history flag, hist. The history flag indicates that the dataset contains a history result. By default the history flag is disabled.

Inquire of set hist as an output argument using

     void vis_RPropGetHist (vis_RProp *rprop,
                            Vint *hist)


Table of Contents , RProp

NAME

vis_RPropSetIds - set numeric identifiers

C SPECIFICATION

void vis_RPropSetIds (vis_RProp *rprop,
                      Vint id1, id2, id3)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
id1,id2,id3  Numeric identifiers

OUTPUT ARGUMENTS

None

DESCRIPTION

Set numeric identifiers, id1,id2,id3. These values are used to indicate load or time step number, buckling mode number, etc.

Inquire of set id1, id2 and id3 as output arguments using

     void vis_RPropGetIds (vis_RProp *rprop,
                           Vint *id1, *id2, *id3)


Table of Contents , RProp

NAME

vis_RPropSetMode - set result type mode

C SPECIFICATION

void vis_RPropSetMode (vis_RProp *rprop,
                       Vint mode)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
mode         Result type mode.
             =SYS_CATEGORY_NONE       No specfic category
             =SYS_CATEGORY_BUCK       Buckling mode
             =SYS_CATEGORY_VIBE       Vibration mode
             =SYS_CATEGORY_STAT       Static mode
             =SYS_CATEGORY_TRAN       Transient mode
             =SYS_CATEGORY_CONS       Constraint mode
             =SYS_CATEGORY_CONC       Nodal attachment mode
             =SYS_CATEGORY_DIST       Distributed attachment mode
             =SYS_CATEGORY_INERTIA    Inertia attachment mode
             =SYS_CATEGORY_EFFINERTIA Effective Inertia attachment mode
             =SYS_CATEGORY_RIGID      Rigid mode
             =SYS_CATEGORY_LOAD       Load mode

OUTPUT ARGUMENTS

None

DESCRIPTION

Set result mode. This is used to disambiguate result quantities which may be generated given a specific analysis and solution type.

Inquire of set mode as an output argument using

     void vis_RPropGetMode (vis_RProp *rprop,
                            Vint *mode)


Table of Contents , RProp

NAME

vis_RPropSetQual - set result type qualifiers

C SPECIFICATION

void vis_RPropSetQual (vis_RProp *rprop,
                       Vint nqua,
                       Vint iqua[],
                       Vchar *cqua)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
nqua         Number of qualifier types
iqua         Array of nqua qualifier types
cqua         Optional generic qualifier string

OUTPUT ARGUMENTS

None

DESCRIPTION

Set result qualifiers. The result qualifiers are meant to qualifier the basic result type set by vis_RPropSetType. See section VdmTools, Finite Element Result Dataset Names and Descriptions for a complete list of supported result qualifier types.

Inquire of set result qualifiers as output arguments using

     void vis_RPropGetQual (vis_RProp *rprop,
                            Vint *nqua,
                            Vint iqua[],
                            Vchar *cqua)


Table of Contents , RProp

NAME

vis_RPropSetSolution - set solution type

C SPECIFICATION

void vis_RPropSetSolution (vis_RProp *rprop,
                           Vint solution)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
solution     Solution type
             =SYS_SOL_STATIC          Static or steady state
             =SYS_SOL_VIBRATION       Vibration
             =SYS_SOL_BUCKLING        Buckling
             =SYS_SOL_TRANSIENT       Transient or unsteady
             =SYS_SOL_SUPERELEMENT    Superelement
             =SYS_SOL_FREQRESPONSE    Frequency response
             =SYS_SOL_COMPLEXEIGEN    Complex eigenvalue
             =SYS_SOL_OUTPUT          Compute output
             =SYS_SOL_SINGULAR        Singular modes

OUTPUT ARGUMENTS

None

DESCRIPTION

Set solution type, solution. By default the solution type is SYS_SOL_STATIC.

Inquire of set solution as an output argument using

     void vis_RPropGetSolution (vis_RProp *rprop,
                                Vint *solution)


Table of Contents , RProp

NAME

vis_RPropSetType - set result type

C SPECIFICATION

void vis_RPropSetType (vis_RProp *rprop,
                       Vint type)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Result type
             =SYS_RES_D               Displacement
             =SYS_RES_XF              External applied force
             =SYS_RES_R               Reaction force
             =SYS_RES_V               Velocity
             =SYS_RES_A               Acceleration
             =SYS_RES_HEAT_FLUX       Heat flux
             =SYS_RES_TEMP            Temperature
             =SYS_RES_PRES            Pressure
             =SYS_RES_TEMP_GRAD       Temperature gradient
             =SYS_RES_E               Strain
             =SYS_RES_S               Stress
             =SYS_RES_SE              Strain energy
             =SYS_RES_SE_DENSITY      Strain energy density
             =SYS_RES_SE_ERROR        Strain energy error
             =SYS_RES_SF              Element force
             =SYS_RES_SD              Element displacement
             =SYS_RES_SFM             Stress and moment resultant
             =SYS_RES_SEK             Strain and curvature
             =SYS_RES_TE              Thermal energy
             =SYS_RES_TE_DENSITY      Thermal energy density
             =SYS_RES_TE_ERROR        Thermal energy error
             =SYS_RES_THICKNESS       Element thickness

OUTPUT ARGUMENTS

None

ERRORS

VIS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Set result type, type. The result type is meant to indicate the basic physical interpretation of the result data. The above list of result types is only a partial list. See section VdmTools, Finite Element Result Dataset Names and Descriptions for a complete list of supported result types.

Inquire of set type as an output argument using

     void vis_RPropGetType (vis_RProp *rprop,
                            Vint *type)


Table of Contents , RProp

NAME

vis_RPropUnSetValue - Unset property

C SPECIFICATION

void vis_RPropUnSetValue (vis_RProp *rprop,
                          Vint type)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Unset a property.


Table of Contents , RProp

NAME

vis_RPropSetValuec - set character property

C SPECIFICATION

void vis_RPropSetValuec (vis_RProp *rprop,
                         Vint type,
                         Vchar *cvalue)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type
             =RPROP_TITLE             Title
             =RPROP_SUBTITLE          Subtitle
             =RPROP_SUBTITLE1         Subtitle1
             =RPROP_SUBTITLE2         Subtitle2
             =RPROP_SUBTITLE3         Subtitle3
             =RPROP_SUBTITLE4         Subtitle4
             =RPROP_LABEL             Label
             =RPROP_SUBLABEL          Sublabel
             =RPROP_CONTENTS          Contents
             =RPROP_DATATYPE          DataType
             =RPROP_COMPLEX           Complex
             =RPROP_LINK_ROTANG       Link.RotAng
             =RPROP_LINK_CID          Link.Cid
             =RPROP_LINK_COMPLEX      Link.Complex
             =RPROP_LINK_SECTION      Link.Section
             =RPROP_LINK_LAYERS       Link.Layers
             =RPROP_DATASOURCE        DataSource
             =RPROP_STRAINTYPE        StrainType
             =RPROP_CATEGORY          Category
cvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Set a character valued property. The terminating null character, if present, is also set. Character valued properties are limited to 81 characters including terminating null character. If a null character is not encountered after 80 characters are copied, a terminating null is appended. Use vis_RPropValueString to return character valued properties as a string.


Table of Contents , RProp

NAME

vis_RPropSetValuei - set integer property

C SPECIFICATION

void vis_RPropSetValuei (vis_RProp *rprop,
                         Vint type,
                         Vint ivalue)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type
             =RPROP_LOADCASE          LoadCase
ivalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Set an integer valued property. Use vis_RPropValueInteger to return integer valued properties.


Table of Contents , RProp

NAME

vis_RPropSetValueiv - set integer properties

C SPECIFICATION

void vis_RPropSetValueiv (vis_RProp *rprop,
                          Vint type,
                          Vint ivalue[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type
ivalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a integer valued properties. Use vis_RPropValueInteger to return integer valued properties.


Table of Contents , RProp

NAME

vis_RPropSetValuef - set real valued property

C SPECIFICATION

void vis_RPropSetValuef (vis_RProp *rprop,
                         Vint type,
                         Vfloat rvalue)

void vis_RPropSetValued (vis_RProp *rprop,
                         Vint type,
                         Vdouble rvalue)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type
             =RPROP_LOADFACTOR        LoadFactor
             =RPROP_FREQUENCY         Frequency
             =RPROP_EIGENVALUE        Eigenvalue
             =RPROP_TIME              Time
             =RPROP_TIMESTEP          TimeStep
             =RPROP_AMPLITUDE         Amplitude
             =RPROP_PHASE             Phase
             =RPROP_GENERALIZEDMASS   GeneralizedMass
rvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a real valued property. The real valued property is set for all components associated with the property type. Use vis_RPropValueFloat or vis_RPropValueDouble to return real valued properties.


Table of Contents , RProp

NAME

vis_RPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_RPropSetValuefv (vis_RProp *rprop,
                          Vint type,
                          Vfloat rvalue[])

void vis_RPropSetValuedv (vis_RProp *rprop,
                          Vint type,
                          Vdouble rvalue[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type, same as vis_RPropSetValuef
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if type is an improper data type or the length of type has not been defined.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the the number of values associated with the property type. Use vis_RPropValueParams to query for the number of values associated with a property type. Use vis_RPropValueFloat or vis_RPropValueDouble to return real valued properties.


Table of Contents , RProp

NAME

vis_RPropValueFlag - query property type defined

C SPECIFICATION

void vis_RPropValueFlag (vis_RProp *rprop,
                         Vint type,
                         Vint *flag)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

flag         Flag indicating if property type defined or not

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query if property type has been defined.


Table of Contents , RProp

NAME

vis_RPropValueType - query property types

C SPECIFICATION

void vis_RPropValueType (vis_RProp *rprop,
                         Vint *ntypes,
                         Vint type[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.

OUTPUT ARGUMENTS

ntypes       Number of types of property values
type         Array of property types

DESCRIPTION

Return number of property types, ntypes, and types, type, of all defined property types. The maximum number of types which may be returned is RPROP_MAX.


Table of Contents , RProp

NAME

vis_RPropValueParams - query property parameters

C SPECIFICATION

void vis_RPropValueParams (vis_RProp *rprop,
                           Vint type,
                           Vint *nval,
                           Vint *dtyp)

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

nval         Number of components
dtyp         Data type
             =SYS_CHAR     Character
             =SYS_INTEGER  Integer
             =SYS_FLOAT    Float (single or double precision)

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the number of values and the data type associated with a property type.


Table of Contents , RProp

NAME

vis_RPropValueName - query property name

C SPECIFICATION

void vis_RPropValueName (vis_RProp *rprop,
                         Vint type,
                         Vchar name[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

name         Property name

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified.

DESCRIPTION

Query for the built-in name associated with a property type. The character string will not exceed 64 characters including the terminating NULL character.


Table of Contents , RProp

NAME

vis_RPropValueInteger - query property integer value

C SPECIFICATION

void vis_RPropValueInteger (vis_RProp *rprop,
                            Vint type,
                            Vint iparam[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non integer valued type is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , RProp

NAME

vis_RPropValueFloat - query property float value

C SPECIFICATION

void vis_RPropValueFloat (vis_RProp *rprop,
                          Vint type,
                          Vfloat fparam[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as float. If the value has not been defined, nothing is returned.


Table of Contents , RProp

NAME

vis_RPropValueDouble - query property double value

C SPECIFICATION

void vis_RPropValueDouble (vis_RProp *rprop,
                           Vint type,
                           Vdouble dparam[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non real valued type is specified.

DESCRIPTION

Return a defined real valued property as double. If the value has not been defined, nothing is returned.


Table of Contents , RProp

NAME

vis_RPropValueString - query property character value

C SPECIFICATION

void vis_RPropValueString (vis_RProp *rprop,
                           Vint type,
                           Vchar cparam[])

INPUT ARGUMENTS

rprop        Pointer to RProp object.
type         Property type

OUTPUT ARGUMENTS

cparam       Character property.

ERRORS

SYS_ERROR_ENUM is generated if an improper type is specified. SYS_ERROR_OPERATION is generated if a non character valued type is specified.

DESCRIPTION

Return a defined character valued property as a string. A string is limited to 81 characters including the terminating null character. If the value has not been defined, nothing is returned.


Table of Contents

23.13 User Defined Properties - UProp

The UProp module manages user defined properties and is used strictly as an attribute object for other global modules such as IdTran. A UProp module is designed to hold integer, real and character values which are assigned a user defined name and are associated with a one-based index.

The functions associated with a UProp object are the following.

Instance a UProp object initially using vis_UPropBegin. Any number of user defined properties may be specified, each of which is assigned a user defined one-based identifier. The name, number of values and data type of a property are specified using vis_UPropSetType. Specify integer or real valued property data using vis_UPropSetValuei, vis_UPropSetValueiv, vis_UPropSetValuef, vis_UPropSetValuefv, vis_UPropSetValued or vis_UPropSetValuedv. Specify character valued properties using vis_UPropSetValuec.

The property specifications for a particular identifier may be queried using vis_UPropGetType. The property values themselves may be recovered using vis_UPropValueInteger, vis_UPropValueFloat, vis_UPropValueDouble or vis_UPropValueString.

Table of Contents

23.14 Function Descriptions

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


Table of Contents , UProp

NAME

*vis_UPropBegin - create an instance of a UProp object

C SPECIFICATION

vis_UProp *vis_UPropBegin ()

ARGUMENTS

None

FUNCTION RETURN VALUE

The function returns a pointer to the newly created UProp object. If the object creation fails, NULL is returned.

DESCRIPTION

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

Destroy an instance of a UProp object using

     void vis_UPropEnd (vis_UProp *uprop)

Return the current value of a UProp object error flag using

     Vint vis_UPropError (vis_UProp *uprop)


Table of Contents , UProp

NAME

vis_UPropSetType - set property name, dimension and data type

C SPECIFICATION

void vis_UPropSetType (vis_UProp *uprop,
                       Vint id,
                       Vchar *name,
                       Vint nval,
                       Vint datatype)

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
name         Property name
nval         Number of property values
datatype     Data type of property value
             =SYS_INTEGER  Integer, type Vint
             =SYS_FLOAT    Single precision, type Vfloat
             =SYS_CHAR     Character, type Vchar
             =SYS_DOUBLE   Double precision, type Vdouble

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Specify the name, number of values and datatype of a user defined property associated with indentifier, id.

Inquire of defined name, nval, and datatype as output arguments using

     void vis_UPropSetType (vis_UProp *uprop,
                            Vint id,
                            Vchar *name,
                            Vint *nval,
                            Vint *datatype)


Table of Contents , UProp

NAME

vis_UPropSetValuec - set character property

C SPECIFICATION

void vis_UPropSetValuec (vis_UProp *uprop,
                         Vint id,
                         Vchar *cvalue)

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
cvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Set a character valued property. The terminating null character, if present, is also set. Character valued properties are limited to 81 characters including terminating null character. If a null character is not encountered after 80 characters are copied, a terminating null is appended. Use vis_UPropValueString to return character valued properties as a string.


Table of Contents , UProp

NAME

vis_UPropSetValuei - set integer property

C SPECIFICATION

void vis_UPropSetValuei (vis_UProp *uprop,
                         Vint id,
                         Vint ivalue)

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
ivalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Set an integer valued property. Use vis_UPropValueInteger to return integer valued properties.


Table of Contents , UProp

NAME

vis_UPropSetValueiv - set integer properties

C SPECIFICATION

void vis_UPropSetValueiv (vis_UProp *uprop,
                          Vint id,
                          Vint ivalue[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
ivalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Set a integer valued properties. Use vis_UPropValueInteger to return integer valued properties.


Table of Contents , UProp

NAME

vis_UPropSetValuef - set real valued property

C SPECIFICATION

void vis_UPropSetValuef (vis_UProp *uprop,
                         Vint id,
                         Vfloat rvalue)

void vis_UPropSetValued (vis_UProp *uprop,
                         Vint id,
                         Vdouble rvalue)

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
rvalue       Property value

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Set a real valued property. The real valued property is set for all components associated with the property type. Use vis_UPropValueFloat or vis_UPropValueDouble to return real valued properties.


Table of Contents , UProp

NAME

vis_UPropSetValuefv - set real valued properties

C SPECIFICATION

void vis_UPropSetValuefv (vis_UProp *uprop,
                          Vint id,
                          Vfloat rvalue[])

void vis_UPropSetValuedv (vis_UProp *uprop,
                          Vint id,
                          Vdouble rvalue[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier
rvalue       Property values

OUTPUT ARGUMENTS

None

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Set a real valued properties. The number of properties expected in rvalue is equal to the the number of values associated with the property type. Use vis_UPropValueParams to query for the number of values associated with a property type. Use vis_UPropValueFloat or vis_UPropValueDouble to return real valued properties.


Table of Contents , UProp

NAME

vis_UPropNum - query number of user defined properties

C SPECIFICATION

void vis_UPropNum (vis_UProp *uprop,
                   Vint *num)

INPUT ARGUMENTS

uprop        Pointer to UProp object.

OUTPUT ARGUMENTS

num          Number of user defined properties

DESCRIPTION

Return number of user defined properties.


Table of Contents , UProp

NAME

vis_UPropValueInteger - query defined property integer value

C SPECIFICATION

void vis_UPropValueInteger (vis_UProp *uprop,
                            Vint id,
                            Vint iparam[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier

OUTPUT ARGUMENTS

iparam       Integer property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Return a defined integer valued property. If the value has not been defined, nothing is returned.


Table of Contents , UProp

NAME

vis_UPropValueFloat - query defined property float value

C SPECIFICATION

void vis_UPropValueFloat (vis_UProp *uprop,
                          Vint id,
                          Vfloat fparam[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier

OUTPUT ARGUMENTS

fparam       Float property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Return a defined real valued property as float. If the value has not been defined, nothing is returned.


Table of Contents , UProp

NAME

vis_UPropValueDouble - query defined property double value

C SPECIFICATION

void vis_UPropValueDouble (vis_UProp *uprop,
                           Vint id,
                           Vdouble dparam[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier

OUTPUT ARGUMENTS

dparam       Double property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified. specified.

DESCRIPTION

Return a defined real valued property as double. If the value has not been defined, nothing is returned.


Table of Contents , UProp

NAME

vis_UPropValueString - query defined property character value

C SPECIFICATION

void vis_UPropValueString (vis_UProp *uprop,
                           Vint id,
                           Vchar cparam[])

INPUT ARGUMENTS

uprop        Pointer to UProp object.
id           Property identifier

OUTPUT ARGUMENTS

cparam       Character property.

ERRORS

SYS_ERROR_VALUE is generated if an improper id is specified.

DESCRIPTION

Return a defined character valued property as a string. A string is limited to 81 characters including the terminating null character. If the value has not been defined, nothing is returned.