Femtetヘルプ/マニュアル
 

ホーム / 結果表示 / 結果フィールド / ユーザー定義フィールド / ユーザー定義フィールドで使用可能な演算子、関数の一覧

ユーザー定義フィールドで使用可能な演算子、関数の一覧

使用できる演算子と関数を下記に示します。

※ 関数名および演算子名の大文字と小文字の区別はしません

演算子

演算子の優先順位はVB/VBAと同じで、下表においては上の方が優先で評価されます。

演算子

内容

^

べき乗

*

/

乗算

除算
※ベクトル、テンソルの演算に対応

+

-

加算

減算
※ベクトル、テンソルの演算に対応

=

<>

<

<=

>

>=

比較演算

 

  • <>は不一致判定です。

  • 成り立つ場合は -1 になります。

  • 成り立たない場合は 0 になります。

And

論理積

(正確には小数点を切り捨てた整数のビット積です)

Or

論理和

(正確には小数点を切り捨てた整数のビット和です)

ベクトル/テンソルの演算

演算子

内容

+

ベクトル + ベクトル = ベクトル
テンソル + テンソル = テンソル
各成分を加算します。

-

ベクトル - ベクトル = ベクトル
テンソル - テンソル = テンソル
各成分で減算します。

*

スカラー * ベクトル = ベクトル
スカラー * テンソル = テンソル
ベクトル * スカラー = ベクトル
テンソル * スカラー = テンソル
ベクトル、テンソルの各成分とスカラーを乗算します。

 

ベクトル :* ベクトル = スカラー
二つのベクトルの内積を行います。

関数INNER_PRODUCTと同じ結果となります。

 

ベクトル同士の乗算は以下の関数も用意されています。

関数INNER_PRODUCT_CONJ(複素共役を使用した内積)

関数OUTER_PRODUCT(外積)

関数OUTER_PRODUCT_CONJ(複素共役を使用した外積)


テンソル * ベクトル = ベクトル

テンソルとベクトルの乗算を行います。


ベクトル * テンソル = ベクトル

テンソルの転地とベクトルの乗算を行います。

 

テンソル * テンソル = テンソル
テンソル同士の乗算を行います。

 

テンソル同士の乗算は以下の関数も用意されています。

内積の関数でテンソル縮約の演算を行うことができます。

関数INNER_PRODUCT(内積)

関数INNER_PRODUCT_CONJ(複素共役を使用した内積)

 

/

ベクトル / スカラー = ベクトル

テンソル / スカラー = テンソル

スカラー、ベクトル、テンソルの各成分をスカラーで除算します。

 

他の組み合わせは対応していません。

 

関数(基本)

関数名

引数

戻り値

詳細説明

SIN

スカラー/ベクトル/テンソル(ラジアン)
実数

引数:スカラー(ラジアン)⇒スカラー
引数:ベクトル(ラジアン)⇒ベクトル
引数:テンソル(ラジアン)⇒テンソル
実数

サイン(正弦)を返します。
ベクトルの場合、各成分をサインにして返します。
テンソルの場合、主値のサインを求めて元の座標系に戻したテンソルを返します。

COS

スカラー/ベクトル/テンソル(ラジアン)
実数

引数:スカラー(ラジアン)⇒スカラー
引数:ベクトル(ラジアン)⇒ベクトル
引数:テンソル(ラジアン)⇒テンソル
実数

コサイン(余弦)を返します。

ベクトルの場合、各成分をコサインにして返します。
テンソルの場合、主値のコサインを求めて元の座標系に戻したテンソルを返します。

TAN

スカラー/ベクトル/テンソル(ラジアン)
実数

引数:スカラー(ラジアン)⇒スカラー
引数:ベクトル(ラジアン)⇒ベクトル
引数:テンソル(ラジアン)⇒テンソル
実数

タンジェント(正接)を返します。

ベクトルの場合、各成分をタンジェントにして返します。
テンソルの場合、主値のタンジェントを求めて元の座標系に戻したテンソルを返します。

ASIN

スカラー/ベクトル/テンソル
実数

引数:スカラー⇒スカラー(ラジアン)
引数:ベクトル⇒ベクトル(ラジアン)
引数:テンソル⇒テンソル(ラジアン)
実数

アークサイン(逆正弦、ラジアン)を返します。
ベクトルの場合、各成分をアークサインにして返します。
テンソルの場合、主値のアークサインを求めて元の座標系に戻したテンソルを返します。

ACOS

スカラー/ベクトル/テンソル
実数

 

引数:スカラー⇒スカラー(ラジアン)
引数:ベクトル⇒ベクトル(ラジアン)
引数:テンソル⇒テンソル(ラジアン)
実数

アークコサイン(逆余弦、ラジアン)を返します。
ベクトルの場合、各成分をアークコサインにして返します。
テンソルの場合、主値のアークコサインを求めて元の座標系に戻したテンソルを返します。

ATN

スカラー/ベクトル/テンソル
実数

引数:スカラー⇒スカラー(ラジアン)
引数:ベクトル⇒ベクトル(ラジアン)
引数:テンソル⇒テンソル(ラジアン)
実数

アークタンジェント(逆正接、ラジアン)を返します。
ベクトルの場合、各成分をアークタンジェントにして返します。
テンソルの場合、主値のアークタンジェントを求めて元の座標系に戻したテンソルを返します。

LOG

スカラー/ベクトル/テンソル
実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

引数の自然対数を返します。
ベクトルの場合、各成分を自然対数にして返します。
テンソルの場合、主値の自然対数を求めて元の座標系に戻したテンソルを返します。

LOG10

スカラー/ベクトル/テンソル
実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

引数の常用対数を返します。
ベクトルの場合、各成分を常用対数にして返します。
テンソルの場合、主値の常用対数を求めて元の座標系に戻したテンソルを返します。

 

SQR

スカラー/ベクトル/テンソル
実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

引数の平方根を返します。
ベクトルの場合、各成分を平方根にして返します。
テンソルの場合、主値の平方根を求めて元の座標系に戻したテンソルを返します。

POW

引数1:
スカラー/ベクトル/テンソル
実数

引数2:
スカラー
実数

引数1:スカラー⇒スカラー
引数1:ベクトル⇒ベクトル
引数1:テンソル⇒テンソル
実数

引数1のべき乗(指数:引数2)を返します。引数の区切りは半角カンマです。
引数1がベクトルの場合、各成分をべき乗にして返します。
引数1がテンソルの場合、主値のべき乗を求めて元の座標系に戻したテンソルを返します。

例:POW(VEC_LENGTH(BERNOULLI_VELOCITY),2)
流速の大きさの2乗を返します。

EXP

スカラー/ベクトル/テンソル
実数

 

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

e(ネイピア数)のべき乗(指数:引数2)を返します。
引数1がベクトルの場合、各成分をeのべき乗にして返します。
引数1がテンソルの場合、主値のeのべき乗を求めて元の座標系に戻したテンソルを返します。

F_IF

引数1:

スカラー
実数

引数2,引数3:
スカラー/ベクトル/テンソル
複素数/実数

引数2,3:スカラー⇒スカラー
引数2,3:ベクトル⇒ベクトル
引数2,3:テンソル⇒テンソル
引数2,3:複素数⇒複素数
引数2,3:実数⇒実数

条件により値を変化させる場合に使用します。

 

引数は3つあり、引数1の結果が「0.0以外」の場合に引数2の結果が返り、

「0.0」の場合に引数3の結果が返ります。引数の区切りは半角カンマです。

  • 引数1:比較演算や論理演算および数式が指定できます。

  • 引数2:引数1の結果が「0.0以外」の場合の値を記述します。

  • 引数3:引数1の結果が「0.0」の場合の値を記述します。

 

例: F_IF(WATT_TEMPERATURE>50,1,0)

        温度が50より上の箇所は1、それ以外の箇所は0を返します。

ABS

スカラー/ベクトル/テンソル
複素数/実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

複素数の絶対値を返します。
引数が複素数であっても実数であっても実数が返ります。

ベクトル、テンソルの場合、すべての成分の絶対値を計算してベクトル、テンソルを返します。

REAL

スカラー/ベクトル/テンソル
複素数/実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

複素数の実部を返します。
引数が複素数であっても実数であっても実数が返ります。

ベクトル、テンソルの場合、すべての成分の実部を計算してベクトル、テンソルを返します。

IMAG

スカラー/ベクトル/テンソル
複素数/実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
実数

複素数の虚部を返します。
引数が複素数であっても実数であっても実数が返ります。

ベクトル、テンソルの場合、すべての成分の虚部を計算してベクトル、テンソルを返します。

CONJ

スカラー/ベクトル/テンソル
複素数/実数

引数:スカラー⇒スカラー
引数:ベクトル⇒ベクトル
引数:テンソル⇒テンソル
引数:複素数⇒複素数
引数:実数⇒実数

複素数の複素共役を返します。
引数が複素数の場合、複素数、実数の場合実数が返ります。

ベクトル、テンソルの場合、すべての成分の複素共役を計算してベクトル、テンソルを返します。

PHASE

引数1:
スカラー(deg)

実数
引数2:

スカラー/ベクトル/テンソル
複素数/実数

引数2:スカラー⇒スカラー
引数2:ベクトル⇒ベクトル
引数2:テンソル⇒テンソル
実数

複素数(引数2)の特定(引数1)の位相の値を実数で返します。
引数2が複素数であっても実数であっても実数が返ります。

引数2がベクトル、テンソルの場合、すべての成分で引数1の位相の値を計算してベクトル、テンソルを返します。

PHASE_VALUE

スカラー/ベクトル/テンソル
複素数/実数

引数:スカラー⇒スカラー(deg)
引数:ベクトル⇒ベクトル(deg)
引数:テンソル⇒テンソル(deg)
実数

複素数の位相(deg)を返します。
引数2が複素数であっても実数であっても実数が返ります。

ベクトル、テンソルの場合、すべての成分の位相を計算してベクトル、テンソルを返します。

COORD

引数不要

ベクトル

実数

座標を返します。
COORD()で記述します。

GAS_CONSTANT

引数不要

スカラー

実数

気体定数 R = 8.314462618[J/deg/mol]を返します。

AMBIENT_PRESSURE

引数不要

スカラー

実数

流体解析タブで定義した環境圧力を返します。

関数(ベクトル/テンソル)

関数名

引数

戻り値

詳細説明

VEC_X

ベクトル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

ベクトル引数のX成分を返します。

VEC_Y

ベクトル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

ベクトル引数のY成分を返します。

VEC_Z

ベクトル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

ベクトル引数のZ成分を返します。

VEC_LENGTH

ベクトル
複素数/実数

スカラー
実数

ベクトル引数の大きさを返します。

引数が複素数の場合、実数を返します。

TEN_XX

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のXX成分(X垂直成分)を返します。

TEN_YY

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のYY成分(Y垂直成分)を返します。

TEN_ZZ

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のZZ成分(Z垂直成分)を返します。

TEN_YZ

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のYZ成分(せん断成分)を返します。

TEN_ZX

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のZX成分(せん断成分)を返します。

TEN_XY

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のXY成分(せん断成分)を返します。

TEN_ZY

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のZY成分(せん断成分)を返します。

TEN_XZ

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のXZ成分(せん断成分)を返します。

TEN_YX

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数のYX成分(せん断成分)を返します。

TEN_P1

テンソル
複素数/実数

スカラー
実数

 

テンソル引数の最大主値(応力タイプの場合、最大主応力、ひずみタイプの場合、最大主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_P2

テンソル
実数

スカラー
実数

 

テンソル引数の中間主値(応力タイプの場合、中間主応力、ひずみタイプの場合、中間主ひずみ)を返します。

引数が複素数の場合、出力できません。

 

TEN_P3

テンソル
複素数/実数

スカラー
実数

 

テンソル引数の最小主値(応力タイプの場合、最小主応力、ひずみタイプの場合、最小主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_XZ_P1

テンソル
複素数/実数

スカラー
実数

 

テンソル引数のXZ面内最大主値(応力タイプの場合、最大主応力、ひずみタイプの場合、最大主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_XZ_P2

テンソル
実数

スカラー
実数

 

テンソル引数のXZ面内最小主値(応力タイプの場合、最小主応力、ひずみタイプの場合、最小主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_XY_P1

テンソル
複素数/実数

スカラー
実数

 

テンソル引数のXY面内最大主値(応力タイプの場合、最大主応力、ひずみタイプの場合、最大主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_XY_P2

テンソル
実数

スカラー
実数

 

テンソル引数のXY面内最小主値(応力タイプの場合、最小主応力、ひずみタイプの場合、最小主ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_VOLUME

テンソル
複素数/実数

スカラー
引数:複素数⇒複素数
引数:実数⇒実数

テンソル引数の体積値(応力タイプの場合、静水圧、ひずみタイプの場合、体積ひずみ)を返します。

TEN_EQUIV

テンソル
複素数/実数

スカラー
実数

 

テンソル引数の相当値(応力タイプの場合、ミーゼスの相当応力、ひずみタイプの場合、相当ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

TEN_R

テンソル
複素数/実数

スカラー
実数

 

テンソル引数の最大主値と最小主値の差(応力タイプの場合、最大せん断応力、ひずみタイプの場合、最大せん断ひずみ)を返します。

引数が複素数の場合、実数を返します。

 

MAKE_VEC

引数1~引数3:
スカラー
複素数/実数

ベクトル
引数1~引数3:複素数⇒複素数
引数1~引数3:実数⇒実数

3つの引数からベクトルを作成します。

例:MAKE_VEC(1,2,3)

MAKE_TEN

引数1~引数9:
スカラー
複素数/実数

テンソル
引数1~引数3:複素数⇒複素数
引数1~引数3:実数⇒実数

9つの引数からテンソルを作成します。

例:MAKE_TEN(1,2,3,4,5,6,7,8,9)

UNIT_TEN

引数不要

テンソル
実数

単位テンソル(対角が1、それ以外が0)を作成します。

INNER_PRODUCT

引数1,引数2:
スカラー/ベクトル/テンソル
複素数/実数

スカラー
複素数⇒複素数
実数⇒実数

二つのスカラー引数、ベクトル引数、テンソル引数で内積を計算します。ベクトル、テンソルでは、各成分毎の積を足し合わせます。

引数が実数の場合は実数、複素数の場合は複素数で返します。

 

例:0.5*INNER_PRODUCT(GALILEO_STRAIN_E,GALILEO_STRESS)

ひずみエネルギー密度(静解析)を計算します。

INNER_PRODUCT_CONJ

引数1:
スカラー/ベクトル/テンソル
複素数/実数

引数2:
スカラー/ベクトル/テンソル
複素数/実数

スカラー
実数

二つのスカラー引数、ベクトル引数、テンソル引数で内積を計算します。ベクトル、テンソルでは、各成分毎の積を足し合わせます。

引数が複素数の場合、二つ目の引数の複素共役を使用して実数を返します。

 

例:0.25*INNER_PRODUCT(GALILEO_STRAIN_E,GALILEO_STRESS)

ひずみエネルギー密度(平均)を計算します。

CROSS_PRODUCT

引数1:
ベクトル
複素数/実数

引数2:
ベクトル
複素数/実数

ベクトル
複素数⇒複素数
実数⇒実数

二つのベクトル引数で外積を計算します。

 

例:0.5*CROSS_PRODUCT(HERTZ_ELECTRIC_FIELD,HERTZ_MAGNETIC_FIELD)

ポインティングベクトル(振動)を計算します。

CROSS_PRODUCT_CONJ

引数1:
ベクトル
複素数/実数

引数2:
ベクトル
複素数/実数

ベクトル
実数

二つのベクトル引数で外積を計算します。

引数が複素数の場合、二つ目の引数の複素共役を使用して実数を返します。

 

例:0.5*CROSS_PRODUCT(HERTZ_ELECTRIC_FIELD,HERTZ_MAGNETIC_FIELD)

ポインティングベクトル(平均)を計算します。

TRANS

テンソル
複素数/実数

テンソル
複素数⇒複素数
実数⇒実数

テンソル引数を転地行列に変換します。

INVERSE

テンソル
複素数/実数

テンソル
複素数⇒複素数
実数⇒実数

テンソル引数を逆行列に変換します。

DET

テンソル
複素数/実数

スカラー
複素数⇒複素数
実数⇒実数

テンソル引数の行列式を計算します。