FELT(4fe)

NAME
felt - finite element problem description file format

DESCRIPTION
The felt(4fe) file format is used by the programs of the finite element package, corduroy(1fe), felt(1fe), velvet(1fe), and xfelt(1fe), to describe a finite element problem. The file is human readable and consists of a friendly, intuitive syntax rather than a table of numbers. Syntactic and semantic errors are detected and reported assuring that only valid problem descriptions are used. In general white space is unimportant and arbitrary numeric expressions may be used. As per standard convention, boldface items represent keywords, italicized items represent the syntax of the grammar, and items in brackets are optional. The file syntax is shown below.

    [ problem-description ]
    [ object-definitions ]
    end

The problem-description specifies the problem title and the number of nodes and elements in the problem. If this section is not specified then the problem will be unnamed and is assumed to contain zero nodes and zero elements. This section is absent for example in defaults files which define objects but do not specify an actual problem instance. The format for a problem-description is given below.

    problem description
    [ title = string ]
    [ nodes = integer ]
    [ elements = integer ]

If the title is missing then the problem is unnamed. If nodes or elements is missing then none of that type of object are expected. The assignments can occur in any order and can even be repeated with the last assignment being used.

An object-definition section defines objects of a specified type. Objects include nodes, elements, materials, constraints, forces, and distributed loads. Each of these types of objects is discussed below. Multiple object-definition sections are allowed and the sections may occur in any order.

  Nodes
Nodes are points in cartesian space to which elements are attached. A node must have a constraint and may have an optional force. A node is identified by a natural number. The syntax is as follows:

    nodes
    node-definitions

where a node-definition takes the following form:

    node-number
    [ x = expression ]
    [ y = expression ]
    [ z = expression ]
    [ constraint = constraint-name ]
    [ force = force-name ]

The node-number must appear first on a line and starts the definition. Each node must have a unique number. If a cartesian coordinate is not given then the coordinate of the previous node is used. Similarly, if no constraint is given then the constraint applied to the previous node is used. As above, the assignments can appear in any order and any number of times. As indicated above, some objects are identified by their name and some by their number. Elements and nodes have numbers while materials, forces, loads, and constraints have names.

  Elements
Elements are linear, planar, or solid objects which are attached to nodes. Each element must have a material and may have optional loads. Furthermore, each element has a type, or definition. Like nodes, elements are identified by a unique natural number. Elements of specific type are defined with the following syntax:

    element-type elements
    element-definition

where an element-type is one of the following:

    truss
    beam
    beam3d
    CSTPlaneStrain
    CSTPlaneStress
    iso2d_PlaneStrain
    iso2d_PlaneStress
    quad_PlaneStrain
    quad_PlaneStress
    timoshenko

and an element-definition has the following form:

    element-number
    nodes = [ node-list ]
    [ material = material-name ]
    [ load = load-name-list ]

The element-number must appear first on a line and starts the definition. Each element must have a unique number. If no material is given then the material applied to the previous element is used. The load-name-list is a list of up to three loads to apply to the element. The node-list is a comma or white space separated list of node numbers. Each type of element requires a certain of nodes and in some cases a special "null node" which is numbered zero may be used to indicate a gap or filler in the list.

  Materials
Elements are made of a type of material. Each material has a name and certain physical properties not all of which may be used by any one element. The syntax for defining materials is as follows:

    material properties
    material-definitions

A material-definition has the following form:

    material-name
    [ E = expression ]
        # Young's modulus
    [ Ix = expression ]
        # moment of inertia about x-x axis
    [ Iy = expression ]
        # moment of inertia about y-y axis
    [ Iz = expression ]
        # moment of inertia about z-z axis
    [ A = expression ]
        # cross-sectional area
    [ J = expression ]
        # polar moment of inertia
    [ G = expression ]
        # bulk (shear) modulus
    [ t = expression ]
        # thickness
    [ rho = expression ]
        # density
    [ nu = expression ]
        # Poisson's ratio
    [ kappa = expression ]
        # shear force correction

The material-name must be the first word on the line and starts the definition. If an attribute of a material is not specified then that attribute is zero. The assignments may occur in any order.

  Constraints
Constraints are applied to nodes to indicate about which axes a node can move. The syntax for defining a constraint is as follows:

    constraints
    constraint-definitions

A constraint-definition has the following form:

    constraint-name
    [ tx = c | u | expression ]
        # translation along x axis
    [ ty = c | u | expression ]
        # translation along y axis
    [ tz = c | u | expression ]
        # translation along z axis
    [ rx = c | u | expression | h ]
        # rotation about x axis
    [ ry = c | u | expression | h ]
        # rotation about y axis
    [ rz = c | u | expression | h ]
        # rotation about z axis

The constraint-name must be the first word on the line and starts the definition. A value of c (or C) indicates that the axis is constrained and a value of u (or U) indicates that the axis is unconstrained. An expression indicates an initial displacement in an axis which is constrained. A value of h (or hinge) indicates a hinge. By default, all axes are unconstrained.

  Forces
Forces, or point loads, may be applied to nodes. The syntax for a force definition is as follows:

    forces
    force-definitions

where a force-definition has the following form:

    force-name
    [ Fx = expression ]
        # force along x axis
    [ Fy = expression ]
        # force along y axis
    [ Fz = expression ]
        # force along z axis
    [ Mx = expression ]
        # moment about x axis
    [ My = expression ]
        # moment about y axis
    [ Mz = expression ]
        # moment about z axis

The force-name must be the first word on the line and starts the definition. If the force or moment is not specified then it is assumed to be zero.

  Loads
Distributed loads, or loads for short, are applied to elements. The syntax for a defining a distributed load is as follows:

    distributed loads
    load-definitions

where a load-definition has the following form:

    load-name
    [ direction = dir ]
    [ values = pair-list ]

The load-name must be the first word on the line and starts the definition. The dir is one of LocalX, LocalY, LocalZ (local coordinate system), GlobalX, GlobalY, GlobalZ (global coordinate system), parallel, or perpendicular. The pair-list is a sequence of pairs. A pair is a node number and an expression enclosed in parentheses. The node number refers to the position within the element rather than referring to an actual node.

  Expressions
An expression can consist of the following operators and functions which have the usual precedences and associativities: +, -, *, /, ( ), sin, cos, tan, and sqrt.

AUTHOR
The felt file format was developed by Jason I. Gobat (jgobat@ucsd.edu) and Darren C. Atkinson (atkinson@ucsd.edu).

SEE ALSO
corduroy(1fe), felt(1fe), velvet(1fe), xfelt(1fe), corduroy(4fe).