Note that all case modules hold floating point data internally in double precision.
The functions associated with a LCase object are the following.
*vis_LCaseBegin - create an instance of a LCase object vis_LCaseEnd - destroy an instance of a LCase object vis_LCaseError - return LCase object error flag
vis_LCaseAccel - query overall accelerations vis_LCaseAccelFlag - query definition of accelerations vis_LCaseAdd - add two load cases vis_LCaseAddConc - add a concentrated load vis_LCaseAddDist - add a distributed load vis_LCaseAddElem - add an element load vis_LCaseClear - clear all loads and accelerations vis_LCaseClearAccel - clear all accelerations vis_LCaseClearConc - clear all concentrated loads vis_LCaseClearDist - clear all distributed loads vis_LCaseClearElem - clear all element loads vis_LCaseConc - query concentrated load given a type vis_LCaseConcTId - query concentrated load table id given type vis_LCaseConcMax - query maximum node index vis_LCaseConcFlag - query concentrated load set given a type vis_LCaseConcType - query concentrated load types at a node vis_LCaseDist - query distributed load given a type vis_LCaseDistTId - query distributed load table id given type vis_LCaseDistMax - query maximum element index vis_LCaseDistFlag - query distributed load set given a type vis_LCaseDistType - query distributed load types vis_LCaseElem - query element load given a type vis_LCaseElemTId - query element load table id given a type vis_LCaseElemMax - query maximum element index vis_LCaseElemFlag - query element load set given a type vis_LCaseElemType - query element load types vis_LCaseSetAccel - set overall accelerations vis_LCaseSetConc - set a concentrated load vis_LCaseSetConcTId - set a concentrated load table id vis_LCaseSetDist - set a distributed load vis_LCaseSetDistTId - set a distributed load table id vis_LCaseSetElem - set an element load vis_LCaseSetElemTId - set an element load table id vis_LCaseSetObject - set pointers to attribute objects. vis_LCaseElemGroup - element group of element loads vis_LCaseEdgeGroup - edge group of distributed loads vis_LCaseFaceGroup - face group of distributed loads vis_LCaseNodeGroup - node group of concentrated loads vis_LCaseSpecFlag - query any load specifications vis_LCaseSetName - set name string GetName - get name string vis_LCaseSetComplexMode - set specify/query mode for complex data GetComplexMode - get specify/query mode for complex data vis_LCaseGetComplex - query for complex data existence
Set a concentrated loads at a node using vis_LCaseSetConc or add a load using vis_LCaseAddConc. Generate a node group of all nodes at which concentrated loads have been defined using vis_LCaseNodeGroup. Query for the number and type of concentrated loads at a node using vis_LCaseConcType. The function vis_LCaseConcFlag may be used to test for concentrated loads set at a node. Return the concentrated load value at a node using vis_LCaseConc. Return the maximum node index for which concentrated loads have been defined using vis_LCaseConcMax.
Each concentrated load component may be assigned a separate table identifier using the function vis_LCaseSetConcTId. These tables are represented by TCurve objects and are normally used to specify time or frequency dependent variation of the individual components of concentrated loads.
Concentrated load types are as follows.
Set distributed loads on element faces or edges using vis_LCaseSetDist or add distributed loads using vis_LCaseAddDist. At this point a GridFun object must be set as an attribute object using vis_LCaseSetObject so that the LCase object can access finite element model information. Generate an edge or face group of all element edges or faces at which distributed loads have been defined using vis_LCaseEdgeGroup and vis_LCaseFaceGroup. Query for the number and type of distributed loads at an element edge or face using vis_LCaseDistType. The function vis_LCaseDistFlag may be used to test for distributed loads set at an element. Return the distributed load values at an element edge or face using vis_LCaseDist. Return the maximum element index for which distributed loads have been defined using vis_LCaseDistMax. Each distributed load on an element face or edge may be assigned a separate table identifier using the function vis_LCaseSetDistTId.
Distributed load types are as follows.
Element body load types are as follows.
*vis_LCaseBegin - create an instance of a LCase object
vis_LCase *vis_LCaseBegin ()
None
Destroy an instance of a LCase object using
void vis_LCaseEnd (vis_LCase *lcase)
Return the current value of a LCase object error flag using
Vint vis_LCaseError (vis_LCase *lcase)
vis_LCaseClear - clear all loads and accelerations
void vis_LCaseClear (vis_LCase *lcase)
lcase Pointer to LCase object.
None
vis_LCaseClearAccel - clear all accelerations
void vis_LCaseClearAccel (vis_LCase *lcase)
lcase Pointer to LCase object.
None
vis_LCaseClearConc - clear all concentrated loads
void vis_LCaseClearConc (vis_LCase *lcase)
lcase Pointer to LCase object.
None
vis_LCaseClearDist - clear all distributed loads
void vis_LCaseClearDist (vis_LCase *lcase)
lcase Pointer to LCase object.
None
vis_LCaseClearElem - clear all element loads
void vis_LCaseClearElem (vis_LCase *lcase)
lcase Pointer to LCase object.
None
vis_LCaseSetAccel - set overall accelerations
void vis_LCaseSetAccel (vis_LCase *lcase, Vfloat grav[3], Vfloat cent[3], Vfloat w[3], Vfloat wdot[3]) void vis_LCaseSetAcceldv (vis_LCase *lcase, Vdouble grav[3], Vdouble cent[3], Vdouble w[3], Vdouble wdot[3])
lcase Pointer to LCase object. grav Gravity vector cent Center of rotation w Angular velocity vector wdot Angular acceleration vector
None
vis_LCaseAccelFlag - query definition of accelerations
void vis_LCaseAccelFlag (vis_LCase *lcase, Vint *accelflag)
lcase Pointer to LCase object.
accelflag Accelerations defined flag.
vis_LCaseAccel - query overall accelerations
void vis_LCaseAccel (vis_LCase *lcase, Vfloat grav[3], Vfloat cent[3], Vfloat w[3], Vfloat wdot[3]) void vis_LCaseAcceldv (vis_LCase *lcase, Vdouble grav[3], Vdouble cent[3], Vdouble w[3], Vdouble wdot[3])
lcase Pointer to LCase object.
grav Gravity vector cent Center of rotation w Angular velocity vector wdot Angular acceleration vector
vis_LCaseAdd - add two load cases
void vis_LCaseAdd (vis_LCase *lcase, vis_LCase *addlcase,
lcase Pointer to LCase object. addlcase Pointer to LCase object to add
None
vis_LCaseAddConc - add a single concentrated load
void vis_LCaseAddConc (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseAddConcdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Node number type Concentrated load type =LCASE_FORCE Vector of applied force =LCASE_MOMENT Vector of applied moment =LCASE_HEAT Scalar applied heat =LCASE_TEMP Scalar temperature =LCASE_CSCA Generic scalar =LCASE_CVEC Generic vector value Load values
None
vis_LCaseSetConc - set a single concentrated load
void vis_LCaseSetConc (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseSetConcdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Node number type Concentrated load type =LCASE_FORCE Vector of applied force =LCASE_MOMENT Vector of applied moment =LCASE_HEAT Scalar applied heat =LCASE_TEMP Scalar temperature =LCASE_CSCA Generic scalar =LCASE_CVEC Generic vector value Load values
None
vis_LCaseSetConcTId - set a concentrated load table id
void vis_LCaseSetConcTId (vis_LCase *lcase, Vint index, Vint type, Vint tid[])
lcase Pointer to LCase object. index Node number type Concentrated load type tid Table identifiers
None
vis_LCaseConcFlag - query concentrated load set given a type
void vis_LCaseConcFlag (vis_LCase *lcase, Vint index, Vint type, Vint *flag)
lcase Pointer to LCase object. index Node number type Concentrated load type
flag Flag indicating if concentrated load set
vis_LCaseConcMax - query maximum node index
void vis_LCaseConcMax (vis_LCase *lcase, Vint type, Vint *maxindex)
lcase Pointer to LCase object. type Concentrated load type
maxindex Maximum node number
vis_LCaseConcType - query concentrated load types at a node
void vis_LCaseConcType (vis_LCase *lcase, Vint index, Vint *ntypes, Vint type[])
lcase Pointer to LCase object. index Node number
ntypes Number of types of concentrated loads type Array of concentrated load types
vis_LCaseConc - query concentrated load given a type
void vis_LCaseConc (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseConcdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Node number type Concentrated load type
value Applied values
vis_LCaseConcTId - query concentrated load table id given type
void vis_LCaseConcTId (vis_LCase *lcase, Vint index, Vint type, Vint tid[])
lcase Pointer to LCase object. index Node number type Concentrated load type
tid Table identifiers
vis_LCaseAddDist - add a distributed load
void vis_LCaseAddDist (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vfloat value[]) void vis_LCaseAddDistdv (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Element number enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face no Element edge or face number type Distributed load type =LCASE_TRAC Vector of tractions at each node =LCASE_DMOM Vector of moments at each node =LCASE_PRES Scalar pressure at each node =LCASE_TANGFORCE Scalar tangential force at each node =LCASE_TANGMOMENT Scalar tangential moment at each node =LCASE_HEATCONV Scalars heat convection at each node =LCASE_HEATRAD Scalars heat radiation at each node =LCASE_HEATFLUX Scalar heat flux at each node =LCASE_DSCA Scalar at each node =LCASE_DVEC Vector at each node value Load values
None
vis_LCaseSetDist - set a distributed load
void vis_LCaseSetDist (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vfloat value[]) void vis_LCaseSetDistdv (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vdouble value[])
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face index Element number no Element edge or face number type Distributed load type =LCASE_TRAC Vector of tractions at each node =LCASE_DMOM Vector of moments at each node =LCASE_PRES Scalar pressure at each node =LCASE_TANGFORCE Scalar tangential force at each node =LCASE_TANGMOMENT Scalar tangential moment at each node =LCASE_HEATCONV Scalars heat convection at each node =LCASE_HEATRAD Scalars heat radiation at each node =LCASE_HEATFLUX Scalar heat flux at each node =LCASE_DSCA Scalar at each node =LCASE_DVEC Vector at each node value Load values
None
vis_LCaseSetDistTId - set a distributed load table id
void vis_LCaseSetDistTId (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vint tid[])
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face index Element number no Element edge or face number type Distributed load type tid Table identifiers
None
vis_LCaseAddElem - add an element load
void vis_LCaseAddElem (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseAddElemdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Node number type Element body load type =LCASE_ACCLELEM Vector of accelerations at each node =LCASE_HEATELEM Scalar heat generation at each node value Load values
None
vis_LCaseSetElem - set an element load
void vis_LCaseSetElem (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseSetElemdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Element number type Element body load type =LCASE_ACCLELEM Vector of accelerations at each node =LCASE_HEATELEM Scalar heat generation at each node value Load values
None
vis_LCaseSetElemTId - set an element load table id
void vis_LCaseSetElemTId (vis_LCase *lcase, Vint index, Vint type, Vtid tid[])
lcase Pointer to LCase object. index Element number type Element body load type tid Table identifiers
None
vis_LCaseSetObject - set pointers to attribute objects.
void vis_LCaseSetObject (vis_LCase *lcase, Vint objecttype, Vobject *object)
lcase Pointer to LCase object. objecttype The name of the object type to be set. =VIS_GRIDFUN GridFun object object Pointer to the object to be set.
None
vis_LCaseDistFlag - query distributed load set given a type
void vis_LCaseDistFlag (vis_LCase *lcase, Vint enttype, Vint index, Vint type, Vint *flag)
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face index Element number type Distributed load type
flag Flags indicating entities for which distributed load set
vis_LCaseDistMax - query maximum element index
void vis_LCaseDistMax (vis_LCase *lcase, Vint enttype, Vint type, Vint *maxindex)
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face type Distributed load type
maxindex Maximum element number
vis_LCaseDistType - query distributed load types
void vis_LCaseDistType (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint *ntypes, Vint type[])
lcase Pointer to LCase object. index Element number enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face no Element edge or face number
ntypes Number of types of distributed loads type Array of distributed load types
vis_LCaseDist - query distributed load given a type
void vis_LCaseDist (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vint enflag, Vfloat value[]) void vis_LCaseDistdv (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vint enflag, Vdouble value[])
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face index Element number no Element edge or face number type Distributed load type enflag Flag to return distributed loads at element nodes
value Applied distributed load values at nodes
vis_LCaseDistTId - query distributed load table id given a type
void vis_LCaseDistTId (vis_LCase *lcase, Vint enttype, Vint index, Vint no, Vint type, Vint tid[])
lcase Pointer to LCase object. enttype Entity type on which load is applied =SYS_EDGE Element edge =SYS_FACE Element face index Element number no Element edge or face number type Distributed load type
tid Table identifiers
vis_LCaseElemMax - query maximum element index
void vis_LCaseElemMax (vis_LCase *lcase, Vint type, Vint *maxindex)
lcase Pointer to LCase object. type Element load type
maxindex Maximum element number
vis_LCaseElemFlag - query element load set given a type
void vis_LCaseElemFlag (vis_LCase *lcase, Vint index, Vint type, Vint *flag)
lcase Pointer to LCase object. index Element number type Element load type
flag Flag indicating if element load set
vis_LCaseElemType - query element load types
void vis_LCaseElemType (vis_LCase *lcase, Vint index, Vint *ntypes, Vint type[])
lcase Pointer to LCase object. index Element number
ntypes Number of types of element loads type Array of element load types
vis_LCaseElem - query element load given a type
void vis_LCaseElem (vis_LCase *lcase, Vint index, Vint type, Vfloat value[]) void vis_LCaseElemdv (vis_LCase *lcase, Vint index, Vint type, Vdouble value[])
lcase Pointer to LCase object. index Element number type Element load type
value Applied distributed load values at nodes
vis_LCaseElemTId - query element load table id given a type
void vis_LCaseElemTId (vis_LCase *lcase, Vint index, Vint type, Vint tid[])
lcase Pointer to LCase object. index Element number type Element load type
tid Table identifiers
vis_LCaseElemGroup - element group of element loads
void vis_LCaseElemGroup (vis_LCase *lcase, vis_Group *group, vis_Group *groupdst)
lcase Pointer to LCase object. group Pointer to Group object of element. If NULL, then all elements are assumed.
groupdst Pointer to derived Group object of elements.
The output groupdst must have been previously created and defined as an element group. Note that groupdst is not cleared by this function, the derived element entities are added to any existing elements in the output groupdst.
vis_LCaseEdgeGroup - edge group of distributed loads
void vis_LCaseEdgeGroup (vis_LCase *lcase, vis_Group *group, vis_Group *groupdst)
lcase Pointer to LCase object. group Pointer to Group object of element edges. If NULL, then all element edges are assumed.
groupdst Pointer to derived Group object of element edges.
The output groupdst must have been previously created and defined as an element edge group. Note that groupdst is not cleared by this function, the derived element edge entities are added to any existing element edges in the output groupdst.
vis_LCaseFaceGroup - face group of distributed loads
void vis_LCaseFaceGroup (vis_LCase *lcase, vis_Group *group, vis_Group *groupdst)
lcase Pointer to LCase object. group Pointer to Group object of element faces. If NULL, then all element faces are assumed.
groupdst Pointer to derived Group object of element faces.
The output groupdst must have been previously created and defined as an element face group. Note that groupdst is not cleared by this function, the derived element face entities are added to any existing element faces in the output groupdst.
vis_LCaseNodeGroup - node group of concentrated loads
void vis_LCaseNodeGroup (vis_LCase *lcase, vis_Group *group, vis_Group *groupdst)
lcase Pointer to LCase object. group Pointer to Group object of nodes. If NULL, then all nodes are assumed.
groupdst Pointer to derived Group object of nodes.
The output groupdst must have been previously created and defined as a node group. Note that groupdst is not cleared by this function, the derived node entities are added to any existing nodes in the output groupdst.
vis_LCaseSpecFlag - query any load specifications
void vis_LCaseSpecFlag (vis_LCase *lcase, Vint *flag)
lcase Pointer to LCase object.
flag Flag indicating if any load set
vis_LCaseSetName - set name string
void vis_LCaseSetName (vis_LCase *lcase, Vchar *name)
lcase Pointer to LCase object. name Name string
None
Get name as an output argument.
void vis_LCaseGetName (const vis_LCase *lcase, Vchar name[])
vis_LCaseSetComplexMode - set specify/query mode for complex data
void vis_LCaseSetComplexMode (vis_LCase *lcase, Vint complexmode)
lcase Pointer to LCase object. complexmode Complex mode =SYS_COMPLEX_REAL Real =SYS_COMPLEX_IMAGINARY Imaginary =SYS_COMPLEX_REALIMAGINARY Real and imaginary
None
Get complexmode as an output argument.
void vis_LCaseGetComplexMode (const vis_LCase *lcase, Vint *complexmode)
vis_LCaseGetComplex - query for complex data existence
void vis_LCaseGetComplex (vis_LCase *lcase, Vint *complexflag)
lcase Pointer to LCase object.
complexflag Complex data existence flag
The functions associated with a RCase object are the following.
*vis_RCaseBegin - create an instance of a RCase object vis_RCaseEnd - destroy an instance of a RCase object vis_RCaseError - return RCase object error flag
vis_RCaseAdd - add two restraint cases vis_RCaseClear - clear all constraints vis_RCaseSetElemC - set an element constraint vis_RCaseElemCMax - query maximum element index vis_RCaseElemCTag - query constraint tags at an element vis_RCaseElemCUseTag - query used element constraint tags vis_RCaseElemC - query element constraint vis_RCaseSetSPC - set a single point constraint vis_RCaseSetSPCDot - set a single point constraint derivative vis_RCaseSetSPCTId - set a single point constraint table id vis_RCaseSPCMax - query maximum node index vis_RCaseSPCTag - query constraint tags at a node vis_RCaseSPCUseTag - query used node constraint tags vis_RCaseSPC - query single point constraint vis_RCaseSPCDot - query single point constraint derivative vis_RCaseSPCTId - query single point constraint table id vis_RCaseElemGroup - node group of element constraints vis_RCaseNodeGroup - node group of single point constraints vis_RCaseSpecFlag - query any restraint specifications vis_RCaseSetName - set name string GetName - get name string vis_RCaseSetComplexMode - set specify/query mode for complex data GetComplexMode - get specify/query mode for complex data vis_RCaseGetComplex - query for complex data existence
Define single point constraints at a node using vis_RCaseSetSPC. Generate a node group of all nodes at which single point constraints have been defined using vis_RCaseNodeGroup. Query for the number and type of degrees of freedom at a node which have single point constraints using vis_RCaseSPCTag. Return the single point constraint value and/or equivalencing information at a node using vis_RCaseSPC. Return the maximum node index for which single point constraints have been defined using vis_RCaseSPCMax. Similar functions exist for setting and querying contraints at elements. vis_RCaseSetElemC, vis_RCaseElemC, etc. Note that the RCASE_MASTER option does not exist for element constraints.
Each applied constraint value component may be assigned a separate table identifier using the function vis_RCaseSetSPCTId. These tables are represented by TCurve objects and are normally used to specify time or frequency dependent variation of the individual components of applied constraint.
For dynamics applications the applied constraint may be a time derivative of the primary degree of freedom value. This is done using the function vis_RCaseSetSPCDot. For example, applied velocities and/or accelerations may be specified.
Single point constraint types are as follows.
*vis_RCaseBegin - create an instance of a RCase object
vis_RCase *vis_RCaseBegin ()
None
Destroy an instance of a RCase object using
void vis_RCaseEnd (vis_RCase *rcase)
Return the current value of a RCase object error flag using
Vint vis_RCaseError (vis_RCase *rcase)
vis_RCaseAdd - add two restraint cases
void vis_RCaseAdd (vis_RCase *rcase, vis_RCase *addrcase)
rcase Pointer to RCase object. addrcase Pointer to RCase object to add
None
vis_RCaseClear - clear all constraints
void vis_RCaseClear (vis_RCase *rcase)
rcase Pointer to RCase object.
None
vis_RCaseSetSPC - set a single point constraint
void vis_RCaseSetSPC (vis_RCase *rcase, Vint index, Vint tag, Vint type, Vfloat value[], Vint master) void vis_RCaseSetSPCdv (vis_RCase *rcase, Vint index, Vint tag, Vint type, Vdouble value[], Vint master)
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type type Single point constraint type =RCASE_FREE Free =RCASE_FIXED Simple fixity =RCASE_APPLIED Constraint to applied value =RCASE_MASTER Equivalence to another master node value Applied value master Master node
None
vis_RCaseSetSPCDot - set a single point constraint derivative
void vis_RCaseSetSPCDot (vis_RCase *rcase, Vint index, Vint tag, Vint dottype)
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type dottype Derivative type =RCASE_DOF Degree of freedom =RCASE_DOFDOT First time derivative =RCASE_DOFDOTDOT Second time derivative
None
vis_RCaseSetSPCTId - set a single point constraint table id
void vis_RCaseSetSPCTId (vis_RCase *rcase, Vint index, Vint tag, Vint tid[])
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type tid Table identifiers
None
vis_RCaseSPCMax - query maximum node index
void vis_RCaseSPCMax (vis_RCase *rcase, Vint *maxindex)
rcase Pointer to RCase object.
maxindex Maximum node number
vis_RCaseSPCTag - query constraint tags at a node
void vis_RCaseSPCTag (vis_RCase *rcase, Vint index, Vint *ntags, Vint tag[])
rcase Pointer to RCase object. index Node number, index >= 1
ntags Number of degrees of freedom with single point constraints tag Vector of degree of freedom types
vis_RCaseSPCUseTag - query used constraint tags
void vis_RCaseSPCUseTag (vis_RCase *rcase, Vint *ntags, Vint tag[])
rcase Pointer to RCase object.
ntags Number of degrees of freedom types used at nodes tag Vector of degree of freedom types
vis_RCaseSPC - query single point constraint
void vis_RCaseSPC (vis_RCase *rcase, Vint index, Vint tag, Vint *type, Vfloat value[], Vint *master) void vis_RCaseSPCdv (vis_RCase *rcase, Vint index, Vint tag, Vint *type, Vdouble value[], Vint *master)
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type
type Single point constraint type value Applied value master Master node
vis_RCaseSPCDot - query single point constraint derivative
void vis_RCaseSPCDot (vis_RCase *rcase, Vint index, Vint tag, Vint *dottype)
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type
dottype Derivative type
vis_RCaseSPCTId - query single point constraint table id
void vis_RCaseSPCTId (vis_RCase *rcase, Vint index, Vint tag, Vint tid[])
rcase Pointer to RCase object. index Node number, index >= 1 tag Degree of freedom type
tid Table identifiers
vis_RCaseNodeGroup - node group of single point constraints
void vis_RCaseNodeGroup (vis_RCase *rcase, vis_Group *group, vis_Group *groupdst)
rcase Pointer to RCase object. group Pointer to Group object of nodes. If NULL, then all nodes are assumed.
groupdst Pointer to derived Group object of nodes.
The output groupdst must have been previously created and defined as a node group. Note that groupdst is not cleared by this function, the derived node entities are added to any existing nodes in the output groupdst.
vis_RCaseSetElemC - set an element constraint
void vis_RCaseSetElemC (vis_RCase *rcase, Vint index, Vint tag, Vint type, Vfloat value) void vis_RCaseSetElemCdv (vis_RCase *rcase, Vint index, Vint tag, Vint type, Vdouble value)
rcase Pointer to RCase object. index Element number, index >= 1 tag Degree of freedom type type Constraint type =RCASE_FREE Free =RCASE_FIXED Simple fixity =RCASE_APPLIED Constraint to applied value value Applied value
None
vis_RCaseElemCMax - query maximum element index
void vis_RCaseElemCMax (vis_RCase *rcase, Vint *maxindex)
rcase Pointer to RCase object.
maxindex Maximum element number
vis_RCaseElemCTag - query constraint tags at an element
void vis_RCaseElemCTag (vis_RCase *rcase, Vint index, Vint *ntags, Vint tag[])
rcase Pointer to RCase object. index Element number, index >= 1
ntags Number of degrees of freedom with constraints tag Vector of degree of freedom types
vis_RCaseElemCUseTag - query used constraint tags
void vis_RCaseElemCUseTag (vis_RCase *rcase, Vint *ntags, Vint tag[])
rcase Pointer to RCase object.
ntags Number of degrees of freedom types used at elements tag Vector of degree of freedom types
vis_RCaseElemC - query element constraint
void vis_RCaseElemC (vis_RCase *rcase, Vint index, Vint tag, Vint *type, Vfloat *value) void vis_RCaseElemCdv (vis_RCase *rcase, Vint index, Vint tag, Vint *type, Vdouble *value)
rcase Pointer to RCase object. index Element number, index >= 1 tag Degree of freedom type
type Constraint type value Applied value
vis_RCaseElemGroup - element group of constraints
void vis_RCaseElemGroup (vis_RCase *rcase, vis_Group *group, vis_Group *groupdst)
rcase Pointer to RCase object. group Pointer to Group object of elements. If NULL, then all elements are assumed.
groupdst Pointer to derived Group object of nodes.
The output groupdst must have been previously created and defined as a element group. Note that groupdst is not cleared by this function, the derived element entities are added to any existing element in the output groupdst.
vis_RCaseSpecFlag - query any restraint specifications
void vis_RCaseSpecFlag (vis_RCase *rcase, Vint *flag)
rcase Pointer to RCase object.
flag Flag indicating if any restraints set
vis_RCaseSetName - set name string
void vis_RCaseSetName (vis_RCase *rcase, Vchar *name)
rcase Pointer to RCase object. name Name string
None
Get name as an output argument.
void vis_RCaseGetName (const vis_RCase *rcase, Vchar name[])
vis_RCaseSetComplexMode - set specify/query mode for complex data
void vis_RCaseSetComplexMode (vis_RCase *rcase, Vint complexmode)
rcase Pointer to RCase object. complexmode Complex mode =SYS_COMPLEX_REAL Real =SYS_COMPLEX_IMAGINARY Imaginary =SYS_COMPLEX_REALIMAGINARY Real and imaginary
None
Get complexmode as an output argument.
void vis_RCaseGetComplexMode (const vis_RCase *rcase, Vint *complexmode)
vis_RCaseGetComplex - query for complex data existence
void vis_RCaseGetComplex (vis_RCase *rcase, Vint *complexflag)
rcase Pointer to RCase object.
complexflag Complex data existence flag
The functions associated with a MCase object are the following.
*vis_MCaseBegin - create an instance of a MCase object vis_MCaseEnd - destroy an instance of a MCase object vis_MCaseError - return MCase object error flag
vis_MCaseAdd - add two constraint cases vis_MCaseClear - clear all constraints vis_MCaseSetCon - set a built-in constraint vis_MCaseCon - query a built-in constraint vis_MCaseDel - delete a constraint vis_MCaseMax - query for number of constraints defined vis_MCaseNum - query for number terms in a constraint vis_MCaseSetMPC - set a multipoint dof constraint vis_MCaseSetRHS - set a multipoint dof constraint inhomogeneity vis_MCaseMPC - query multipoint dof constraint vis_MCaseSpecFlag - query any constraint specifications vis_MCaseType - query for type of a constraint vis_MCaseInitIter - prepare to successively visit each constraint vis_MCaseNextIter - return next constraint
C1*U1 + C2*U2 + ... + Ci*Ui + ... + Cn*Un = Rwhere Ui represents a degree of freedom at a node and Ci is the associated coefficient. The multipoint constraint may be contain an inhomogeneity, R. Query for the degrees of freedom, coefficients and inhomogeneity associated with an MPC using vis_MCaseMPC.
Define built-in constraints using vis_MCaseSetCon. Query for the built-in constraint information using vis_MCaseCon. Current built-in constraint types are as follows.
*vis_MCaseBegin - create an instance of a MCase object
vis_MCase *vis_MCaseBegin ()
None
Destroy an instance of a MCase object using
void vis_MCaseEnd (vis_MCase *mcase)
Return the current value of a MCase object error flag using
Vint vis_MCaseError (vis_MCase *mcase)
vis_MCaseAdd - add two constraint cases
void vis_MCaseAdd (vis_MCase *mcase, vis_MCase *addmcase)
mcase Pointer to MCase object. addmcase Pointer to MCase object to add
None
vis_MCaseClear - clear all constraints
void vis_MCaseClear (vis_MCase *mcase)
mcase Pointer to MCase object.
None
vis_MCaseSetCon - set a built-in constraint
void vis_MCaseSetCon (vis_MCase *mcase, Vint index, Vint type, Vint ix[])
mcase Pointer to MCase object. index Constraint number, index >= 1 type Type of constraint =MCASE_BEAM Beam =MCASE_LINK Link =MCASE_PIN Pin =MCASE_TIE Tie ix Node numbers.
None
vis_MCaseCon - query built-in constraint
void vis_MCaseCon (vis_MCase *mcase, Vint index, Vint *type, Vint *nterms, Vint ix[])
mcase Pointer to MCase object. index Constraint number, index >= 1
type Type of constraint nterms Number of terms in series ix Node numbers.
vis_MCaseSetMPC - set a multipoint constraint
void vis_MCaseSetMPC (vis_MCase *mcase, Vint index, Vint nterms, Vint ix[], Vint tag[], Vfloat c[], Vfloat r) void vis_MCaseSetMPCdv (vis_MCase *mcase, Vint index, Vint nterms, Vint ix[], Vint tag[], Vdouble c[], Vdouble r)
mcase Pointer to MCase object. index Constraint number, index >= 1 nterms Number of terms in series ix Node numbers. tag Degree of freedom tags c Coefficients r Inhomogeneity
None
vis_MCaseSetRHS - set a multipoint dof constraint inhomogeneity
void vis_MCaseSetRHS (vis_MCase *mcase, Vint index, Vfloat r) void vis_MCaseSetRHSdv (vis_MCase *mcase, Vint index, Vdouble r)
mcase Pointer to MCase object. r Inhomogeneity
None
vis_MCaseDel - delete a constraint
void vis_MCaseDel (vis_MCase *mcase, Vint index)
mcase Pointer to MCase object. index Constraint number, index >= 1
None
vis_MCaseMPC - query multipoint constraint
void vis_MCaseMPC (vis_MCase *mcase, Vint index, Vint *nterms, Vint ix[], Vint tag[], Vfloat c[], Vfloat *r) void vis_MCaseMPCdv (vis_MCase *mcase, Vint index, Vint *nterms, Vint ix[], Vint tag[], Vdouble c[], Vdouble *r)
mcase Pointer to MCase object. index Constraint number, index >= 1
nterms Number of terms in series ix Node numbers. tag Degree of freedom tags c Coefficients r Inhomogeneity
vis_MCaseMax - query for number of constraints defined
void vis_MCaseMax (vis_MCase *mcase, Vint *maxindex, Vint *maxterms) Vint *maxrhs)
mcase Pointer to MCase object.
maxindex Maximum constraint number maxterms Maximum number of terms defined in any constraint maxrhs Maximum number of non-zero right hand sides defined
vis_MCaseNum - query for number of terms in constraint
void vis_MCaseNum (vis_MCase *mcase, Vint index, Vint *nterms)
mcase Pointer to MCase object. index Constraint number, index >= 1
nterms Number of terms in constraint
vis_MCaseSpecFlag - query any constraint specifications
void vis_MCaseSpecFlag (vis_MCase *mcase, Vint *flag)
mcase Pointer to MCase object.
flag Flag indicating if any constraint set
vis_MCaseType - query for constraint type
void vis_MCaseType (vis_MCase *mcase, Vint index, Vint *type)
mcase Pointer to MCase object. index Constraint number, index >= 1
type Type of constraint
vis_MCaseInitIter - prepare to successively visit each constraint
void vis_MCaseInitIter (vis_MCase *mcase)
mcase Pointer to MCase object.
None
Sequential access to each constraint index
void vis_MCaseNextIter (vis_MCase *mcase, Vint *index)
The functions associated with an ICase object are the following.
*vis_ICaseBegin - create an instance of a ICase object vis_ICaseEnd - destroy an instance of a ICase object vis_ICaseError - return ICase object error flag
vis_ICaseClear - clear all single point initial conditions vis_ICaseSetSPV - set a single point initial condition value vis_ICaseSPV - query initial conditions given a type vis_ICaseSPVMax - query maximum node index vis_ICaseSPVType - query initial condition types at a node vis_ICaseNodeGroup - node group of initial conditions vis_ICaseSpecFlag - query any initial condition specifications
Initial condition types are as follows.
*vis_ICaseBegin - create an instance of a ICase object
vis_ICase *vis_ICaseBegin ()
None
Destroy an instance of a ICase object using
void vis_ICaseEnd (vis_ICase *icase)
Return the current value of a ICase object error flag using
Vint vis_ICaseError (vis_ICase *icase)
vis_ICaseClear - clear all single point initial conditions
void vis_ICaseClear (vis_ICase *icase)
icase Pointer to ICase object.
None
vis_ICaseSetSPV - set a single point initial condition value
void vis_ICaseSetSPV (vis_ICase *icase, Vint index, Vint type, Vint ntags, Vint tag[], Vfloat value[]) void vis_ICaseSetSPVdv (vis_ICase *icase, Vint index, Vint type, Vint ntags, Vint tag[], Vdouble value[])
icase Pointer to ICase object. index Node number type Initial condition type =ICASE_DOF Degree of freedom value =ICASE_DOFDOT Time derivative value ntags Number of degree of freedom types tag Vector of degree of freedom types value Vector of values
None
vis_ICaseSPV - query initial conditions given a type
void vis_ICaseSPV (vis_ICase *icase, Vint index, Vint type, Vint *ntags, Vint tag[], Vfloat value[]) void vis_ICaseSPVdv (vis_ICase *icase, Vint index, Vint type, Vint *ntags, Vint tag[], Vdouble value[])
icase Pointer to ICase object. index Node number type Initial condition type =ICASE_DOF Degree of freedom value =ICASE_DOFDOT Time derivative value
ntags Number of degree of freedom types tag Vector of degree of freedom types value Vector of values
vis_ICaseSPVMax - query maximum node index
void vis_ICaseSPVMax (vis_ICase *icase, Vint *maxindex)
icase Pointer to ICase object.
maxindex Maximum node number
vis_ICaseSPVType - query initial condition types at a node
void vis_ICaseSPVType (vis_ICase *icase, Vint index, Vint *ntypes, Vint type[])
icase Pointer to ICase object. index Node number
ntypes Number of types of initial conditions type Array of initial condition types
vis_ICaseNodeGroup - node group of initial conditions
void vis_ICaseNodeGroup (vis_ICase *icase, vis_Group *group, vis_Group *groupdst)
icase Pointer to ICase object. group Pointer to Group object of nodes. If NULL, then all nodes are assumed.
groupdst Pointer to derived Group object of nodes.
The output groupdst must have been previously created and defined as a node group. Note that groupdst is not cleared by this function, the derived node entities are added to any existing nodes in the output groupdst.
vis_ICaseSpecFlag - query any initial condition specifications
void vis_ICaseSpecFlag (vis_ICase *icase, Vint *flag)
icase Pointer to ICase object.
flag Flag indicating if any initial conditions set