III input control#

本章では,EMSolution実行にあたって必要とされる入力ファイルinputのデータ入力方法を示します(各入力データのことをパラメータとも呼びます)。inputファイルは,物理的な観点から解析モデルを記述するための全ての情報(メッシュデータを除く)と,解析内容に関するユーザの選択を含むもので,EMSolutionを用いた解析の”制御ファイル”ということができます。すなわち,inputファイルは節点,要素データ以外の全ての入力データを含みます。また,初期実行,リスタート実行において,一部を除きデータは共通です。

本資料では,以下のように表します。

  • ファイル名: post_geom

  • 設定項目:

    PRE_PROCESSING(1) (リンクあり。他のページに説明がある項目)

    PRE_PROCESSING (リンクなし。表示ページに説明がある項目)

  • モジュール名: <deform module>

設定項目でリンクがあるものは,表示しているドキュメント外の項目にリンクしています。リンクがないものは,表示しているドキュメント内の項目にリンクしています。

input テキストフォーマット#

input ファイルの一般的な形式は次の通りです。

従来のテキストフォーマットについての説明は,基本的に次の「折りたたみセクション」内に記載ています。表示する際は, inputテキストフォーマットの折りたたみセクション をクリックしてください。折りたたみセクションを開くと,テキストフォーマットついての説明が表示されます。

inputテキストフォーマットの折りたたみセクション
  1. 第一カラムが *(半角アスタリスク)で始まる行はコメント行を表し,実質的な意味を持ちません。行の途中の * はコメントとして認識されません。

  2. 入力データには文字列タイプ,実数タイプ,整数タイプの3つのタイプがあります。各行におけるデータの入力順序は決められており(本章でその詳細を述べます),それぞれのデータはブランクで区切り,入力します。この順序さえ守られていれば,各データの行内での位置は自由です。ブランクには半角スペースまたはタブを使用してください。全角スペースはブランクにはなりません。

  3. 第1カラムの整数0および実数0.0のデータはブランクで置き換えてはいけません。第1カラム以降で使用しない項目は省略可能です。省略した場合にはゼロと判断します。

  4. 実行制御や入出力オプション等において,特に断らない限り 0はoff(実行しない),1はon(実行する) を表します。

  5. 計算によっては明かに意味を持たないデータでも特に断らない限り何等かの値を入力してください。

以下の説明において,

整数タイプ:

“I”

実数タイプ:

“E”

文字列タイプ:

“S”

で表現します。複数個のデータはType欄において *データ個数*で表します。一部タイトルカード形式になっており,その場合には,先頭に文字列(大文字,小文字どちらでも良い)をおきます。

  • タイトルカードの例

* PHICOIL *SERIES_NO * NO_PARTS * IN_ROTOR *
PHICOIL      111        1        0

また,以下の説明における変数名のカッコ()内の数字は,データ番号(Ⅲ章内の項目番号)です。

  • 例:TRANSIENT(2):Ⅲ章2項の「解析の種類」の中の入力データであることを意味します

各項目における入力データは必ずしも1行のデータではありません(下は1項の入力データ)。各入力データには変数名( PRE_PROCESSING 等)があり,下のようにコメント行に変数名を記述することをすすめますが,必ずしも変数名を記述する必要はありません。

* PRE_PROCESSING * MAKE_SYSTEM_MATRICES *
    1                   1
* SOLVE_EQUATION * POST_PROCESSING *
    1                 1

各項目の説明ページの冒頭に入力データ一式を示し,各変数に対応するデータ部に変数の型を示します。

* PHICOIL * SERIES_NO * NO_PARTS * IN_ROTOR *
    S           I           I          I

タイトルカード形式の場合は変数名が文字列型(S型)入力データとなります。

* PHICOIL  *SERIES_NO * NO_PARTS * IN_ROTOR *
PHICOIL         1          1            0

各入力データ

各入力データは,複数のパラメータからなるパラメータセットで構成され,パラメータセットには 固定パラメータセット追加パラメータセット があります。固定パラメータは必ず必要なパラメータセットで,追加パラメータセットは固定パラメータ内のパラメータ設定によって追加されるパラメータセットです。また 準固定パラメータセット は,条件に応じていずれかを必要としているパラメータセットです。 このように,入力データおよびパラメータセットは原則入力する順番が決まっていて,決まった位置に値を定義することで機能しますが,ソース要素は COILELMCUR 等のタイトルカードを使ってパラメータセット自体を定義し,任意の順番に入力できるようになっています。このソース要素内のパラメータセットを タイトルカードパラメータセット あるいは TCパラメータセット と呼びます。なお,タイトルカード型であってもTCパラメータセットとは限らず,たとえば SOURCE/END(17) は固定パラメータセット, MOTION(19) は追加パラメータセットに属します。

  • パラメータセット

* PRE_PROCESSING * MAKE_SYSTEM_MATRICES *
        1           1
* SOLVE_EQUATION * POST_PROCESSING *
        1           1
  • パラメータは上のパラメータセットの中の PRE_PROCESSINGMAKE_SYSTEM_MATRICES など

入力データ説明

各入力データリストごとに入力フォーマットとパラメータの詳細説明を記載しています。

  • 入力フォーマット

* PRE_PROCESSING * MAKE_SYSTEM_MATRICES *
        1           1
* SOLVE_EQUATION * POST_PROCESSING *
        1           1
  • 詳細説明
    • 下の例では PRE_PROCESSING は固定パラメータセットの1行1列目のパラメータで入力タイプは整数タイプであることを示しています。

    PRE_PROCESSING
    固定パラメータセット |[row, col] = [1, 1] |Type=I (0, 1)
    
    - =1:前処理プロセスを実行
    - =0:前処理プロセスをスキップ
    

入力パラメータは,基本的に

  • I : 整数型 -1, 0, 1 など

  • E : 実数型 1.0, 5.e-7 など

  • S : 文字列型 COIL, NETWORK などの識別文字

になります。数式での入力はできません。

input.json フォーマット#

従来(2024.11以前),上記固定テキストフォーマットを使用していましたが,2024.11よりより汎用性の高いJSONフォーマットでの記述に対応しました。ほぼ同じパラメータをJSON形式で記述します。

{}で囲い,"キー":"値"で記述します。

Important

JSONフォーマットは2024.11以降のバージョンでのみ使用可能です。従来のテキストフォーマットは引き続き使用できますが、JSONフォーマットを推奨します。

従来のテキストフォーマットを用いて EMSoluiton を実行すると,リダイレクトとして input.json が生成されます。これを編集してJSONフォーマットでの入力データを作成することができます。

以下のように記述されます。

JSON format from 2024.11#
"1_Execution_Control" :
{
    "PRE_PROCESSING" : I,
    "MAKE_SYSTEM_MATRICES" : I,
    "SOLVE_EQUATION" : I,
    "POST_PROCESSING" : I
},

固定テキストフォーマットと比べて,以下の利点があります。

  • Python 等のプログラミング言語と相性が良い

    "キー"を使って"値"を取ってきたり,値を変更したりすることが簡単にできます。

  • {}の順番は自由に変えられる。

    よく変更するものを最初に,あまり変更しないものを最後にすることもできます。

  • デフォルト値は定義しなくてもよい

    デフォルト値についてはそれぞれのパラメータで示します。

入力データ説明#

テキストフォーマット同様,入力パラメータは,基本的に

キー:文字列

値:整数および実数型

  • 整数 (I) : -1, 0, 1 など

  • 実数 (E) : 1.0, 5.e-7 など

  • 文字列 (S) : 数式入力 "4.0*sqrt(2)", "1/60" など

になります。数式は文字列として入力することができます。数式入力が可能なパラメータについては,入力データリストをご参照ください。

Note

実行制御や入出力オプション等において,特に断らない限り, 0はoff(実行しない),1はon(実行する) を表します。

入力例

JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "THETA" : "2/3",
    "THETA_NETWORK" : "1/2",
    "THETA_MOTION" : "1/2"
},

Caution

数式をそのまま入力すると,JSONフォーマットでのエラーになりますのでご注意ください。

入力データリスト#