SimulationResults
Results ElementSimulationResultsは、シミュレーションの結果を含むコンテナーオブジェクトです。1つのシミュレーションに多数の出力時間ステップを含めることができます。
クラス名
SimulationResults
説明
- すべてのボディの結果
- すべての要求の結果
- すべてのRVの結果
結果データの生成は、returnResults=Trueを指定してmodel.simulate()メソッドが呼び出されたときに、このメソッドにより自動的に行われます。
使用法
#
# Generate a SimulationResults object
#
run = model.simulate (type="DYNAMICS", end=None, dtout=None, duration=None, steps=None, dsa="", start=None, onOutputStep=None, returnResults=True)
#
# Query simulationResults object for element specific data
#
BodyResult = run.getObject (a_specific_body)
ReqResult = run.getObject (a_specific_request)
RVResult = run.getObject (a_specific_rv)
#
# Extract time history of desired signal from element specific data
#
signal = BodyResult.getComponent ("body_attribute")
signal = ReqResult.getObject ("request_attribute")
signal = RVResult.getObject ("rv_attribute")
#
# Extract desired signal information for a specific step
#
data = BodyResult.getStep (step=timeStep)
data = ReqResult.getStep (step=timeStep)
data = RVResult.getStep (step=timeStep)
属性
- run
- SimulationResultsオブジェクト。
- getObject
- SimulationResultsオブジェクト上のメソッド。
- getComponent
- BodyResult、ReqResult、およびRVResultオブジェクト上のメソッド。
signal = BodyResult.getComponent ("body_attribute")
signal = ReqResult.getObject ("request_attribute")
signal = RVResult.getObject ("rv_attribute")
- getStep
- BodyResult、ReqResult、またはRVResultオブジェクト上のメソッド。
data = BodyResult.getStep (step=timeStep)
data = ReqResult.getStep (step=timeStep)
data = RVResult.getStep (step=timeStep)
例
SimulationResultsを使用して、MotionSolveの結果からプロットを作成する方法を示します。
- 0~2秒の間に200出力ステップの動的シミュレーションを実行します。
- 力要求オブジェクトforceRequest1のFZ成分の時刻歴を抽出します。
- MatplotlibでFZ時刻歴をプロットします。
# Perform a simulation
run = M.simulate(type="DYNAMICS", end=2, steps=200,returnResults=True)
# Get the force request data from the run object
req = run.getObject (model.forceRequest1)
# Extract the time and FZ signals
times = req.getComponent ("times")
FZ = req.getComponent ("FZ")
# Plot the signal
import matplotlib.pyplot as plt
plotTitle = forceRequest1.label + " vs. Time"
plt.plot (times, FZ)
plt.title (plotTitle)
plt.xlabel("Time")
plt.ylabel ("force [N]")
plt.grid (True)
plt.show()
コメント
- プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
- SimulationResultsを問い合わせて、そのさまざまな成分の時刻歴にアクセスすることができます。