:tocdepth: 1

==================================
bcタグ
==================================

.. index::
	single: bcタグ

[|today| 更新]

| (周期境界条件を除いた)境界条件の定義を行います．
| 境界条件の判定に用いられる，節点が面および線上に存在するかどうかの距離の判定値を，下記のDISTANCE_JUDGEラベルで設定します．

ラベル
=========

.. csv-table:: bc:タグの設定項目 
	:header: ラベル, 既定値, 説明
	:widths: 2, 1, 7 

	DISTANCE_JUDGE, 1e-5, "節点が面および線上に存在するかどうかの距離の判定値"


使用例（距離の判定値を既定値よりも小さく設定）
-----------------------------------------------------

.. code-block:: YAML

	bc:
	  DISTANCE_JUDGE: 1e-6

| 境界条件は下記に示す4種類の形式に分かれており，形式に応じて，下記に示す第2タグを使って，条件を設定します．

.. csv-table:: bc:タグの第2タグ
	:header: 第2タグ, 説明
	:widths: 2, 7 

	:ref:`far`, 遠方境界条件
	:ref:`dirichlet`, ディレクレ境界条件(境界上でBn=0)
	:ref:`neumann`, ノイマン境界条件(境界上でHt=0)
	:ref:`zeroaline`, 二次元解析における線上のA=0のディレクレ境界条件

.. _far:

far:第2タグ
=============

| 遠方境界条件に関する項目を設定します．

.. csv-table:: far:第2タグの設定項目 
	:header: ラベル, 既定値, 説明
	:widths: 2, 1, 5 

	FAR_BOUNDARY_CONDITION, 0, "| 遠方境界面の条件
	| 0: ディレクレ境界条件(Bn=0)
	| 1: ノイマン境界条件(Ht=0)
	| 2: 無限境界要素条件
	| ( **下記の無限境界要素に関するラベルデータが必要** )
	| 3: 外部電流磁場ソース(COIL)が作るHtを与える"
	NO_BE_TERMS, 0, "無限境界要素面展開次数"
	BE_CENTER_X, 0, "無限境界要素中心x座標"
	BE_CENTER_Y, 0, "無限境界要素中心y座標"
	BE_CENTER_Z, 0, "無限境界要素中心z座標"

.. _dirichlet:

dirichlet:第2タグ
=====================

| ディレクレ境界条件(境界面でBn=0)に関する項目を設定します．
| 境界面は，平面を表す次式

.. math::

	CX*x + CY*y + CZ*z = C

| の各係数を，下記のフォーマットで一行で記載します．
| 境界面が複数個ある場合は，境界面の総数だけ続けて記載します．

.. csv-table:: dirichlet:第2タグ設定項目 
	:header: 行, 列, 既定値, 項目 
	:widths: 1, 1, 1, 2

	1, 1, "", CX
	1, 2, "", CY
	1, 3, "", CZ
	1, 4, "", C

使用例（ディレクレ境界条件がYZ面とXZ面の2つある場合）
-----------------------------------------------------

.. code-block:: YAML

	bc:
	  dirichlet:
	    1 0 0 0
	    0 1 0 0

.. _neumann:

neumann:第2タグ
=================

| ノイマン境界条件(境界面でHt=0)に関する項目を設定します．
| 境界面は，ディレクレ境界条件と同じく平面を表す次式

.. math::

	CX*x + CY*y + CZ*z = C

| の各係数を，下記のフォーマットで一行で記載します．
| 境界面が複数個ある場合は，境界面の総数だけ続けて記載します．

.. csv-table:: neumann:第2タグ設定項目 
	:header: 行, 列, 既定値, 項目 
	:widths: 1, 1, 1, 2

	1, 1, "", CX
	1, 2, "", CY
	1, 3, "", CZ
	1, 4, "", C

使用例（ノイマン境界条件がXY面の1つある場合）
----------------------------------------------

.. code-block:: YAML

	bc:
	  neumann:
	    0 0 1 0

使用例（YZ面とXZ面がディレクレ境界，XY面がノイマン境界条件の場合）
---------------------------------------------------------------------

.. code-block:: YAML

	bc:
	  dirichlet:
	    1 0 0 0
	    0 1 0 0
	  neumann:
	    0 0 1 0

.. _zeroaline:

zeroaline:第2タグ
====================

| 2D解析において，線上にある辺のAの値をゼロとするディレクレ境界条件の
| 辺の座標（SX, SY, SZ) - (EX, EY, EZ)を設定します．

.. csv-table:: zeroaline:第2タグ設定項目 
	:header: 行, 列, 既定値, 項目 
	:widths: 1, 1, 1, 2

	1, 1, "", SX
	1, 2, "", SY
	1, 3, "", SZ
	1, 4, "", SX
	1, 5, "", SY
	1, 6, "", SZ

使用例（Z軸上(Z=0～1)の辺をディレクレ境界条件とする場合）
-----------------------------------------------------------

.. code-block:: YAML

	bc:
	  zeroaline:
	    0 0 0 0 0 1
