/DEQATN
最適化キーワード 最適化で使用する1つまたは複数の式を指定します。
フォーマット
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
---|---|---|---|---|---|---|---|---|---|
/DEQATN/eqn_ID | |||||||||
title | |||||||||
EQN(1); EQN(2); ... | |||||||||
... | |||||||||
EQN(n-1); EQN(n) |
定義
フィールド | 内容 | SI単位の例 |
---|---|---|
eqn_ID | 設計式識別子 (整数 > 0) |
|
title | タイトル。 (文字、最大100文字) |
|
EQN(i) | i次式。 (文字列) |
例
#---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----|
コメント
- 式に含まれる空白文字は無効です。これは定数、変数、または関数名内でも同様です。小文字と大文字は区別されません。
- どの式カードでも各式の左辺の変数は1つだけにする必要があります。最初の式の変数の後には、以下のフォーマットの引数リストを続ける必要があります:
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);
ここで、
vi
は式iの変数、(x1
,x2
, ...,xn
)は変数v1
の引数リストです。 (v1
,v2
,...,vi-1
)は、式1~式i-1の結果に対応する引数リストです。 - 定数は、整数または浮動小数点のいずれかの形式で指定できます。浮動小数点数は、通常の小数点形式(3.90)または科学的記数法(-2.0E-3)(-2x10-3の意味)のどちらの形式でも記述できます。サポートされている数学関数のリストは以下のとおりです:
- 引数が1つの関数
- abs(x)
- 絶対値
- acos(x)
- 逆余弦
- acosh(x)
- 双曲線逆余弦
- asin(x)
- 逆正弦
- asinh(x)
- 双曲線逆正弦
- atan(x)
- 逆正接
- atanh(x)
- 双曲線逆正接
- cos(x)
- 余弦
- cosh(x)
- 双曲線余弦
- exp(x)
- 指数
- log(x)
- 自然対数
- log10(x)
- 常用対数
- pi(x)
- πの倍数
- sin(x)
- 正弦
- sinh(x)
- 双曲線正弦
- int (x)
- 実数から整数への変換
- sqrt(x)
- 平方根
引数が2つの関数引数が複数の関数 - サポートされている演算子には以下のものがあります:
記号 意味 例 + バイナリ+ x + y - バイナリ- x - y * 乗算 x * y / 除算 x / y ** 累乗 x ** y + 単項+ +1.0 - 単項- -1.0 - 数値計算の優先順位は、Fortran言語のルールに従います。括弧は、上に示す演算子よりも優先されます。連続する2つの演算子は、2つ目が正または負の単項の場合にのみ使用できます。演算子の優先順位の例:
- 表記
- 結果
- 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....
- 複数の関数を、min(sin(x1), x2)のような層状のフォーマットで定義できます(層数に制限はありません)。
- /DEQATNエントリは/DRESP2エントリによって参照されます。