:tocdepth: 1

==================================
materialタグ
==================================

.. index::
	single: materialタグ

[|today| 更新]

| 物性データを定義します．
| 互換性のため，EMSolutionの.ems入力ファイルと同じフォーマットを採用しております．
| 要素形状に応じて，下記に示す第2タグを使って，項目を設定します．

.. csv-table:: materialタグの第2タグ
	:header: 第2タグ, 説明
	:widths: 2, 5 

	:ref:`solid`, "ソリッド要素に関する物性データ"
	:ref:`plate`, "プレート型特殊要素に関する物性データ"
	:ref:`thinelement`, "扁平要素の補正処理に関するデータ" 

.. _solid:

solid第2タグ
===============

| ソリッド要素に関する物性データを定義します． 
| **EMSolutionは二次元解析を三次元解析に拡張して計算するので，二次元解析のプレート要素に関する物性データも，こちらで定義します**.
| 各物性毎に，下記の物性データの設定項目を入力します．
| 基本的に，該当しない場合は0を設定して下さい．
| （BHカーブが該当しない場合は0など）

.. csv-table:: solid第2タグの設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 5, 2

	1, 1, "", "物性データの番号", "MAT_ID"
	1, 2, "", "| 物性が存在する領域の種類
	| 0: トータルポテンシャル領域
	| ≧ 1: 変形ポテンシャル領域", "POTENTIAL"
	1, 3, "", "BHカーブの番号", "BH_CURVE_ID"
	1, 4, "", "導電率", "SIGMA"
	1, 5, "", "比透磁率", "MU"
	1, 6, 1, "積層鉄心の占有率", "PACKING"
	1, 7, 0, "| 特殊な物性データのタイプ
	| 1: 三方向BHカーブ，複素透磁率（AC解析時）
	| 2: 温度依存BHカーブ
	| 3: 非線形二次元異方性
	| 4: Jiles&Athertonモデル
	| 5: Playモデル", "ANISOTROPY"
	1, 8, 0, "| 積層鉄心の鉄損の算出の有無
	| 1: 積層鉄心の鉄損を算出
	| 2: 各座標軸方向の積層鉄心の鉄損成分を算出", "IRON_LOSS"
	1, 8, 0, "| 温度に依存する導電率カーブの使用の有無
	| > 0: 温度依存する導電率カーブ番号
	| （ :doc:`module` のTEMP_DEPENDが1の必要あり)", "SIGMA_DEPEND_ID"

| 等方性の場合は，5列目までのデータを入力して下さい．
| （残りの既定値で等方性と見なされる）

| IRON_LOSSの値を設定した場合は，積層鉄心の鉄損算出に必要な下記のデータを
| 追加で設定して下さい．

.. csv-table:: IRON_LOSS設定の追加データ
	:header: IRON_LOSSの値, 追加で設定するデータ
	:widths: 2, 5 

	1, :ref:`ironloss1`
	2, :ref:`ironloss2`

使用例（等方性のケース）
-------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 1000 # 線形比透磁率 1000
	    110 0 0 5e6  1 # 導電率 5e6の非磁性
	    120 0 1 0    1 # BHカーブID=1の等方性非線形

| 異方性の場合は，下記に示す種類によって，ANISOTROPYなどの値を設定することになります．

.. csv-table:: 異方性材料の設定項目
	:header: ANISOTROPY, 異方性種類, その他の設定 
	:widths: 1, 2, 3

	0, :ref:`linaniso`, "導電率(SIGMA)もしくは比透磁率(MU)の値が負"
	0, :ref:`nonlinpack`, "BHカーブIDが正なおかつ占有率(PACKING)が1未満" 
	1, :ref:`threebh`, ""
	1, :ref:`compac`, ":doc:`module` のACが2"
	2, :ref:`tempdepbh`, ":doc:`module` のTEMP_DEPENDが1"
	3, :ref:`nonlin2d`, ""
	4, :ref:`jiles`, ""
	5, :ref:`play`, ""

.. _linaniso:

---------------------------------------------------
線形異方性
---------------------------------------------------

| 各成分毎に異なる(線形)異方性の導電率(SIGMA)もしくは比透磁率(MU)を設定します．
| 導電率(SIGMA)もしくは比透磁率(MU)には負となる値を入力します． 
| さらに，下記に示す局所座標系IDと，各方向成分の係数を設定します． 

.. csv-table:: 線形異方性の設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "x軸方向成分の係数", "FX"
	2, 3, "", "y軸方向成分の係数", "FY"
	2, 4, "", "z軸方向成分の係数", "FZ"

.. note::

	| 仮に導電率と比透磁率の両方とも異方性の場合，上記の2行を連続で入力します．
	| その場合，2行目は導電率，3行目は比透磁率の異方性となります．

使用例 (比透磁率が100,500,500の場合)
-------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 -1000 # 比透磁率 1000
	    0 1 0.5 0.5     # x～z軸方向成分の係数

.. _nonlinpack:

---------------------------------------------------
非線形の積層鉄心
---------------------------------------------------

| BHカーブの番号(BH_CURVE_ID)と占有率(PACKING)の両方を設定します．
| さらに，下記に示す局所座標系IDと，各方向成分の係数を設定します． 

.. csv-table:: 非線形積層鉄心設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "積層方向のx軸方向成分", "DX"
	2, 3, "", "積層方向のy軸方向成分", "DY"
	2, 4, "", "積層方向のz軸方向成分", "DZ"


使用例 (z軸方向が積層方向の占有率75[%]の積層鉄心の場合)
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 1 0 1000 0.75 # BHカーブIDが1,占有率が75%
	    0 0 0 1             # 積層方向はz

.. _threebh:

---------------------------------------------------
三方向BHカーブ
---------------------------------------------------

| 各成分毎に異なるBHカーブを設定します．
| ANISOTROPY設定項目に1を設定します．
| 線形の成分は，該当するBHカーブIDに0を設定し，線形比透磁率も設定します．

.. csv-table:: 三方向BHカーブ設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "x軸方向成分のBHカーブID", "B_H_X"
	2, 3, "", "y軸方向成分のBHカーブID", "B_H_Y"
	2, 4, "", "z軸方向成分のBHカーブID", "B_H_Z"
	2, 5, "", "x軸方向成分の比透磁率", "MU_X"
	2, 6, "", "y軸方向成分の比透磁率", "MU_Y"
	2, 7, "", "z軸方向成分の比透磁率", "MU_Z"

使用例 (三方向全てにBHカーブを設定する場合)
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 0 1 1        # ANISOTROPY(1): 三方向BHカーブ
	    0 1 2 3 1000 1000 1000 # x～z軸方向のBHカーブIDは1, 2, 3

.. _compac:

---------------------------------------------------
複素透磁率のケース
---------------------------------------------------

| 交流定常解析で，複素透磁率(実数部および虚数部)を設定します．
| :doc:`module` のACが2の必要あり．
| ANISOTROPY設定項目に1を設定します．

.. csv-table:: 複素透磁率設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 1, 1

	2, 1, "", "実数部", "MU_Re"
	2, 2, "", "虚数部", "MU_Im"

使用例 
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 0 1 1 # ANISOTROPY(1): 複素透磁率 
	    1000 500        # 1000 + j500 

.. _tempdepbh:

---------------------------------------------------
温度依存BHカーブ
---------------------------------------------------

| 温度に依存するBHカーブを使った非線形解析を行う場合に設定します．
| :doc:`module` のTEMP_DEPENDが1の必要あり．
| ANISOTROPY設定項目に2を設定します．
| BH_CURVE_ID設定項目に，:doc:`bh` のtempdepcurve第2タグで定義した温度に依存したBHカーブのデータの中の，該当するBHカーブ番号を設定します．

使用例 
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 1 0 1000 1 2 # ANISOTROPY(2): 温度依存BHカーブ 

.. _nonlin2d:

---------------------------------------------------
非線形二次元異方性
---------------------------------------------------

| 非線形二次元異方性BHカーブを用いた磁気異方性を設定します．
| ANISOTROPY設定項目に3を設定します．

.. csv-table:: 非線形二次元異方性設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "二次元異方性BHカーブID", "B_H_XY"
	2, 3, "", "z軸方向成分のBHカーブID", "B_H_Z"
	2, 4, 0, "z軸方向成分の比透磁率", "MU_Z"

使用例 
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 0 1 3 # ANISOTROPY(3): 非線形二次元異方性
	    0 1 2 1000      # 二次元異方性BHカーブIDは1, z軸方向成分のBHカーブIDは2

.. _jiles:

---------------------------------------------------
Jiles&Athertonモデル
---------------------------------------------------

| Jiles&Athertonモデルを用いた磁気異方性を設定します．
| ANISOTROPY設定項目に4を設定します．

.. csv-table:: Jiles&Athertonモデル設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "z軸方向の比透磁率", "MU_Z"
	2, 3, "", "磁束密度計算幅", "DB_CAL"
	2, 4, 0, "未使用", "PLAY_ID"
	2, 5, 0, "未使用", "DB_FACTOR"
	2, 6, 0, "未使用", "MATERIAL"
	2, 7, 0, "未使用", "B_MIN_LOSS_CORRECTION"
	"", "", "", "", ""
	3, 1, "", "x軸方向の飽和磁化", "MS"
	3, 2, "", "x軸方向の保磁力", "K"
	3, 3, "", "x軸方向の重み係数", "C"
	3, 4, "", "x軸方向のAnhysteretic形状係数", "A"
	3, 5, "", "x軸方向の結合係数", "ALPHA"
	"", "", "", "", ""
	4, 1, "", "y軸方向の飽和磁化", "MS"
	4, 2, "", "y軸方向の保磁力", "K"
	4, 3, "", "y軸方向の重み係数", "C"
	4, 4, "", "y軸方向のAnhysteretic形状係数", "A"
	4, 5, "", "y軸方向の結合係数", "ALPHA"

使用例 
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 0 1 4 # ANISOTROPY(4): Jiles-Athertonモデル 
	    0 1 0.001      
	    1.39e6 77.51 0.19222  84.96 218.22e-6 # x軸方向の設定
	    1.40e6 72.14 0.13334 144.56 206.66e-6 # y軸方向の設定

.. _play:

---------------------------------------------------
Playモデル
---------------------------------------------------

| Playモデルを用いた磁気異方性を設定します．
| ANISOTROPY設定項目に5を設定します．

.. csv-table:: Playモデル設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "z軸方向の比透磁率", "MU_Z"
	2, 3, "", "磁束密度計算幅", "DB_CAL"
	2, 4, "", "プレイモデルID", "PLAY_ID"
	2, 5, 0, "DB_CALの加速係数", "DB_FACTOR"
	2, 6, 0, "未使用", "MATERIAL"
	2, 7, 0, "回転ヒステリシス損の補正を行う磁束密度の下限", "B_MIN_LOSS_CORRECTION"

使用例 
---------------------------------------------------------

.. code-block:: YAML

	material:
	  solid:
	    100 0 0 0 0 1 5  # ANISOTROPY(5): Playモデル 
	    0 1 0.001 1 1.0     

---------------------------------------------------
鉄損算出に必要な設定項目
---------------------------------------------------

| 物性の鉄損を算出する際に必要な項目を設定します． 
| IRON_LOSS項目の値によって設定項目が異なります．

.. _ironloss1:

.. csv-table:: IRON_LOSS項目が1の時の設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	i, 1, "", "局所座標系ID", "COORD_ID"
	i, 2, "", "積層鉄心の密度", "MASS_DENSITY"
	i, 3, "", "渦電流損失係数", "KE"
	i, 4, "", "ヒステリシス損失係数", "KH"

| 

.. _ironloss2:

.. csv-table:: IRON_LOSS項目が2の時の設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	i, 1, "", "局所座標系ID", "COORD_ID"
	i, 2, "", "積層鉄心の密度", "MASS_DENSITY"
	i, 3, "", "x軸方向の渦電流損失係数", "KE(X)"
	i, 4, "", "x軸方向のヒステリシス損失係数", "KH(X)"
	i, 5, "", "y軸方向の渦電流損失係数", "KE(Y)"
	i, 6, "", "y軸方向のヒステリシス損失係数", "KH(Y)"
	i, 7, "", "z軸方向のヒステリシス損失係数", "KH(Z)"

.. _plate:

plate第2タグ
=====================

| プレート型特殊要素（表面インピーダンス要素, ギャップ要素, 非磁性薄板要素）に関する物性データを定義します．
| 二次元解析におけるプレート要素に関する物性データの定義ではありません．
| **物性データの種類(TYPE)によって，4列目に設定する値が異なります** 

.. csv-table:: plate第2タグの設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	1, 1, "", "物性データの番号", "SMAT_ID"
	1, 2, "", "| 物性データの種類
	| 1: 表面インピーダンス要素
	| 2: ギャップ要素
	| 3: 非磁性薄板要素", "TYPE"
	1, 2, "", "導電率", "SIGMA"
	1, 3, "", "比透磁率", "MU"
	1, 4, "", "| **(TYPE=1の時)** 
	| **表面インピーダンスの種類** 
	| 0: 線形
	| 1: 非線形，磁場が正弦的
	| 2: 非線形, 電場が正弦的
	| 3: 線形と，非線形，磁場が正弦的の混在
	| 4: 線形と，非線形，電場が正弦的の混在", "IMP_TYPE"
	1, 4, "", "| **(TYPE=2,3の時)** 
	| **ギャップ要素/非磁性薄板要素の厚さ** ", "THICK"

| 非線形表面インピーダンス要素（TYPE=1かつIMP_TYPE = 1,2,3,4の場合）
| 異方性非磁性薄板要素（TYPE=3かつSIGMA < 0の場合）
| の場合は，それぞれ，下記に示すデータを2行目として追加します．

.. csv-table:: TYPE=1かつIMP_TYPE=1,2,3,4の時の追加行 
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "BHカーブID", B_H_CURVE
	2, 2, "", "Agarwal係数", AGARWAL
	2, 3, "", "k値", "K"
	2, 4, "", "BHカーブの屈曲点の磁場強度", "HK"

| 

.. csv-table:: TYPE=3かつSIGMA<0の追加行
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	2, 1, "", "局所座標系ID", "COORD_ID"
	2, 2, "", "x軸方向成分の係数", "FX"
	2, 3, "", "y軸方向成分の係数", "FY"
	2, 4, "", "z軸方向成分の係数", "FZ"

使用例（厚さ1[mm]のギャップ要素）
-------------------------------------------

.. code-block:: YAML

	material:
	  plate:
	    500 2 0 1 1e-3 # TYPE(2): ギャップ要素

.. _thinelement:

thinelement第2タグ
=====================

| 物性データに関する設定ではありません．
| 扁平要素のあるメッシュの計算の収束性改善の機能を使う場合（:doc:`enhancement` のTHIN_ELEMENTラベルが1）時に必要となる設定項目です．

.. csv-table:: thinelement第2タグの設定項目
	:header: 行, 列, 既定値, 説明, 項目
	:widths: 1, 1, 1, 4, 3

	1, 1, "", "扁平度の判定値(アスペクト比)", "THIN_CRITERION"
	"", "", "", "", ""
	2, "", "", "判定を行う要素群の物性番号群", MAT_IDS

| 2行目には，扁平度の判定を行う要素群の物性番号群を配列として記載して下さい．


使用例（物性番号10,11の要素群でアスペクト比0.01以下の要素群に収束性改善の処理を行う）
----------------------------------------------------------------------------------------

.. code-block:: YAML

	material:
	  thinelement:
	    0.01
	    10 11
