格子生成条件の定義¶
計算条件を定義します。計算条件は、ソルバー定義ファイルの CalculationCondition 要素で定義します。 基本情報の作成 で作成した格子生成プログラム定義ファイルに追記し、 リスト 15 に示すようなファイルにし、保存します。追記した部分を強調して示しました。
1<?xml version="1.0" encoding="UTF-8"?>
2<GridGeneratorDefinition
3 name="samplecreator"
4 caption="Sample Grid Creator"
5 version="1.0"
6 copyright="Example Company"
7 executable="generator.exe"
8 gridtype="structured2d"
9>
10 <GridGeneratingCondition>
11 <Tab name="size" caption="Grid Size">
12 <Item name="imax" caption="IMax">
13 <Definition valueType="integer" default="10" max="10000" min="1" />
14 </Item>
15 <Item name="jmax" caption="JMax">
16 <Definition valueType="integer" default="10" max="10000" min="1" />
17 </Item>
18 </Tab>
19 </GridGeneratingCondition>
20</GridGeneratorDefinition>
この時点では、格子生成プログラム定義ファイルの構造は 図 31 に示すようになっています。

図 31 格子生成プログラム定義ファイルの構造¶
正しく格子生成プログラム定義ファイルが作成できているか確認します。
iRIC を起動し、 基本情報の作成 と同じ手順で 格子生成アルゴリズム選択画面を表示します。 "Sample Grid Creator" を選択し、 "OK" ボタンを押します。
すると、 図 32 に示すダイアログが 表示されます。 リスト 15 で追記した内容に従って、 "Grid Size" というグループが追加されているのが分かります。 確認できたら、 "キャンセル" ボタンを押します。

図 32 格子生成ダイアログ 表示例¶
グループを増やして、さらに格子生成条件を追加します。 "Grid Size" の Tab要素 のすぐ下に、 "Elevation Output" というグループを 追加して保存します。追記した定義ファイルの抜粋を、 リスト 16 に示します。 追記した部分を強調して示しました。
1 (前略)
2 </Tab>
3 <Tab name="elevation" caption="Elevation Output">
4 <Item name="elev_on" caption="Output">
5 <Definition valueType="integer" default="0">
6 <Enumeration caption="Enabled" value="1" />
7 <Enumeration caption="Disabled" value="0" />
8 </Definition>
9 </Item>
10 <Item name="elev_value" caption="Value">
11 <Definition valueType="real" default="0">
12 <Condition type="isEqual" target="elev_on" value="1" />
13 </Definition>
14 </Item>
15 </Tab>
16 </GridGeneratingCondition>
17</GridGeneratorDefinition>
この時点では、定義ファイルの構造は 図 33 に示す通りです。

図 33 格子生成プログラム定義ファイルの構造¶
正しくソルバー定義ファイルが作成できているか確認します。 先ほどと同じ手順でダイアログを表示します。
"Elevation Output" というグループがリストに表示され、 このグループには2つの項目が表示されているのが分かります。 また、 "Value" は、 "Output" で "Enabled" を選択している時のみ有効です。 ダイアログの表示例を 図 34 に示します。

図 34 格子生成ダイアログ 表示例¶
格子生成条件の定義についてまとめると、以下の通りです。
格子生成条件のグループは Tab 要素で、格子生成条件は Item 要素でそれぞれ指定します。
Definition 要素以下の構造は、計算条件の種類 (例: 整数、実数、整数からの選択、関数型) によって異なります。格子生成条件の種類ごとの記述方法と、ダイアログ上での表示については 計算条件・境界条件・格子生成条件の項目の定義と読み込み処理の例 を参照して下さい。
格子生成条件には、 Condition 要素で依存関係を定義できます。 Condition 要素では、 その格子生成条件が有効になる条件を指定します。 Condition 要素の定義方法の詳細は、 計算条件・境界条件・格子生成条件の有効になる条件の定義例 を参照して下さい。
この例では、格子生成条件のダイアログを単純なリスト形式で作成しましたが、 グループボックスを使うなどしてダイアログのレイアウトをカスタマイズすることができます。 ダイアログのレイアウトのカスタマイズ方法については 計算条件・境界条件・格子生成条件のダイアログのレイアウト定義例 を参照して下さい。