### 2.3.10. Fortran Interface

The following routines are callable from Fortran, and interface with the corresponding C routine. There are currently no return values.

#### 2.3.10.1. cfxinit

    call cfxinit

Interface to `cfxImportInit`. Initializes for import.

#### 2.3.10.2. cfxtest

    CHARACTER*n filename
    call cfxtest(filename)

Interface to `cfxImportTest`. ``filename`` is a CHARACTER*n value that gives the name of the file to dump the output to.

#### 2.3.10.3. cfxunit

    CHARACTER*n units
    call cfxunit(units)

Interface to `cfxImportUnits`. Specify the units the mesh is specified in.

#### 2.3.10.4. cfxwarn

    CHARACTER*n mesg
    call cfxwarn(mesg)

Interface to `cfxImportWarning`. Emit a warning message `mesg`.

#### 2.3.10.5. cfxfatl

    CHARACTER*n mesg
    call cfxfatl(mesg)

Interface to `cfxImportFatal`. Emit a warning message `mesg` and terminate the program cleanly.

#### 2.3.10.6. cfxdone

    call cfxdone

Interface to `cfxImportDone`. Terminates the program and transfers the data to CFX-Pre.

#### 2.3.10.7. cfxnode

    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.

#### 2.3.10.8. cfxnodg

    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.

#### 2.3.10.9. cfxnods

    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.

#### 2.3.10.10. cfxelem

    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`.

#### 2.3.10.11. cfxeleg

    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`.

#### 2.3.10.12. cfxeles

    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.

#### 2.3.10.13. cfxfacd

    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.

#### 2.3.10.14. cfxface

    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.

#### 2.3.10.15. cfxffac

    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`).

#### 2.3.10.16. cfxregn

    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`.

#### 2.3.10.17. cfxregb

    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.

#### 2.3.10.18. cfxrega

    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`.

#### 2.3.10.19. cfxrege

    call cfxrege()

Interface to `cfxImportEndReg`. Finish defining the current region (after the call there will be no current region).

#### 2.3.10.20. cfxregs

    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.

#### 2.3.10.21. cfxregg

    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`.

#### 2.3.10.22. cfxcmpb

    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.

#### 2.3.10.23. cfxcmpa

    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`.

#### 2.3.10.24. cfxcmpe

    call cfxcmpe()

Interface to `cfxImportEndCompReg`. Finish defining the current composite region (after the call there will be no current composite region).

Release 18.2 - © ANSYS, Inc. All rights reserved.