Mesh Object
cmo_create(cmo_name,ierror)
Create a new mesh object called cmo_name
cmo_name name of new mesh object
ierror error return - 0 if no errors
cmo_get_intinfo(ioption,cmo_name,iout,lout,itype,ierror)
Get values of scalar attribute of the mesh object.
ioption  is the name of the mesh object attribute whose value is to be retrieved; the information retrieved may be one of these key words or it may be the name of a user supplied integer attribute  (generated by a cmo_addatt command):
ioption number_of_attributes
nnodes (number of nodes in the mesh)
nelements (number of elements in the mesh)
nfaces (number of unique topological facets)
nedges (number of unique edges in mesh)
mbndry (boundary node flag value)
ndimensions_topo (topological dimensionality)
ndimensions_geom
nodes_per_element
edges_per_element
faces_per_element
cmo_name name of mesh object
iout value of attribute returned
lout length of attribute always 1
itype type of attribute always 1
ierror return flag (0= no errors)
cmo_get_info(ioption, cmo_name, iout, lout, itype, ierror)
Return pointer to array attributes.
ioption - name of mesh object attribute.  It may be one of these keywords or a users supplied array attribute.
ioption (key words) isetwd ( pset membership information)
ialias (alternate node numbers)
imt1 (node material)
itp1 (node type)
icr1 (constraint numbers for nodes)
isn1 (child, parent node correspondence)
ign1 (igeneration numbers for nodes)
xic, yic, zic (node coordinates
itetclr (integer array of element material)
itettyp (geometry of element)
xtetwd (eltset membership information)
itetoff (index into itet array for an element)
jtetoff (index into jtet array for an element)
itet (node vertices for each element)
jtet (element connectivity)
cmo_name name of mesh object
iout pointer to the attribute if the attribute is a vector
lout length of array associated with this pointer 
itype type of attribute always 4
ierror return flag (0= no errors)
cmo_set_info(ioption,cmo_name,data,lin,itype,ierror) Set values of integer  attribute of the mesh object.
ioption  attribute name
cmo_name name of mesh object
data  value of the scalar attribute to be set
lin  length code of attribute (1)
itype type of attribute (1)
cmo_get_name(cmo_name,ierror)
Get the name of the current mesh object.
cmo_name                         name of current mesh object
cmo_set_name(cmo_name,ierror)
Set the name of the current mesh object.
 
cmo_get_attribute_name(cmo_name,attribute_index,attribute_name,ierror)
This routine is useful when looping through all the attributes of a mesh object. To get the number of attributes use cmo_get_intinfo('number_of_attributes').


cmo_newlen(cmo_name,ierror)

Adjust memory associated with mesh object. Must be called whenever the size of the mesh is adjusted in order to provide memory to the pointered attributes.
 
cmo_release(cmo_name,ierror)
Release a mesh object called cmo_name and release its memory.
cmo_name  name of mesh object 
ierror error return - 0 if no errors
cmo_get_attinfo (ioption, cmo_name, iout, rout, cout, ipout, lout,itype, ierror)
Retrieve a mesh object value,  the attribute type will determine what is returned.
 
ioption name of mesh object attribute 
cmo_name  name of mesh object
iout,rout,cout,ipout  returned value of attribute - only one of the four will be returned depending on attribute type
ierror error return - 0 if no errors
itype attribute type returned ( 1= integer, 2=real, 3=character, 4=pointer)
cmo_get_length(att_name,cmo_name,length,irank,ierror)
Retrieves the integer values of the requested mesh object attributes length and rank.
 
att_name name of mesh object attribute
cmo_name name of mehs object
length  length of attribute (integer)
irank rank of attribute (integer)
ierror return flag (0 = no errors)
cmo_set_attinfo(ioption,cmo_name,idata,rdata,cdata,type_data,ierror)
Set mesh object attribute values for integer, real or character attributes.
 
ioption name of attribute
cmo_name name of mesh object 
idata,rdata,cdata  value to be set depending on type of attribute
type_data type of data, 1=integer, 2=real, 3=character
ierror return flag (0 = no errors)
cmo_get_attparam(ioption,cmo_name,index,ctype,crank,clen,cinter,cpers,cio,ierror)
Return attribute definition:
 
ioption character string that gives name of attribute.  This is required input parameter
cmo_name name of mesh object. This is an input parameter that is usually a character variable that contains the name of the mesh object.
index attribute number 
ctype character string that gives type of attribute:  'INT' ,' REAL'   'CHARACTER', ' VINT (Vector of integers),  'VDOUBLE' (vector of reals),  'VCHAR' (vector of characters)
crank character string that gives rank of attribute: e.g.'scalar', 'vector', or the name of a user defined INT attribute.
clen chracter string that gives length of attribute: e.g. 'nnodes', 'nelements', 'scalar', 'vector', or a user defined INT attribute
cinter character string that gives interpolation method: e.g. 'linear', 'log'
cpers character string that gives persistence: 'permanent' or 'temporary'
cio character string that gives i/o flags (see cmo/modatt for detailed expanation)
ierror error flag ( 0= no errors)
EXAMPLES:
 
call get_attinfo ('ipointi', acmo, firstpt, rout, cout, ipout, itype, ierror)
The value of the mesh object attribute ipointi wil be returned in the variable called firstpt.  A 1 will be returned in itype.

cmo_get_attinfo('geom_name', cmoa, iout,rout,gname, ipout,itype,ierror)
The value of the mesh object attribute called geom_name in the mesh cmoa will be returned in the variable gname.  A 3 will be returned in itype.

cmo_get_attparam('ipointi', cmoa, index, ctype,crank,clen,cinter,cpers,cio,ierror)
Returns: index=37, ctype='INT', crank='scalar',  clen=  'scalar', cinter=  'constant',  cpers =   'permanent',cio='l'.

cmo_set_attinfo('epsilonl', -def-, idum, epsilonnew,cdum,2,ierror)
Changes the value of the current mesh object attribute named epsilonl to the value of the local real variable epsilonnew.