:tocdepth: 1

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

.. index::
	single: importタグ 

[|today| 更新]

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

importタグの使い方
====================

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

.. code-block:: YAML

	import: inputファイル名

| でinputファイルを読み込みます．
| 続けて，EMYフォーマットで，修正したい設定項目のみを記載します．

| 以下，EMYフォーマットで既存のinputファイルの各設定項目を
| 変更する際に注意すべき点を説明します．

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

| 例えば，
| outputfileタグ（出力ファイル）の
|   MAT_ID_NOSラベルは，ファイル出力する／しない複数の物性番号を指定します．

| このような場合，下記に示すように，

.. code-block:: YAML

	outputfile:
	  NUMBER_OUTPUT_MATS: 1 2 3

| NUMBER_OUTPUT_MATS:ラベルの，1, 2, 3の物性番号に対して，
| **一部の番号のみを変更することはできません．**

| 最初の番号（1）のみを（4）に変更したい時も，残りの番号も含めて，

.. code-block:: YAML

	outputfile:
	  NUMBER_OUTUPT_MATS: 4 2 3

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

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

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

.. code-block:: YAML

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

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

.. code-block:: YAML

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

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

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

.. code-block:: YAML

	bc:
	  dirichelt:
	    2 0 0 0

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

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

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

.. code-block:: YAML

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

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

| ID=3のデータのみを変更するには，

.. code-block:: YAML

	material:
	  solid:
	    3 0 0 0 2000

| のように記載します（比透磁率を1から2000に変更）
| ID=1と4の体積要素特性データは，そのまま残った状態となります．

| **IDが新規となる場合，そのデータは追加されます．**
| 例えば，下記の記載では，ID=5の体積要素特性データが追加されます．

.. code-block:: YAML

	material:
	  solid:
	    5 0 0 0 1

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

| 元のinputファイル抜粋

.. code-block:: YAML

	ELMCUR 1 1 0
	3 3 5 100 5e7

| 修正用EMYファイル抜粋

.. code-block:: YAML

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

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

.. warning::

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

