# bcタグ

[2019/10/08更新]

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

## ラベル

bc:タグの設定項目
ラベル | 既定値 | 説明
--- | --- | ---
DISTANCE_JUDGE | 1e-5 | 節点が面および線上に存在するかどうかの距離の判定値

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

    bc:
      DISTANCE_JUDGE: 1e-6

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

bc:タグの第2タグ
第2タグ | 説明
--- | ---
far:第2タグ | 遠方境界条件
dirichlet:第2タグ | ディレクレ境界条件(境界上でBn=0)
neumann:第2タグ | ノイマン境界条件(境界上でHt=0)
zeroaline:第2タグ | 二次元解析における線上のA=0のディレクレ境界条件

## far:第2タグ

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

far:第2タグの設定項目
ラベル | 既定値 | 説明
--- | --- | ---
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:第2タグ

ディレクレ境界条件(境界面でBn=0)に関する項目を設定します．
境界面は，平面を表す次式
\[CX*x + CY*y + CZ*z = C\]
の各係数を，下記のフォーマットで一行で記載します．
境界面が複数個ある場合は，境界面の総数だけ続けて記載します．

dirichlet:第2タグ設定項目
行 | 列 | 既定値 | 項目
--- | --- | --- | ---
1 | 1 |  | CX
1 | 2 |  | CY
1 | 3 |  | CZ
1 | 4 |  | C

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

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

## neumann:第2タグ

ノイマン境界条件(境界面でHt=0)に関する項目を設定します．
境界面は，ディレクレ境界条件と同じく平面を表す次式
\[CX*x + CY*y + CZ*z = C\]
の各係数を，下記のフォーマットで一行で記載します．
境界面が複数個ある場合は，境界面の総数だけ続けて記載します．

neumann:第2タグ設定項目
行 | 列 | 既定値 | 項目
--- | --- | --- | ---
1 | 1 |  | CX
1 | 2 |  | CY
1 | 3 |  | CZ
1 | 4 |  | C

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

    bc:
      neumann:
        0 0 1 0

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

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

## zeroaline:第2タグ

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

zeroaline:第2タグ設定項目
行 | 列 | 既定値 | 項目
--- | --- | --- | ---
1 | 1 |  | SX
1 | 2 |  | SY
1 | 3 |  | SZ
1 | 4 |  | SX
1 | 5 |  | SY
1 | 6 |  | SZ

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

    bc:
      zeroaline:
        0 0 0 0 0 1