Table of Contents
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:
-
GPROP_2DPLANE, integer, 2D plane orientation
The supported plane orientations are:
SYS_XYPLANE, xy plane
SYS_XZPLANE, xz plane
-
GPROP_2DAXIS, integer, 2D axis of rotation
The supported axes are:
SYS_XAXIS, x axis
SYS_YAXIS, y axis
SYS_ZAXIS, z axis
-
GPROP_2DTYPE, integer, 2D analysis type
The supported types are:
SYS_PLANESTRAIN, plane strain
SYS_PLANESTRESS, plane stress
SYS_AXISYMMETRIC, axisymmetric
SYS_AXISYMFOURIER, axisymmetric with Fourier modes
-
GPROP_AUTOSPC, integer, Auto SPC flag
-
GPROP_TITLE, character, Title
-
GPROP_SUBTITLE, character, Subtitle
-
GPROP_ORIGCODE, character, Originating code
-
GPROP_ORIGVERSION, character, Originating code version
-
GPROP_ORIGTIME, character, Originating time
-
GPROP_ORIGDATE, character, Originating date
-
GPROP_LIBRARY, integer, VdmTools importing library
-
GPROP_CYCLIC_NSEC, integer, Number of Cyclic Sectors
-
GPROP_CYCLIC_ORIG, [3], real, Origin of Cyclic Coordinate
System (x,y,z)
-
GPROP_CYCLIC_AXIS, [3], real, Axis of Cyclic Coordinate System (x,y,z)
-
GPROP_STEFAN_BOLTZMANN, real, Stefan Boltzmann constant
-
GPROP_ABSOLUTE_ZERO, real, Absolute Zero Temperature
-
GPROP_STIFF_DAMP, real, Structural Damping Coefficient
-
GPROP_SYMM_NUM, integer, Number of symmetry groups
-
GPROP_SYMM_ID, [GPROP_SYMM_NUM], integer, symmetry group identifier.
-
GPROP_SYMM_CID, [GPROP_SYMM_NUM], integer, symmetry group coordinate
system identifier.
-
GPROP_SYMM_NSEC, [GPROP_SYMM_NUM], integer, symmetry group number of
sectors.
-
GPROP_SYMM_ESET, [GPROP_SYMM_NUM], integer, symmetry group embedded
element set id.
-
GPROP_SYMM_ORIG, [GPROP_SYMM_NUM][3], real, Origin of symmetry
Coordinate System (x,y,z)
-
GPROP_SYMM_AXIS, [GPROP_SYMM_NUM][3], real, Axis of symmetry
Coordinate System (x,y,z)
-
GPROP_IMPORT_VENDOR, integer, import vendor
-
GPROP_EXPORT_VENDOR, integer, target export vendor
The supported vendors are:
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
-
GPROP_USER_NUM, integer, Number of user defined properties
-
GPROP_USERDIMENUM, integer, Number of dimensions of
user defined property.
-
GPROP_USERDIME, [GPROP_USERDIMENUM], integer, Dimensions of
user defined property.
-
GPROP_USERNAME, character, Name of user defined property.
-
GPROP_USERDATATYPE, integer, Data type of user defined property.
-
GPROP_USERDATA, [product of GPROP_USERDIME], real, Data of
user defined property.
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:
-
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_SPRINGDASHPOT spring and dashpot element
-
SYS_ELEM_RIGID rigid element
-
SYS_ELEM_MASS mass element
-
SYS_ELEM_INTER interface element
-
SYS_ELEM_SUPER super element
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:
-
EPROP_MID, integer, Material Id
-
EPROP_MID_BEND, integer, Material Id - bending
-
EPROP_MID_TRAN, integer, Material Id - transverse shear
-
EPROP_MID_COUP, integer, Material Id - membrane bending coupling
-
EPROP_MATLCID, integer, Material coordinate system Id
-
EPROP_DOF1, integer, Degree of freedom tag 1.
-
EPROP_DOF2, integer, Degree of freedom tag 2.
The supported degree of freedom tags are:
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
-
EPROP_HEATEXCH, integer, Heat exchange type
The supported exchange types are:
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)
-
EPROP_DOFFLAG_NUM, integer, Number of dof flags.
A dof flag consists of a set of bits for each active dof.
If an element connectivity contains more than EPROP_DOFFLAG_NUM nodes,
then the last set of dof flags are repeated.
-
EPROP_DOFFLAG_DEP [EPROP_DOFFLAG_NUM], integer, Dependent dof flags
-
EPROP_DOFFLAG_IND [EPROP_DOFFLAG_NUM], integer, Independent dof flags
-
EPROP_DOFFLAG_WGTS [EPROP_DOFFLAG_NUM], real, Weighting factors
-
EPROP_RULE, integer, Integration rule.
The supported integration rules are:
SYS_RULE_GAUSS, Gaussian quadrature rule
SYS_RULE_LOBATTO, Lobatto rule
SYS_RULE_SIMPSON, Simpson's rule
-
EPROP_SHELLWALL, integer, Shell wall type, see ShellWall.
The supported shell wall types are:
SYS_SHELLWALL_MONOCOQUE, Monocoque
SYS_SHELLWALL_LAMINATE, Laminated
-
EPROP_LAYER_NUM, integer, Number of shell layers
-
EPROP_LAYER_THK [EPROP_LAYER_NUM], Layer thickness
-
EPROP_LAYER_PHI [EPROP_LAYER_NUM], Layer material orientation angle
-
EPROP_LAYER_MID [EPROP_LAYER_NUM], integer, Layer material Id
-
EPROP_LAYER_NIP [EPROP_LAYER_NUM], integer, Number of layer
integration points
-
EPROP_LAYER_GID [EPROP_LAYER_NUM], integer, Layer global Id
-
EPROP_BEAMSECT, integer, Beam section type, see BeamSect.
The supported beam section types are:
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
-
EPROP_BEAMDIME, real, [2], Beam section dimensions, see BeamSect
-
EPROP_BEAMROTANGLE, real, Beam section rotation angle
-
EPROP_BEAMREFLECTY, integer, Beam section reflect about y axis
-
EPROP_BEAMREFLECTZ, integer, Beam section reflect about z axis
-
EPROP_BEAMPNTS_NUM, integer, Beam section geometry number of points
-
EPROP_BEAMPNTS [EPROP_BEAMPNTS_NUM][2], real, [2], Beam section
points Each point is given by a beam section (y,z) coordinate.
Note that point coordinates are required for 2 locations, ie. the
two ends of a beam element.
-
EPROP_BEAMLOOP_NUM, integer, Beam section number of loops
-
EPROP_BEAMLOOP_PNTSNUM [EPROP_BEAMLOOP_NUM], integer, Beam section
loop number of points
-
EPROP_BEAMLOOP_TYPE [EPROP_BEAMLOOP_NUM], integer, Beam section
loop type
-
EPROP_BEAMLOOP_MID [EPROP_BEAMLOOP_NUM], integer, Beam section
loop material Id
-
EPROP_BEAMLOOP_PNTS [EPROP_BEAMPNTS_NUM], integer, Beam section
all loop points.
The connectivities of all loops are entered. Connectivities are one-based.
The loop connectivities are concatenated.
-
EPROP_BEAMSEGS_NUM, integer, Beam section number of segments
-
EPROP_BEAMSEGS_THICK [EPROP_BEAMSEGS_NUM], real, Beam section
segment thicknesses
-
EPROP_BEAMSEGS_PNTS [EPROP_BEAMSEGS_NUM+1][2], real, Beam section
segment points (y,z).
There should be one more point than the number of segments. For a
closed loop of segments, the first point will be identical to the last.
-
EPROP_RIGIDALPHA, real, Rigid element alpha
-
EPROP_THICKNESS, real, [4], Thickness
-
EPROP_OFFSET, real, [4], Midsurface offset
-
EPROP_KS, real, Effective shear ratio
-
EPROP_AREA, real, [2], Area
-
EPROP_IYY, real, [2], Moment of inertia about y axis
-
EPROP_IZZ, real, [2], Moment of inertia about z axis
-
EPROP_IYZ, real, [2], Product of inertia
-
EPROP_J, real, [2], Torsional constant
-
EPROP_KSY, real, [2], Effective shear factor along y axis
-
EPROP_KSZ, real, [2], Effective shear factor along z axis
-
EPROP_DSY, real, [2], Shear center offset from centroid along y axis
-
EPROP_DSZ, real, [2], Shear center offset from centroid along z axis
-
EPROP_OFFSETY, real, [2], Centroid offset along y axis
-
EPROP_OFFSETZ, real, [2], Centroid offset along z axis
-
EPROP_CW, real, [2], Warping coefficient
-
EPROP_NSM, real, [4], Nonstructural mass
-
EPROP_SRBOT, real, Stress recovery fiber distance
from midsurface - bottom
-
EPROP_SRTOP, real, Stress recovery fiber distance
from midsurface - top
-
EPROP_SRC [2], real, Stress recovery section location
from centroid - C(y,z)
-
EPROP_SRD [2], real, Stress recovery section location
from centroid - D(y,z)
-
EPROP_SRE [2], real, Stress recovery section location
from centroid - E(y,z)
-
EPROP_SRF [2], real, Stress recovery section location
from centroid - F(y,z)
-
EPROP_PENALTY, real, Penalty factor
-
EPROP_STIFF, real, Stiffness
-
EPROP_STIFFTRA, real, Stiffness translation
-
EPROP_STIFFROT, real, Stiffness rotation
-
EPROP_DAMP, real, Viscous damping coefficient
-
EPROP_DAMPTRA, real, Viscous damping translation
-
EPROP_DAMPROT, real, Viscous damping rotation
-
EPROP_SDAMP, real, Structural damping coefficient
-
EPROP_SDAMPTRA, real, Structural damping translation
-
EPROP_SDAMPROT, real, Structural damping rotation
-
EPROP_MASS, real, [3], Mass (mx,my,mz)
-
EPROP_OFFSETVEC [3], real, Offset vector global (x,y,z)
-
EPROP_INERTIA [6], real, Mass moments of inertia (xx,yy,zz,xy,yz,zx)
-
EPROP_MASSMATRIX [21], real, Mass matrix (m11,m21,m22,...,m65,m66)
-
EPROP_STIFFMATRIX [21], real, Stiffness
matrix (k11,k21,k22,...,k65,k66)
-
EPROP_STRSCOEF, real, Stress coefficient
-
EPROP_STRSCOEFTRA, real, Stress coefficient translation
-
EPROP_STRSCOEFROT, real, Stress coefficient rotation
-
EPROP_STRNCOEFTRA, real, Strain coefficient translation
-
EPROP_STRNCOEFROT, real, Strain coefficient rotation
-
EPROP_FILM, real, Film coefficient
-
EPROP_EMIS, real, Emissivity
-
EPROP_AREAFACT, real, [2], Convection or Radiation Area factor
-
EPROP_CONVEXP, real, Convection exponent
-
EPROP_UZERO, real, Initial gap
-
EPROP_FZERO, real, Preload force
-
EPROP_KCLOSE, real, Compression stiffness
-
EPROP_KOPEN, real, Tension stiffness
-
EPROP_KTRANS, real, Transverse stiffness
-
EPROP_MUSY, real, Static friction coefficient along y axis
-
EPROP_MUSZ, real, Static friction coefficient along z axis
-
EPROP_MUKY, real, Kinetic friction coefficient along y axis
-
EPROP_MUKZ, real, Kinetic friction coefficient along z axis
-
EPROP_NOSEPARATION, integer, No separation option
-
EPROP_NOSLIP, integer, No slip option
-
EPROP_TIED, integer, tied option
-
EPROP_ELEMPOINT, character, Vendor specific element point type
-
EPROP_ELEMLINE, character, Vendor specific element line type
-
EPROP_ELEMTRI, character, Vendor specific element triangle type
-
EPROP_ELEMQUAD, character, Vendor specific element quadrilateral type
-
EPROP_ELEMTET, character, Vendor specific element tetrahedron type
-
EPROP_ELEMPYR, character, Vendor specific element pyramid type
-
EPROP_ELEMWED, character, Vendor specific element wedge type
-
EPROP_ELEMHEX, character, Vendor specific element hexahedron type
-
EPROP_SUPER_MASSTYPE, integer, Super element mass matrix type.
-
EPROP_SUPER_STIFFTYPE, integer, Super element stiffness matrix type.
The supported matrix types are:
SYS_MATRIX_DIAG, Diagonal matrix
SYS_MATRIX_SYMM, Symmetric matrix, lower triangle
-
EPROP_SUPER_MASS, double, Super element mass matrix
-
EPROP_SUPER_STIFF, double, Super element stiffness matrix
The number of columns in the mass or stiff matrix is
dependent upon EPROP_DOFFLAG_NUM and EPROP_DOFFLAG_IND.
-
EPROP_SUPER_ID, integer, Super element Id
-
EPROP_SUPER_TRANS, double, Super element translation
-
EPROP_SUPER_ORIGIN, double, Super element origin
-
EPROP_SUPER_DIRCOS, double, Super element direction cosine matrix
The direction cosine matrix rotation is to performed about
the EPROP_SUPER_ORIGIN.
-
EPROP_USER_NUM, integer, Number of user defined properties
-
EPROP_USERDIMENUM, integer, Number of dimensions of
user defined property.
-
EPROP_USERDIME, [EPROP_USERDIMENUM], integer, Dimensions of
user defined property.
-
EPROP_USERNAME, character, Name of user defined property.
-
EPROP_USERDATATYPE, integer, Data type of user defined property.
-
EPROP_USERDATA, [product of EPROP_USERDIME], double, Data of
user defined property.
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:
-
SYS_MAT_ISOTROPIC linear isotropic material
-
SYS_MAT_ORTHOTROPIC linear orthotropic material
-
SYS_MAT_ANISOTROPIC linear anisotropic material
-
SYS_MAT_HYPERELASTIC hyperelastic material
The full set of material properties are the following:
-
MPROP_DENSITY, real, Density
-
MPROP_E, real, Young's Modulus
-
MPROP_NU, real, Poisson's Ratio
-
MPROP_A, real, Thermal Expansion Coefficient
-
MPROP_GE, real, Structural Element Damping Coefficient
-
MPROP_TREF, real, Reference Temperature
-
MPROP_EORT [3], real, Young's Modulus (x,y,z)
-
MPROP_NUORT [3], real, Poisson's Ratio (xy,yz,xz)
-
MPROP_GORT [3], real, Shear Modulus (xy,yz,zx)
-
MPROP_AORT [3], real, Thermal Expansion Coefficients (x,y,z)
-
MPROP_DMAT [21], real, D Matrix (6x6 lower triangle symmetric)
-
MPROP_AVEC [6], real, A Vector (6)
-
MPROP_HYPER_CIJ [27], real, Hyperelastic Cij (27)
-
MPROP_HYPER_DI [6], real, Hyperelastic Di (6)
-
MPROP_HYPER_TCURVE1, integer, Hyperelastic tension compression data
-
MPROP_HYPER_TCURVE2, integer, Hyperelastic equibiaxial data
-
MPROP_HYPER_TCURVE3, integer, Hyperelastic shear data
-
MPROP_HYPER_TCURVE4, integer, Hyperelastic pure shear data
-
MPROP_HYPER_TCURVED, integer, Hyperelastic pure volumetric data
-
MPROP_K, real, Thermal Conductivity
-
MPROP_CP, real, Specific Heat
-
MPROP_HGEN, real, Heat Generation Capability
-
MPROP_EREF, real, Reference Enthalpy
-
MPROP_KORT [3], real, Thermal Conductivity (x,y,z)
-
MPROP_KMAT [6], real, K Matrix (3x3 lower triangle symmetric)
-
MPROP_BULK, real, Bulk Modulus
-
MPROP_SOUND, real, Speed of Sound
-
MPROP_VISCOSITY, real, Viscosity
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:
-
SYS_SOL_STATIC static or steady state solution
-
SYS_SOL_VIBRATION vibration solution
-
SYS_SOL_BUCKLING buckling solution
-
SYS_SOL_TRANSIENT transient or unsteady solution
-
SYS_SOL_SUPERELEMENT superelement solution
-
SYS_SOL_FREQRESPONSE frequency response solution
-
SYS_SOL_COMPLEXEIGEN complex eigenvalue solution
-
SYS_SOL_OUTPUT compute output given degree of freedom solution
-
SYS_SOL_SINGULAR singular mode solution
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:
-
SPROP_ANALYSIS, integer, Analysis type.
The supported analysis types are:
SYS_ANALYSIS_STRUCTURAL, Structural
SYS_ANALYSIS_THERMAL, Thermal
-
SPROP_COUPLED_NUM, integer, Number of additional coupled analyses
-
SPROP_COUPLED [SPROP_COUPLED_NUM], integer, Coupled analysis type.
The supported coupled analysis types are:
SYS_ANALYSIS_THERMAL, Thermal
-
SPROP_CASEID, integer, Case Id
-
SPROP_EIGEN_NUM, integer, Number of eigenvalues
-
SPROP_EIGEN_TYPE, integer, Eigenvalue interval type.
The supported eigenvalue interval types are:
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
-
SPROP_EIGEN_LOWER, real, Eigenvalue lower bound
-
SPROP_EIGEN_UPPER, real, Eigenvalue upper bound
-
SPROP_EIGEN_SHIFT, real, Eigenvalue shift
-
SPROP_EIGEN_SOLVER, integer, Eigenvalue solver.
The supported eigenvalue solver types are:
SYS_EIGEN_SUBSPACE, Subspace
SYS_EIGEN_LANCZOS, Lanczos
-
SPROP_EIGEN_NORM, integer, Eigenvalue normalization.
The supported eigenvalue vector normalizations are:
SYS_EIGEN_NORMMASS, Normalize to generalized mass
SYS_EIGEN_NORMMAX, Normalize to largest vector component
-
SPROP_EIGEN_SIZE, integer, Eigenvalue block or subspace size
-
SPROP_EIGEN_STEP, integer, Eigenvalue steps or iterations
-
SPROP_ESET_DELETE, integer, Element set of deleted elements
-
SPROP_FTOL, real, Force convergence tolerance
-
SPROP_UTOL, real, Displacement convergence tolerance
-
SPROP_LCASE_MODE, integer, Include load cases as superelement modes
-
SPROP_LCASE_UNIT, integer, Treat load cases as individual unit loads
-
SPROP_LCASE_NUM, integer, Number of load cases
-
SPROP_LCASE [SPROP_LCASE_NUM], integer, Load case Id
-
SPROP_LCASE_FACTOR [SPROP_LCASE_NUM], real, Load case factor
-
SPROP_LCASE_TCURVE [SPROP_LCASE_NUM], integer, Load case curve Id.
The load case curve is a function of step time unless a
sensor node is defined.
-
SPROP_LCASE_SENSORNODE [SPROP_LCASE_NUM], integer, Load case
sensor node. The load case curve is a function of the step solution
unknown at the sensor node and associated degree of freedom.
-
SPROP_LCASE_SENSORDOF [SPROP_LCASE_NUM], integer, Load case
sensor node degree of freedom tag
-
SPROP_RCASE, integer, Restraint case Id
-
SPROP_RCASE_FACTOR, real, Restraint case factor
-
SPROP_MCASE, integer, Multipoint constraint case Id
-
SPROP_ICASE, integer, Initial condition case Id
-
SPROP_ITERMAX, integer, Iteration maximum
-
SPROP_LHSITER_FREQ, integer, Matrix reformation iteration frequency
-
SPROP_LHSSTEP_FREQ, integer, Matrix reformation step frequency
-
SPROP_TIME_INIT, real, Time initial
-
SPROP_TIME_STEP, real, Time step
-
SPROP_TIME_TERM, real, Time termination
-
SPROP_TIME_STEPMIN, real, Time step minimum
-
SPROP_TIME_STEPMAX, real, Time step maximum
-
SPROP_TIME_STEPFIXED, integer, Time step fixed flag
-
SPROP_FREQRESPONSE_MODAL, integer, Frequency response modal flag
-
SPROP_FREQ_TYPE, integer, Frequency interval type
The supported interval types are:
SPROP_FREQ_RANGE, Frequency range
SPROP_FREQ_EIGEN, Frequency eigenvalues
-
SPROP_FREQ_NUM, integer, Number of frequency intervals
-
SPROP_FREQ_LOWER [SPROP_FREQ_NUM], integer, Frequency lower bound
-
SPROP_FREQ_UPPER [SPROP_FREQ_NUM], integer, Frequency upper bound
-
SPROP_FREQ_NPNTS [SPROP_FREQ_NUM], integer, Frequency num. of points
-
SPROP_FREQ_BIAS [SPROP_FREQ_NUM], real, Frequency bias
-
SPROP_MODALDAMP_TCURVE, integer, Modal damping frequency curve Id
-
SPROP_MODALDAMP_TYPE, integer, Modal damping type
The supported modal damping types are:
SPROP_MODALDAMP_CRITFRAC, Fraction of critical damping
SPROP_MODALDAMP_RAYLEIGH, Rayleigh alpha,beta damping
-
SPROP_MASSDIAG, integer, Diagonal mass flag
-
SPROP_MASS_FACTOR, real, Mass factor
-
SPROP_DAMP_ALPHA, real, Stiffness proportional damping factor
-
SPROP_DAMP_BETA, real, Mass proportional damping factor
-
SPROP_THERMALSTRAIN, integer, Thermal strain flag
-
SPROP_INERTIARELIEF, integer, Inertial relief flag
-
SPROP_PRESTRESS, integer, Prestress flag
-
SPROP_LARGESTRAIN, integer, Large strain flag
-
SPROP_PURTURBATION, integer, Purturbation flag
-
SPROP_NONLINEAR, integer, Nonlinear analysis flag
-
SPROP_RESFILE_NUM, integer, Number of result quantities
-
SPROP_RESFILE [SPROP_RESFILE_NUM], integer, Results types
-
SPROP_RESFILE_FREQ, integer, Result Save frequency
-
SPROP_RESFILE_NSET, integer, Result node set
-
SPROP_RESFILE_ESET, integer, Result element set
-
SPROP_RESPRINT_NUM, integer, Number of printed result quantities
-
SPROP_RESPRINT [SPROP_RESPRINT_NUM], integer, Printed results.
-
SPROP_HISTFILE_NUM, integer, Number of history quantities
-
SPROP_HISTFILE [SPROP_HISTFILE_NUM], integer, History types
-
SPROP_HISTFILE_SET [SPROP_HISTFILE_NUM], integer, History entity sets
-
SPROP_HISTFILE_FREQ, integer, History save frequency
The supported result quantities are:
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
-
SPROP_TITLE, character, Title
-
SPROP_SUBTITLE, character, Subtitle
-
SPROP_LABEL, character, Label
-
SPROP_SUBLABEL, character, Sublabel
-
SPROP_USER_NUM, integer, Number of user defined properties
-
SPROP_USERDIMENUM, integer, Number of dimensions of
user defined property.
-
SPROP_USERDIME, [SPROP_USERDIMENUM], integer, Dimensions of
user defined property.
-
SPROP_USERNAME, character, Name of user defined property.
-
SPROP_USERDATATYPE, integer, Data type of user defined property.
-
SPROP_USERDATA, [product of SPROP_USERDIME], double, Data of
user defined property.
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.
-
RPROP_LOADFACTOR, real, (LoadFactor)
-
RPROP_FREQUENCY, real, (Frequency)
-
RPROP_EIGENVALUE, real, (Eigenvalue)
-
RPROP_TIME, real, (Time)
-
RPROP_TIMESTEP, real, (TimeStep)
-
RPROP_AMPLITUDE, real, (Amplitude)
-
RPROP_PHASE, real, (Phase)
-
RPROP_GENERALIZEDMASS, real, (GeneralizedMass)
-
RPROP_LOADCASE, integer, (LoadCase)
-
RPROP_CONTENTS, character, (Contents)
-
RPROP_DATATYPE, character, (DataType)
-
RPROP_COMPLEX, character, (Complex)
-
RPROP_TITLE, character, (Title)
-
RPROP_SUBTITLE, character, (Subtitle)
-
RPROP_SUBTITLE1, character, (Subtitle)
-
RPROP_SUBTITLE2, character, (Subtitle)
-
RPROP_SUBTITLE3, character, (Subtitle)
-
RPROP_SUBTITLE4, character, (Subtitle)
-
RPROP_LABEL, character, (Label)
-
RPROP_SUBLABEL, character, (Label)
-
RPROP_LABEL1, character, (Label)
-
RPROP_LINK_ROTANG, character, (Link.RotAng)
-
RPROP_LINK_CID, character, (Link.Cid)
-
RPROP_LINK_COMPLEX, character, (Link.Complex)
-
RPROP_LINK_SECTION, character, (Link.Section)
-
RPROP_LINK_LAYERS, character, (Link.Layers)
-
RPROP_STRAINTYPE, character, (StrainType)
-
RPROP_DATASOURCE, character, (DataSource)
-
RPROP_CATEGORY, character, (Category)
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.