# importタグを使ったinputファイルの流用

[2019/10/08更新]

EMYファイルは，新規にinputファイルを作成するために使いますが，
import:タグ を使うことで， 既存のinputファイルの一部の設定項目のみ変更したinputファイル
を作成することができます（既存のinputファイルを流用できます）．

## import:タグの使い方

importタグはinputファイルの読み込みに使えます．
（EMYファイル，YAMLファイルの読み込みには未対応です）

    import: inputファイル名

でinputファイルを読み込みます．
続けて，EMYフォーマットで，修正したい設定項目のみを記載します．
以下，EMYフォーマットで既存のinputファイルの各設定項目を
変更する際に注意すべき点を説明します．

## ラベルの設定項目は全て記載する必要があります

例えば，
outputfile:タグ（出力ファイル）の
MAT_ID_NOSラベルは，ファイル出力する／しない複数の物性番号を指定します．
このような場合，下記に示すように，

    outputfile:
      NUMBER_OUTPUT_MATS: 1 2 3

NUMBER_OUTPUT_MATS:ラベルの，1, 2, 3の物性番号に対して，
一部の番号のみを変更することはできません．
最初の番号（1）のみを（4）に変更したい時も，残りの番号も含めて，

    outputfile:
      NUMBER_OUTUPT_MATS: 4 2 3

という具合に全て記載する必要があります．
ラベルの設定項目は，全て上書きされまます．

## IDを持たない設定項目は全て記載する必要があります

例えば，境界条件に関する設定項目はIDを持っていません．
下記のようにディレクレ境界を2つ持つinputファイルに対し，

    bc:
      dirichelt:
        1 0 0 0
        0 1 0 0

一部のディレクレ境界のみを変更することは，できません．
1つ目のディレクレ境界を変更したい時は，残りのディレクレ境界も含めて，

    bc:
      dirichelt:
        2 0 0 0
        0 1 0 0

のように記載する必要があります．

1つ目のディレクレ境界のみを変更しようとして下記のように記載すると，
2つ目のディレクレ境界が消失してしまいます．

    bc:
      dirichelt:
        2 0 0 0

IDを持たない設定項目は，ラベルの設定項目と同じく，全て上書きされます．

## IDを持つ設定項目は修正する設定項目のみ記載すればOK

設定項目の中には，ID(項目を特定する番号)を持つ設定項目があります．
例えば，materialタグの中のsolid第1タグ(体積要素特性)は，

    material:
      solid:
        1 0 0 0 1000
        3 0 0 0 1
        4 0 0 0 1

となっています．
各行が，体積要素特性を表すデータですが，最初の設定項目が体積要素物性番号（ID）なので，
IDが3のデータ(2行目)のデータのみを変更することができます．
ID=3のデータのみを変更するには，

    material:
      solid:
        3 0 0 0 2000

のように記載します（比透磁率を1から2000に変更）
ID=1と4の体積要素特性データは，そのまま残った状態となります．
IDが新規となる場合，そのデータは追加されます．
例えば，下記の記載では，ID=5の体積要素特性データが追加されます．

    material:
      solid:
        5 0 0 0 1

さらに，変更する前と後で，異なる種別のものに変更することもできます．
下記は，ID=3のソース項をELMCURからSDEFCOILに変更する例です．
元のinputファイル抜粋

    ELMCUR 1 1 0
    3 3 5 100 5e7

修正用EMYファイル抜粋

    source:
      sdefcoil:
        1
        3 101 102 103 104 1500 5e7

上記の例では，ELMCURからSDEFCOILと異なる種別のソース項への変更となりますが，
問題なく変更できます．

警告

IDを持つ設定項目は，特定の設定項目の修正や新規追加ができますが，
既存の設定項目を取り除くことはできません．
上記の例では，ID=3の体積要素特性データの修正はできますが，削除することはできません．