以下のトピックでは、サンプルスクリプトwall_results.pyを使ってプログラミングリファレンスを説明しています。(このスクリプトはAPIプログラミングリファレンスに含まれています)
スクリプトの各行(またはブロック)が詳しく説明されており、プログラミングリファレンスの該当セクションを参照することができます。
from CFD import Setup
from CFD import Results
from CFD import DSE
# 現在のバージョンを取得して、結果をアクティブ化
study = Setup.DesignStudy.Create()
scenario = study.getActiveScenario()
curr_results = scenario.results()
curr_results.activate()
# WallResults オブジェクトを作成
wr = Results.WallResults(scenario)
# 対象のサーフェスの ID を設定し、計算を実行
wr.select(15)
wr.select(9)
wr.calculate()
# 結果を取得
area = wr.area(15)
pressure = wr.pressure(15)
temp = wr.temperature(15)
fx, fy, fz = 0.0, 0.0, 0.0 # 力は、値が 3 つあるため若干複雑
err, fx, fy, fz = wr.force(fx, fy, fz)
print("Area = ", area)
print("Press = ", pressure)
print("Temp = ", temp)
print("FX = ", fx)
print("FY = ", fy)
print("FZ = ", fz)
DSE.UI.ShowMessage( "Area = " + str(area) )
DSE.UI.ShowMessage( "Press = " + str(pressure) )
DSE.UI.ShowMessage( "Temp = " + str(temp) )
DSE.UI.ShowMessage( "FX = " + str(fx) )
DSE.UI.ShowMessage( "FY = " + str(fy) )
DSE.UI.ShowMessage( "FZ = " + str(fz) )
# または、壁面の結果をすべてファイルに書き込むことも可能
wr.writeToFile("C:/wr.csv")
print("Wall results are written to c:/wr.csv")
DSE.UI.ShowMessage( "Wall results are written to c:/wr.csv" )
from CFD import Setup
from CFD import Results
from CFD import DSE
>>> ヘッダセクションでは、スクリプトで参照されている各モジュールを宣言しなければなりません。すべて CFD プロジェクトに含まれるものです。モジュールのリストを参照するには、プログラミングリファレンスの Modules をクリックしてください:
study = Setup.DesignStudy.Create()
>>>この行はstudyと呼ばれる変数を宣言します。これはSetup モジュール、DesignStudyクラス、Createメソッドから定義されています。またこれはデザインスタディを扱う方法でもあります。デザイン スタディ名を指定する必要はありません。Autodesk Simulation CFD のセッション中に開くデザイン スタディは 1 つのみです。
scenario = study.getActiveScenario()
>>> この行はスタディでアクティブなシナリオを取得します。ある時点でアクティブなシナリオは1つだけであるため、シナリオ名を指定する必要はありません。例外は、現在開いているシナリオ以外のシナリオを参照したい場合です。
curr_results = scenario.results()
>>> これによりシナリオの結果を取得します。
curr_results.activate()
>>> このコマンドは現在の結果をアクティブ化します。
wr = Results.WallResults(scenario)
>>> 壁面結果に必要なパラメータを初期化します。WallResultsクラスにアクセスするには、ModuleページのResultsクラスをクリックします:WallResultsコマンドはWallResultsクラスのページにあります:
wr.select(15)
wr.select(9)
wr.calculate()
>>> 特定のID番号を持つサーフェス(この例ではサーフェス15および9)を選択するには、Select関数を使用します。計算をトリガするにはCalculate関数を使用します。
area = wr.area(15)
pressure = wr.pressure(15)
temp = wr.temperature(15)
fx, fy, fz = 0.0, 0.0, 0.0 # 力は、値が 3 つあるため若干複雑
err, fx, fy, fz = wr.force(fx, fy, fz)
>>> サーフェスの面積、圧力、温度を計算します。3 つの荷重成分を計算するには、force 関数を使用します。
print("Area = ", area)
print("Press = ", pressure)
print("Temp = ", temp)
print("FX = ", fx)
print("FY = ", fy)
print("FZ = ", fz)
>>> 結果を出力するための文字列を作成するにはprintコマンドを使用します。
DSE.UI.ShowMessage( "Area = " + str(area) )
DSE.UI.ShowMessage( "Press = " + str(pressure) )
DSE.UI.ShowMessage( "Temp = " + str(temp) )
DSE.UI.ShowMessage( "FX = " + str(fx) )
DSE.UI.ShowMessage( "FY = " + str(fy) )
DSE.UI.ShowMessage( "FZ = " + str(fz) )
>>> 文字列をアウトプットバーに表示します。これらのコマンドは、DSE モジュールの UI クラスの ShowMessage 関数を使用します。
wr.writeToFile("C:/wr.csv")
print("Wall results are written to c:/wr.csv")
DSE.UI.ShowMessage( "Wall results are written to c:/wr.csv" )
>>> このコマンドは結果をファイルに書き出します。writeToFile関数はWallResultsクラスに含まれています。最後の行は、結果がファイルに書き込まれたことを確認するメッセージをアウトプットバーに表示します。
関連トピック