The following routines are callable from Fortran, and interface with the corresponding C routine. There are currently no return values.
CHARACTER*n filename call cfxtest(filename)
Interface to cfxImportTest
.
is a CHARACTER*n value that
gives the name of the file to dump the output to.<filename>
CHARACTER*n units call cfxunit(units)
Interface to cfxImportUnits
. Specify the
units the mesh is specified in.
CHARACTER*n mesg call cfxwarn(mesg)
Interface to cfxImportWarning
. Emit a warning
message mesg
.
CHARACTER*n mesg call cfxfatl(mesg)
Interface to cfxImportFatal
. Emit a warning
message mesg
and terminate the program cleanly.
call cfxdone
Interface to cfxImportDone
. Terminates
the program and transfers the data to CFX-Pre.
INTEGER idnode DOUBLE PRECISION x,y,z call cfxnode(idnode,x,y,z)
Interface to cfxImportNode
. Imports a node
with the specified coordinates. idnode
is an
INTEGER value for the node ID, and x, y, and z are the DOUBLE PRECISION
coordinates of the node.
INTEGER idnode DOUBLE PRECISION x,y,z call cfxnodg(idnode,x,y,z)
Interface to cfxImportGetNode
. Queries
the current coordinates or a node referenced by idnode
. idnode
is an INTEGER value for the node ID,
and x, y, and z are the DOUBLE PRECISION coordinates of the node.
INTEGER ids(*) call cfxnods(ids)
Interface to cfxImportNodeList
. Retrieves
the list of all valid node IDs having been imported into the API. ids
is an INTEGER array that must be at least as large
as the number of nodes currently imported.
INTEGER idelem,itelem,nodes(*) call cfxelem(idelem,itelem,nodes)
Interface to cfxImportElement
. idelem
is element ID, and itelem
is
the element type (number of nodes - 4,5,6, or 8). Both are of type
INTEGER. nodes
is an array of INTEGER node IDs
dimensioned of size at least itelem
.
INTEGER idelem,itelem,nodes(*) call cfxeleg(idelem,itelem,nodes)
Interface to cfxImportGetElement
. Queries
the current node ids that define the vertices of the element referenced
by the id idelem
. idelem
is element ID, and itelem
is the element type
(number of nodes - 4, 5, 6, or 8). Both are of type INTEGER. nodes
is an array of INTEGER values that will contain
the node IDs on successful return. It should be dimensioned of size
at least itelem
.
INTEGER ids(*) call cfxeles(ids)
Interface to cfxImportElemList
. Retrieves
the list of all valid element IDs having been imported into the API. ids
is an INTEGER array that must be at least as large
as the number of elements currently imported.
INTEGER eleid, elefc, id call cfxfacd(eleid, elefc, id)
Interface to cfxImportFaceID
. Defines a
face id (id
) in terms of an element ID (eleid
) and local face (elefc
) of
that element.
INTEGER eleid, elefc, vtx(*) INTEGER cfxface(eleid, elefc, vtx)
Interface to cfxImportGetFace
. Returns
the node IDs of the vertices defining a face located by the element
ID (eleid
) and local face (elefc
) of that element.
INTEGER eleid, nvtx, vtx(*), elefc call cfxffac(eleid, nvtx, vtx, elefc)
Interface to cfxImportFindFace
. Returns
the local face (elefc
) of an element (eleid
) that is defined by the vertices (vtx
).
CHARACTER*n regname INTEGER type,nobjs,objs(*) call cfxregn(regname,type,nobjs,objs)
Interface to cfxImportRegion
. Regname is
a CHARACTER*n string defining the region name, type is an INTEGER
value specifying the type of region, either 1 for nodes, 2 for faces,
or 3 for elements. nobjs
is an INTEGER value
that gives the number of objects in the region, and objs is an INTEGER
array of object IDs dimensioned at least size nobjs
.
CHARACTER*n regname INTEGER type call cfxregb(regname,type)
Interface to cfxImportBegReg
. Start defining
a new region or make an existing region of the same name the current
one if it already exists and is of the same type. regname
is a CHARACTER*n string defining the region name, type is an
INTEGER value specifying the type of region, either 1 for nodes, 2
for faces, or 3 for elements.
INTEGER nobjs,objs(*) call cfxrega(nobjs,objs)
Interface to cfxImportAddReg
. Add the objects
(objs
) to the current region. nobjs
is an INTEGER value that gives the number of objects to add to the
region, and objs
is an INTEGER array of object
IDs dimensioned at least size nobjs
.
call cfxrege()
Interface to cfxImportEndReg
. Finish defining
the current region (after the call there will be no current region).
CHARACTER*n regname INTEGER numobj call cfxregs(regname,numobj)
Query how many objects (returned in numobj
) are referenced by the region regname
. regname
is a CHARACTER*n string specifying the region
name.
CHARACTER*n regname INTEGER type, obj(*) call cfxregg(regname, type, objs)
Get the type (type
) and object IDs (objs
) referenced by the region regname
. regname
is a CHARACTER*n string specifying
the region name. type
is INTEGER and objs
is an INTEGER array at least of the size returned
by cfxregs
.
CHARACTER*n regname call cfxcmpb(regname)
Interface to cfxImportBegCompReg
. Start
defining a new composite region or make an existing composite region
of the same name as the current one if it already exists. regname
is a CHARACTER*n string defining the region
name.
INTEGER nregs CHARACTER*(n) regs call cfxcmpa(nregs,regs)
Interface to cfxImportAddCompReg
. Add the
region names (regs
) to the current composite
region being defined. nregs
is an INTEGER value
that gives the number of regions to add to the region, and regs
is a CHARACTER*(*) array of region names
dimensioned at least size nregs
.