函數
「運算式編輯器」(Expression Editor) 中的下列函數可讓您對向量與純量進行數學與邏輯運算:
運算子
向量與純量通用,例如加和減
僅限純量,例如平方根與對數
僅限向量,例如點積與叉積
邏輯函數
三角函數與雙曲函數
其他函數
運算子
運算子可對向量與純量進行數學運算。在下表中,a、b、c 是純量,U,V,W 是向量。
運算式運算子
功能
範例
運算子:純量與/或向量
a = b+c 或 V = U+W
a = b-c 或 V = U-W
*
兩個純量相乘或純量與向量相乘
a = b*c 或 V = a*U (但不是 V = U * W)
運算子:僅限純量
/
a = b/c
exp(scalar)
以 e 為底數的指數函數
a= exp(b) 可將 e 升至 b 次冪:a= eb
ln(scalar)
e 的自然對數函數
a= ln(b) 會傳回 b 的自然對數
sqrt(scalar)
平方根函數
a = sqrt(b)
^
指數函數
a= b^c 會將 b 升至 c 次冪:a= bc
運算子:僅限向量
&
向量點積
a = V&U (a = |V| |U| cos (angle))
^
向量叉積
V=U^W (|V| = |U| |W| x sin (angle) ),右手定則適用。
len(vector)
傳回向量 V 的長度
a = len(V)
normalize(vector)
傳回正規化單位向量 V/|V|
V = normalize(U)
rotate(vector,angle, direction,center)
根據旋轉角度、RHR、旋轉軸及選用旋轉中心傳回旋轉向量。(如果未定義中心,預設為 0,0,0)
Vrot = rotate(V,alpha,U,W),其中 V 是要旋轉的向量,alpha 是以弧度為單位的角度,U 是旋轉軸。右手定則適用。W 是定義為向量的選用中心點。
邏輯函數
邏輯函數可讓您包含邏輯語句。
運算式運算子
功能
範例
true
邏輯真
false
邏輯假
<
小於
>
大於
==
邏輯比較相等
a = (b==3) ? 1 : 2
邏輯或
邏輯與
!
邏輯非
!< 不小於
a = expression ? b : c
如果運算式為 true,則 a = b;
如果運算式為 false,則 a = c
a = (b>3) ? 1 : 2 ==> ( 如果 b 大於 3,則 a = 1;否則 a = 2)
三角函數與雙曲函數
三角函數與雙曲函數可讓您在數學語句中包含對應函數。
超越式
功能
三角函數
sin(radians)
正弦函數
cos(radians)
餘弦函數
cot(radians)
餘切函數
tan(radians)
正切函數
asin ()
反正弦函數,會傳回以 rad 為單位的值
acos ()
反餘弦函數,會傳回以 rad 為單位的值
acot()
反餘切函數,會傳回以 rad 為單位的值
atan ()
反正切函數,會傳回以 rad 為單位的值
atan2(y,x)
兩個變數的反正切函數,(-pi, pi),會傳回以 rad 為單位的值
雙曲函數
sinh ()
雙曲正弦函數
cosh ()
雙曲餘弦函數
coth()
雙曲餘切函數
tanh ()
雙曲正切函數
asinh()
反雙曲正弦函數
acosh()
反雙曲餘弦函數
acoth()
反雙曲餘切函數
atanh()
反雙曲正切函數
顯示相關函數
根據顯示面板顯示相關函數。這可讓您:
使用衍生變數的所有功能建立新變數。這些功能包括在幾何圖元上顯示該函數的能力。
存取監測點處的變數
定義 XY 軸繪圖的使用者變數
用於 3D 顯示的使用者定義變數
display.varname - 定義使用者變數,例如 3D 繪圖的輪廓、等值曲面和向量。新變數會顯示在「視圖」(View) 標籤中「變數」(Variable) 下的內容面板中。
#display.varname: dispname [unit] - (選用) 為使用者定義的顯示變數定義新名稱及其單位。
範例:
display.pref = flow.P - 101325
#display.pref: Gauge Pressure [Pa]
使用這些運算式時,表壓力實體會顯示在「變數」內容的「值」下,如下所示。
監測點處的變數
您可以使用下列格式存取任何監測點上的本機儲存格變數:
module[.subname].var@probe.name
點座標:
probe.coord@probe_name
範例:
inletP = flow.P@probe."Point01"+101325
用於 XY 繪圖的使用者定義變數
plot.varname - 定義您可以在 XY 繪圖中使用的使用者變數。新增了新的通用變數作為內容面板中「變數」內容的值。
#plot.varname: dispname [unit] - (選用) 為使用者定義的變數定義新名稱及單位。
範例:
plot.head = (flow.pt@outlet - flow.pt@inlet)/998/9.8
#plot.head: Pressure Head[m]
* 
當您定義新顯示或繪圖變數名稱與單位時,請勿在冒號符號前新增空格。
顯示與繪圖變數的預設單位會顯示在方括弧中。例如,會針對壓力變數顯示預設單位 Pa。如果您正確地定義了單位,則該單位會顯示在螢幕上。在此範例中,當您變更顯示的最終單位時,其值也會轉換。如果您未正確定義單位,則軟體會略過該單位。
其他函數
運算式運算子
功能
範例
abs(x)
絕對值函數
max(x,y)
最大函數
a = max(b,c) ==> a= b if b >c or a=c if c>=b
min(x,y)
最小函數
a = min(b,c) ==> 如果 b <c,則 a= b;如果 c<=b,則 a=c
mod(x,y)
模數函數
a = mod(c,b) ==> a = c 除以 b 的餘數
sgn(x)
傳回指示正負號的標誌 (-1、0 或 1)
a= sgn(b) ==> 如果 b<0,則 a = -1;如果 b=0 ,則 a = 0;如果 b>0,則 a = 1
step(x)
階梯函數會根據相對於零的值傳回 0 或 1
a= step(b) ==> 如果 b<0,則 a = 0;如果 b>=0,則 a = 1
表格函數可讓您包含位於與專案檔案 (*.spro) 相同之目錄中之外部表格檔案中的資料。
表格運算式
功能
table(filename,x)
從 1-D 表內插
table(filename, x ,y)
從 2-D 表內插
範例:
使用表格:
# 從表格擷取資訊
p = table("inlet_pressure.txt",time)
密度 = table("R134a_density.txt",temp,pre)
表格格式:1-D (filename,x) - 可讓您存取位於與專案檔案 (*.spro) 相同之目錄中的 1-D 資料表。
均勻分布的 1-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="n" min="xmin" max="xmax" outside="flat | extrapolation">
# comments (x assumed to have uniform distribution)
v1
v2
...
vn
</table/>
非均勻分布的 1-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="n" outside="flat | extrapolation">
# You can add comments by putting the hashmark “#” in front .. but do not insert comments before the xml line (line 1)
x1 v1
x2 v2
xn vn
</table/>
在此格式中,表格標籤下的 outside = “flat” or outside = "extrapolation" 可決定當 x, y 輸入超出範圍時您確定值的方式。
表格格式:2-D (filename,x) - 可讓您存取位於與專案檔案 (*.spro) 相同之目錄中的 2-D 資料表。
均勻分布的 2-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="nx my" min="xmin ymin" max="xmax ymax" outside="flat | extrapolation">
# comment
# values table (x and y assumed to have uniform distribution
v(x1,y1) v(x2,y1) … v(xn,y1)
v(x1,y2) v(x2,y2) … v(xn,y2)
...
v(x1,ym) v(x2,ym) … v(xn,ym)
</table>
非均勻分布的 2-D 表格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<table size="nx my" outside ="flat | extrapolation">
# x and y variable ranges
x1 x2 … xn
y1 y2 … ym
# values table
v(x1,y1) v(x2,y1) … v(xn,y1)
v(x1,y2) v(x2,y2) … v(xn,y2)
...
v(x1,ym) v(x2,ym) … v(xn,ym)
</table>
在此格式中,表格標籤下的 outside = “flat” or outside = "extrapolation" 指定當 x, y 輸入超出範圍時用來確定值的方式。
* 
欲新增註解,請在文字前加上雜湊標記 "#"。請勿在 xml 行或第 1 行之前插入註解。
這是否有幫助?