Abaqusとのインターフェース
MotionViewアプリケーションとAbaqusソルバーとのインターフェースの概要。
AbaqusにMDLモデルファイルをエクスポートするためのガイドライン
Abaqusの.inpファイルにMotionViewのMDLモデルをエクスポートできます。
重力、単位、およびソルバーのパラメータ
- 重力
- 重力は暗黙的なデータセットです。つまり、重力の定義はMotionViewで自動的に作成されます。モデルのMiscシステムを使用している場合、Formsパネルから重力の値を利用できます。重力のデフォルト値はstd_incファイルで設定されます。このファイルは、MotionViewのインストールの際にインストールされています。std_incには、Templexテンプレートも用意されています。このテンプレートを使用すると、Abaqus入力ファイルに重力を書き込むことができます。
- 単位
- MotionViewは“単位がない”インターフェースですが、一般的にはユーザー側で扱っている単位をソルバーの入力デックに通知する必要があります。同様に、各単位に一貫性があるようにすることも必要です。したがって、質量、長さ、時間、力の定義はMotionViewで自動的に生成されます。これらの定義を利用するには、Formsパネルに移動し、MiscシステムでUnitsを選択します。Abaqusに単位をエクスポートするために使用するデフォルト値とTemplexテンプレートはstd_incファイルで生成されます。
- ソルバーパラメータ
- ソルバーパラメータはソルバーごとに大きく異なります。これらのパラメータはデータセットに保存されています。ソルバーパラメータのデータセットを生成する方法には次の2種類があります:
- データセットとそれに対応する各種フォームは、解析タスクでMDLライブラリに作成されます。独自のMDLライブラリを作成する場合は、解析タスクごとにソルバーパラメータのデータセットが定義されていることを確認する必要があります。
- モデルの構築ではライブラリが使用されません。このような構築作業として、インタラクティブなモデルの構築と.mdlファイルの手動編集、またはこれらの組み合わせがあります。この場合、std_incファイルに記述された定義に基づくソルバーパラメータを持つシステムがMotionViewによって自動的に生成されます。
MDLステートメントのマッピング
MDLエンティティとそれに相当するAbaqusエンティティとのマッピングについて説明します。
MDLステートメント | Abaqusエンティティ |
---|---|
*ActionOnlyForce() | CLOAD、AMPLITUDE (Time Function専用) |
*ActionReactionForce() | CLOAD、AMPLITUDE (Time Function専用) |
*AtPointJoint() | Joint (Connector Section) |
*BallJoint() | Joint (Connector Section) |
*Beam() | B31(Timoshenko beam) |
*Body() | Rigid Body |
*Bush() | Connector Behavior |
*CoilSpring() | Connector Behavior |
*ControlSISO() | なし |
*Coupler() | なし |
*Curve() | AMPLITUDE |
*CVJoint() | Joint + Constant Velocity (Connector Section) |
*CylJoint() | Slot + Revolute (Connector Section) |
*FixedJoint() | Weld (Connector Section) |
*Graphic() | なし |
*HookeJoint() | Joint+Universal (Connector Section) |
*InlineJoint() | Slot (Connector Section) |
*InplaneJoint() | Slide-Plane (Connector Section) |
*Marker() | NODE + ORIENTATION |
*Motion() | Connector Motion (Time Function専用) |
*OrientJoint() | Align (Connector Section) |
*Output() | Output、History |
*ParallelAxisJoint() | Revolute (Connector Section) |
*PerpAxisJoint() | Universal (Connector Section) |
*PlanarJoint() | Slide-Plane + Revolute (Connector Section) |
*Polybeam() | B31(Timoshenko Beam) |
*RevJoint() | Joint + Revolute (Connector Section) |
*SetFlexbodyComplaince() | Substructure Element |
*SolverArray() | なし |
*SolverDiffEquation() | なし |
*SolverString() | なし |
*SolverVariables() | なし |
*TorsionSpring() | Connector Behavior |
*TransJoint() | Slot + Align (Connector Section) |
*UniversalJoint() | Joint + Universal (Connector Section) |
MDL CommandSetのマッピング
AbaqusソルバーにCommandSetは適用されません。
Templexテンプレートとソルバーモード
- <@ABAQ/MODEL/HEAD>
- モデルデータの先頭に記述するテキストを指定します。
- <@ABAQ/MODEL/TAIL>
- モデルデータの末尾を指定します。
- <@ABAQ/HISTO/HEAD>
- 履歴データの先頭を指定します。
- <@ABAQ/HISTO/TAIL>
- 履歴データの末尾を指定します。
- <@ABAQ/HISTO/STEP/HEAD>
- 最初のステップの先頭にデータを記述することを指定します。
- <@ABAQ/HISTO/STEP/TAIL>
- 最初のステップの末尾にデータを記述することを指定します。
1つのMDLモデルを複数のソルバーへのエクスポートに使用できます。この場合、solvermodeで予約されているキーワードを使用してTemplexテンプレートのインスタンスを作成します。この処理は2つの方法で実現できます。
if( solvermode == "Abaqus" )
*Template(.....1...)
else
*Template(.....2...)
endif
これによって、SolversメニューでAbaqusを選択すると、Template 1の全体が使用されます。別のソルバーを選択すると、Template 2が使用されます。何らかのテンプレートを使用すると、それがTemplatesパネルのインターフェースに表示され、ソルバーの入力デックを保存するときに機能します。
*DefineTemplate(........)
<@ABAQ/MODEL/HEAD>
text for abaqus
*EndDefine()
これによって、ソルバーとしてAbaqusを選択すると、“text for abaqus”が入力デックにエクスポートされます。テンプレートのうち、ユーザーインターフェースに表示される部分についても同様の処理が適用されます。
- テンプレートのタイプ
-
- Templexテンプレートには、独自のデフォルト動作と並んで、いくつかの出力先を設定できます。
- USERテンプレートはどのようなソルバーファイルにもエクスポートできませんが、パラメータ記述によるテキストを他のファイルに配置する場合や(TemplexのOpenコマンドとCloseコマンドを使用します)、GUI専用としたテキストを扱う場合などに有用です。
- SOLVER_INPUTテンプレートでは、そのテンプレートのテキストがAbaqusの.inpファイルにエクスポートされます。
CommandSets
AbaqusソルバーにCommandSetは適用されません。
関数式
MotionViewでは、その多くのエンティティで関数式をサポートしています。これらの関数は、時間と状態変数の関数とすることができます。関数式に対応するソルバーエンティティの一部として直接エクスポートされる関数式を作成できます。
ソルバーでは、MotionViewでエクスポートされるシンタックスを扱う必要があるので、その中立性にはある程度の制限があります。Abaqusソルバーの場合、サポートされている式とカーブは時間の関数とする必要があります。2つのポイント間の軸方向距離の関数とした式もサポートされています。MotionViewでは、このような関数がXYカーブに変換されてから入力デックに書き込まれます。
弾性体 / サブストラクチャ
- プリ処理
- MotionViewでは、MDLのボディをAbaqusのサブストラクチャとして表現できます。MDLモデルに弾性体を実装するには、弾性体として表現するコンポーネントごとにAbaqusのサブストラクチャを作成しておく必要があります(このプロセスについてはAbaqusのヘルプをご参照ください)。また、これらのコンポーネントの.h3dファイルをHyperMeshからエクスポートする必要があります。このファイルは、後工程のMotionViewによるプリ処理でグラフィックスに使用されます。この.h3dファイルの基底名(basename.ext)は、各コンポーネントのサブストラクチャファイルの基底名と一致している必要があります。
- ポスト処理
- モデル全体のアニメーションを取得するには、各サブストラクチャに対応する.odbファイルに基づいてアニメーションをオーバーレイします。MODEL = .mdlとRESULTS = .mrfを設定して構成したアニメーション1つをオーバーレイします。この.mrfは、 を使用してAbaqusの.filファイルを変換することで得られます。注: Templexテンプレートを使用して新しいボディを導入しないことをお勧めします。そのようにすると、アニメーションの正常な動作に必要なマッピングが無効になる可能性があります。
ユーザーサブルーチン
Abaqusにはユーザーサブルーチンが適用されません。ユーザーサブルーチンを参照するエンティティは、ソルバーの入力デックへのエクスポートでは使用されません。
MotionViewからのソルバーの起動
- ポストプロセッシング
- アニメーション - 剛体のみを使用した過渡解析
- プロッティング
- Abaqusの実行結果をプロットするには、fil2mrfトランスレーターを使用してAltairバイナリフォーマット(.abf)のファイルを作成します。このファイルはPlotウィンドウに直接読み込むことができます。.abfファイルには、すべてのボディの並進変位と回転変位が記述されています。変位、速度、および加速度に対するあらゆる出力リクエストがAbaqusのODBファイルに書き込まれます。これ以外の出力リクエストはサポートされていません。
スプリング要素とブッシュ要素の剛性特性と減衰特性の定義
- 定数
- Curve
- 式
Abaqusソルバーでは式を使用できません。Abaqusソルバーを使用する場合、剛性特性と減衰特性の定義に使用できるのは定数とカーブのみです。
定数を使用して剛性特性と減衰特性を定義していれば、ADAMSソルバーでもAbaqusソルバーでもモデルを正しく実行できます。
- スプリングダンパ - コイルスプリング - 剛性
- 式の中で独立変数にマイナス記号を使用していないことを確認します。 次のカーブと同じ傾向を持つ特性曲線を設定します。
- スプリングダンパ - コイルスプリング - 減衰
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{sd_.VR}’ではなく、‘-{sd_.VR}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。 次のカーブと同じ傾向を持つ特性曲線を設定します。
- スプリングダンパ - トーションスプリング - 剛性
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{sd_.AZ}’ではなく、‘-{sd_.AZ}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。 次のカーブと同じ傾向を持つ特性曲線を設定します。
- スプリングダンパ - トーションスプリング - 減衰
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{sd_.WZ}’ではなく、‘-{sd_.WZ}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。 次のカーブと同じ傾向を持つ特性曲線を設定します。
- ブッシュ要素 - 並進特性 - 剛性
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{bsh _.DX}’ではなく、‘-{bsh_.DX}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。
- ブッシュ要素 - 並進特性 - 減衰
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{bsh_.VX}’ではなく、‘-{bsh_.VX}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。
- ブッシュ要素 - 回転特性 - 剛性
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{bsh_.AX}’ではなく、‘-{bsh_.AX}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。
- ブッシュ要素 - 回転特性 - 減衰
- 式の中で独立変数にマイナス記号を使用していないことを確認します。MotionViewでは、ソルバーに依存しないモデルで要求される‘{bsh_.WX}’ではなく、‘-{bsh_.WX}’のようにマイナス記号を使用した独立変数がデフォルトで書き込まれます。