[S8492] 解析結果から誘起電圧定数Keを算出し応答値に登録するスクリプト

 

解析結果から誘起電圧定数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)

ファイルご利用の注意点

JMAGスクリプトライブラリをご利用されるに際し、以下の利用規約をよくお読みいただき、ご同意の上ご利用下さるようお願い申し上げます。