ANALYS
Utility/Data Access SubroutineANALYSは、特定のタイプの解析を実行可能なユーティリティサブルーチンです。
定義
解析タイプは引数として指定します。ANALYSを呼び出すことができるのは、CONSUBのみです。他のユーザー作成サブルーチンから呼び出すとエラーになります。
フォーマット
- Fortranの呼出し構文
- ALL ANALYS (ANALYSIS, NAME, TBEGIN, TEND, IFLAG, ISTAT)
- C/C++の呼出し構文
- c_analys (char* analysis, char* name, double* tbegin, double* tend, int* iflag, int* istat);
- Pythonの呼出し構文
- istat = py_analys (analysis, name, tbegin, tend, iflag)
- MATLABの呼出し構文
- istat = m_analys (analysis, name, tbegin, tend, iflag)
引数
- analysis
- 文字配列
- name
- 文字配列
- tbegin
- 倍精度
- tend
- 倍精度
- init
- 整数
出力
- istat
- 整数
例
def consub (par, npar):
#Purpose of the CONSUB
#This CONSUB performs 2 simulations:
# 1. gravity = 1g (surface of Earth)
# 2. gravity = 0.38g (surface of Mars)
# Behavior on Earth
istat = py_datout()
status = py_analys ("TRANSIENT", "Simulation on Earth", 0.0, 1.0, 1)
# Behavior on Mars
command = "ACCGRAV/IGRAV=0, JGRAV=0, KGRAV=-3.72742"
istat = py_modify (command)
istat = py_datout()
status = py_analys ("TRANSIENT", "Simulation on Mars", 1.0, 2.0, 1)
return status
コメント
- ANALYSは、CONSUBからシミュレーションを呼び出せるようにします。モデルを変更し、システム応答を確認できる他の関数と組み合わせると、この関数は高度な解析関数を作成できる極めて強力な機能になります。
- 解析を実行するために、MotionSolveは、まず、方程式を定式化し、運動方程式の求解に必要なマトリクスやその他のデータを生成する必要があります。そのため、CONSUB内のANALYSの最初の呼び出しでは、必ず、IFLAG=1にする必要があります。
- シミュレーション時間を0に戻したい場合は、MODIFYまたはMODSETを呼び出して行う必要があります。そうすれば、TBEGIN=0を指定してANALYSを再度呼び出すことができます。
- ANALYSが呼び出された場合、MotionSolveは自動的に出力を生成しません。ANALYSを呼び出す前にDATOUTを呼び出すことにより、出力を要求する必要があります。