解析結果から誘起電圧定数Keを算出し応答値に登録するスクリプトを例示します。
※電位差の結果が必要です。
import math
app = designer.GetApplication()
# 表示しているスタディを取得
objStudy = app.GetCurrentStudy()
# "電位差" の結果テーブルを取得
result_voltage_difference = objStudy.GetResultTable().GetData("VoltageDifference")
# 電位差の最大値の合計の初期化
total_voltage = 0
# 全行をループして、各行の最大電圧を絶対値で計算し、合計する
for i in range(result_voltage_difference.GetRows()):
# 各行の最大電圧を初期化
max_voltage = 0
# 各行の列をループして、最大値を探索
for j in range(result_voltage_difference.GetCols()):
# 列の値を絶対値で取得
temp_val = abs(result_voltage_difference.GetValue(i, j))
# 現在の最大値と比較し、より大きい場合は更新
if max_voltage < temp_val:
max_voltage = temp_val
# 各行の最大電圧を合計に追加
total_voltage += max_voltage
# 平均電圧を計算
average_voltage = total_voltage / result_voltage_difference.GetRows()
# 回転運動条件に設定してる速度(rpm)を角速度(rad/s)に変換して、Keの値を計算
value_ke = average_voltage / (objStudy.GetCondition("Rotor").GetValue("AngularVelocity") / 60 * 2 * math.pi)
# 計算したKeの値をユーザー応答変数に設定
objStudy.SetUserResponseVariable("Ke", objStudy.GetCurrentCase(), value_ke)


