/DEQATN

Optimization Keyword Specifies one or more equations for use in optimization.

Format

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
/DEQATN/eqn_ID
title
EQN(1); EQN(2); ...
...
EQN(n-1); EQN(n)

Definitions

Field Contents SI Unit Example
eqn_ID Design equation identifier

(Integer > 0)

 
title Title

(Character, maximum 100 characters)

 
EQN(i) i-th equation

(Character string)

 

Example

#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/DRESP1/1
u_in
### RTYPE=5: Displacement
### PTYPE=1: Node
### ATTA=1 : Translational displacement in X-direction 
### ATTI=103 : 103 is node group identifier is due to PTYPE = 1
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
#    RTYPE     PTYPE    REGION      ATTA      ATTB      ATTI
         5         1                   1                 103
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/DRESP1/2
u_out
### RTYPE=5: Displacement
### PTYPE=1: Node
### ATTA=1 : Translational displacement in X-direction 
### ATTI=104 : 104 is node group identifier is due to PTYPE = 1
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
#    RTYPE     PTYPE    REGION      ATTA      ATTB      ATTI
         5         1                   1                 104
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/DRESP2/4
dresp2
### EQID=1: /DEQATN identifier is 1
### VARTYPE1=3: Indicates the type of variables is 3 (DRESP1)
### ID1=1: first Variable(x) is ID1=1 in DRESP1 (dx in node group 103)
### ID2=2: second Variable(y) is ID2=2 in DRESP1 (dx in node group 104)
#     FUNC      EQID    REGION
         1
# VARTYPE1       ID1       ID2       ID1       ID2       ID1       ID2       ID1       ID2       ID1
         3         1         2
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|
/DEQATN/1
deqatn
# EQUATIONS
dm(x,y)=(x+y)/2.
#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|

Comments

  1. Blank characters in the equation have no effect, even within a constant, variable or function name. Lower and upper case letters are equivalent.
  2. There must be only one variable at the left-hand side of each equation in any equation card. The variable of the first equation must be followed by an argument listed in the following format:
    v1(x1,x2,…,xn) = expression(x1,x2,…,xn);
    v2 = expression(x1,x2,…,xn,v1);
    …
    vi = expression(x1,x2,…,xn,v1,v2,…,vi-1);
    …
    vn = expression(x1,x2,…,xn,v1,v2,…,vn-1);

    Where, vi is the variable of equation i. (x1, x2, ..., xn) is the argument list for variable v1. (v1,v2,...,vi-1) is the variable list which corresponds to the result of equation 1 through equation I-1.

  3. Constants can be specified in a format of either integer or floating point. A floating point number can be in a format of either normal decimal-point format (3.90) or scientific notation (-2.0E-3), which means -2x10-3.
    The list of supported mathematical functions is:
    One-argument Functions
    abs(x)
    Absolute value
    acos(x)
    Arccosine
    acosh(x)
    Hyperbolic arccosine
    asin(x)
    Arcsine
    asinh(x)
    Hyperbolic arcsine
    atan(x)
    Arctangent
    atanh(x)
    Hyperbolic arctangent
    cos(x)
    Cosine
    cosh(x)
    Hyperbolic cosine
    exp(x)
    Exponential
    log(x)
    Natural logarithm
    log10(x)
    Common logarithm
    pi(x)
    Multiples of π
    sin(x)
    Sine
    sinh(x)
    Hyperbolic sine
    int (x)
    Real to integer conversion
    sqrt(x)
    Square root
    Two-argument functions:

    2_arg_funct
    Multi-argument functions:

    deqatn_multi
  4. The supported operators are:
    Symbol Meaning Example
    + binary + x + y
    - binary - x - y
    * multiplication x * y
    / division x / y
    ** power x ** y
    + unary + +1.0
    - unary - -1.0
  5. The precedence of mathematical calculations follows the rules of Fortran language. Parenthesis has a higher priority in the order of precedence than the operators listed above. Two consecutive operators are acceptable only if the second one is unary, plus or minus.
    Examples of operator precedence:
    Expression
    Result
    2**-3
    0.128
    1 / 2 + 3
    3.5
    2*3-4
    2.0
    -2**3**2
    -512.0
    2 + -5
    -3.0
    2 * -5
    -10.0
    2 - -5
    7.0
    2/3/4
    0.16666666....
    2/(3/4)
    2.6666666...
  6. Functions can be defined in a layered format, for example, min(sin(x1), x2), with no limit on the number of layers.
  7. The /DEQATN entry is referenced by /DRESP2 entry.