バルクデータ入力ファイル

OptiStructの入力ファイルは、次の3つのセクションで構成されます。

入出力オプションエントリセクションは、解析または最適化の実行を総合的に制御します。このセクションは、出力のタイプ、フォーマット、および周波数、実行のタイプ(チェック、解析、スーパーエレメント生成、最適化、最適化リスタート)、さらに入力ファイル、出力ファイル、スクラッチファイルの場所と名前を制御します。

サブケース情報エントリセクションは、特定のサブケースに関する情報を保持します。このセクションは、サブケースに使用する荷重条件と境界条件を識別します。出力のタイプと周波数を制御でき、最適化問題の目的および制約情報を保持することもできます。解析タイプの詳細については、オンラインヘルプの解析タイプ - データセレクタのページに記載されている表をご参照ください。

バルクデータエントリセクションは、節点、要素、プロパティー、材料、荷重条件と境界条件、座標系など、有限要素モデルに関するすべての有限要素データを保持します。最適化を実行する場合は、このセクションで設計変数、応答、および制約条件を定義します。バルクデータエントリセクションの先頭には、BEGIN BULKステートメントを記述します。


図 1.

これらのセクションは、単一ファイル構成または複数ファイル構成とすることができます(以前には2ファイル構成もありましたが現在は推奨しません)。

文字列ラベルベースの入力ファイル

エンティティを識別する手段として、現在サポートされている整数IDのほかに、それらのエンティティに対応するIDフィールドで指定された文字列ラベルがあります。入力ファイルを手動で編集する場合は整数IDの方が柔軟性の面で優れていますが、入力ファイルのエントリを識別しやすくするうえでは文字列ラベルの方が有利です(特に多数のエントリを定義している場合)。

現在のところ、次の2つのタイプで文字列ラベルを使用できます:
  • タイプ1:

    文字列ラベルを使用すると、エントリに対応するIDフィールドを通じて、そのエントリを識別できます。例えば、MAT1エントリのMIDフィールドで指定された文字列ラベルで、この材料エントリを一意に識別できます(整数IDの機能と同様)。

  • タイプ2:

    文字列ラベルをIDとして定義したエントリは、そのエントリ固有の文字列ラベルを使用して、他のエントリで参照できます。例えば、MAT1エントリの文字列ラベル識別子をPSOLIDエントリのMIDフィールドで指定することで、このMAT1材料をPSOLIDプロパティに関連付けることができます(整数ラベルの使用法と同様)。

文字列ラベルのサポート:
  • 材料
    • タイプ1サポート:

      以下の材料エントリのMIDフィールドで文字列ラベルを定義できます:MAT1MATS1MAT2MAT3MAT4MAT5MAT8MAT9MAT10

    • タイプ2サポート:

      これらの材料のMIDフィールドで定義した文字列ラベルを、他の関連プロパティのMIDフィールドで参照できます。

    次の例は、材料を扱う状況で文字列ラベルを使用する方法を示しています。
    $ EXAMPLE 1 - STRING BASED IDs WITH MAT1
    .
    .
    MAT1, STEEL_MATERIAL, 210000.0, , 0.3 
    PSOLID, 1, STEEL_MATERIAL
    .
    .
  • 特性
    • タイプ1サポート:

      以下のプロパティエントリのPIDフィールドで文字列ラベルを定義できます:PSHELLPSOLIDPBEAMPBARPBEAMLPBARLPBUSHPCOMPPCOMPGPRODPELASPDAMPPMASSPGAP、およびPCONT

    • タイプ2サポート:

      これらのプロパティのPIDフィールドで定義された文字列ラベルを、関連エントリのPIDフィールドで参照できます。

    次の例は、プロパティを扱う状況で文字列ラベルを使用する方法を示しています。
     $ EXAMPLE 2 - STRING BASED IDs WITH PROD
    .
    .
    CROD, 1, _PROD_string,1,2
    CROD, 2, _PROD_string,2,3
    CROD, 3, _PROD_string,3,4
    CROD, 4, _PROD_string,4,5
    CROD, 5, _PROD_string,5,6
    PROD, _PROD_string, 101, 1.0
    .
    .
  • セット
    • タイプ1サポート:

      以下の要素および節点ベースのSETエントリのIDフィールドで文字列ラベルを定義できます。

    • タイプ2サポート:

      以下のバルクデータエントリのSET IDフィールドの文字ラベルがサポートされます: SPCSPCDFORCEMOMENTPLOAD1PLOAD2ACCEL2NSML1 (IDフィールドの要素セット)、RBODY (ID フィールドの節点と要素セット)、TIE (GSETID)、PLOADSF (ELSET)。

      出力要求のSETIDフィールドにおいても文字列ラベルがサポートされています。これらの出力要求は、節点ベースと要素ベースの出力に制限されています。

    次の例は、セットを扱う状況で文字列ラベルを使用する方法を示しています。
    $ EXAMPLE 3 - STRING BASED IDs WITH SET
    .
    .
    SPC, 1, VEHICLE_DOOR, 123456, 0.0
    +, GSET
    SET, VEHICLE_DOOR, GRID, LIST    
    +, 26, THRU,100
    .
    .
  • 座標系
    • タイプ1サポート:

      すべての座標系定義のCIDフィールドで文字列ラベルを定義できます。

    • タイプ2サポート:

      以下のバルクエントリのCIDフィールドの文字列ラベルがサポートされます:JOINTGRFORCE

    次の例は、座標系を扱う状況で文字列ラベルを使用する方法を示しています。
    $ EXAMPLE 4 - STRING BASED IDs WITH COORDINATE SYSTEMS
    .
    .
    CORD2R, RECT_COORD, , 2.0, 0.0, 1.0, 2.0, 0.0, 101.0  
    JOINTG, 1, 99, CARTES, 337, RECT_COORD, 2325
    .
    .
  • サーフェス
    • タイプ1サポート:

      SURFエントリのSRFIDフィールドで文字列ラベルを定義できます。

    • タイプ2サポート:
      以下のエントリのsurface フィールドで以下の文字列ラベルを定義できます:
      • CONTACTTIE (SSIDおよび MSIDフィールド)
      • PLOADSF (SURF不イールド)
  • テーブル
    • タイプ1サポート:

      TABLES1エントリのTIDフィールドで文字列ラベルを定義できます。

    • タイプ2サポート:

      TABLES1エントリを参照しているMATS1エントリのTIDで文字列ラベルを定義できます。

文字列IDの特徴:
  • 文字列ラベルは大文字と小文字が区別されません。
  • 文字列ラベルは、すべてのバルクデータフォーマット、つまり、固定、ロング、およびフリーフォーマットでサポートされます。
  • 8文字を超える文字列ラベルの場合は、フリーフォーマットを使用することをお勧めします。フリーフォーマットでは任意の長さの文字列が許容されますが、OptiStructで処理されるときに17文字目以降が切り捨てられます。
  • 文字列ラベルは、記号置換機能の変数名と同じガイドラインに従います。

単一ファイル構成

単一ファイル構成では、3つのデータセクションすべてが1つのファイルに含まれます。バルクデータエントリセクションは最後のセクションにする必要があります。ファイルの拡張子には.femを使用することを推奨します。

複数ファイル構成

複数ファイル構成には、INCLUDE入出力オプションエントリを利用します。このオプションを使用することで、カットアンドペーストしなくても他のファイルから情報を含めることができます。INCLUDEステートメントは単一ファイル構成および2ファイル構成のどのセクションに記述しても構いませんが、そのセクションに適した情報を含める必要があります。

次の例は、サブケース情報セクションに別のサブケースを追加する方法を示しています。
input.femファイル sub2.inc
$
Subcase 1
SPC = 1
Load = 2
$
INCLUDE sub2.inc
$
BEGIN BULK
$
Subcase 2
SPC = 1
Load = 3
ソルバーはすべてのファイルを読み出し、読み出したファイルの行をinput.femファイル内のINCLUDEステートメントの場所に挿入します。 OptiStructが読み出すinput.femファイルのエコーは次のようになります:
$
Subcase 1
SPC = 1
Load = 2
$
Subcase 2
SPC = 1
Load = 3
$
BEGIN BULK
$

2ファイル構成

この構成は現在は使用しません。単一ファイル構成または複数ファイル構成を推奨します。

2ファイル構成では、コントロールデータ(入出力オプションエントリセクションおよびサブケース情報エントリセクション)とモデルデータ(バルクデータエントリセクション)は分離されています。入力ファイルにBEGIN BULKステートメントがない場合、ソルバーは別のファイルからモデルデータを読み出します:
  • 入出力オプションエントリセクションにINFILEカードが存在する場合、モデルデータが含まれるファイルの名前は、このカードで指定されている引数になります。
  • 入出力オプションエントリセクションにINFILEカードが存在せず、入力ファイルの拡張子が.femでない場合、モデルデータが含まれるファイルの名前は、入力ファイルの拡張子を.femに置き換えて生成されます。
2ファイル構成では、複数のコントロールデータファイルと1つのモデルファイル(またはその逆)を使用して実行を行うことができます。コントロールデータファイルの拡張子には.parm、モデルデータファイルの拡張子には.femをそれぞれ使用することを推奨します。
注:
  • OptiStructの入力セクションのフォーマットは、Nastranフォーマットの入力セクションのフォーマットと同様です。
  • INCLUDEや他のカード(RESTARTEIGVNAMELOADLIBOUTFILETMPDIRASSIGN)には自由にファイル名を指定できます。また、オプションで、オペレーティングシステム(WindowsまたはUnix)で使用可能なパスを指定することもできます。ファイル名は引用符(二重引用符または一重引用符のどちらも使用できます)で囲むことができ、パス名の構成部分を区切るにはスラッシュ(/)またはバックスラッシュ(\)を使用します。
  • ソルバーは、次のルールに従ってINCLUDEカード上のファイル名を見つけます。
    • 引数にファイルの絶対パスを指定した場合(Unixでは“/”で始まり、Windowsでは“D:”などのドライブ文字で始まるパスを指定した場合)、指定した場所にあるファイルが使用されます。
    • パスがなくファイル名のみが指定されている場合、そのファイルはINCLUDEステートメントが記述されているファイルと同じディレクトリ内に存在する必要があります。
    • 引数に相対パスが含まれている場合(../filenameまたはsub/filenameなど)、このファイルの場所はINCLUDEステートメントを含むファイルの場所を基準にした相対ディレクトリです。ソルバーを実行したディレクトリ、またはメインファイルがあるディレクトリを基準にした相対ディレクトリではありません。

圧縮入力ファイル

入力ファイルと参照インクルードファイルはオプションでGZIP圧縮されることができます。圧縮されたファイルはファイル名に拡張子.gzが追加される必要があります。有効なファイル名の例:input.fem.gzinput.gzinput.dat.gzなど。圧縮ファイルはプレーンのASCIIファイルと混ぜることができます。INCLUDE カードは、ファイルが圧縮された場合でも修正する必要はありません。例えば、カードINCLUDE infile.datが指定されている場合、リーダーはinfile.datファイルが見つからなければ自動的に圧縮されたファイル、infile.dat.gzを検索します。他の入力ファイル (RESTARTASSIGN等) は圧縮できません。