計算条件の定義¶
計算条件を定義します。計算条件は、ソルバー定義ファイルの CalculationCondition 要素で定義します。 基本情報の作成 で作成したソルバー定義ファイルに追記し、 リスト 2 に示すようなファイルにし、保存します。追記した部分を強調して示しました。
1<?xml version="1.0" encoding="UTF-8"?>
2<SolverDefinition
3 name="samplesolver"
4 caption="Sample Solver"
5 version="1.0"
6 copyright="Example Company"
7 release="2012.04.01"
8 homepage="http://example.com/"
9 executable="solver.exe"
10 iterationtype="time"
11 gridtype="structured2d"
12>
13 <CalculationCondition>
14 <Tab name="basic" caption="Basic Settings">
15 <Item name="maxIteretions" caption="Maximum number of Iterations">
16 <Definition valueType="integer" default="10">
17 </Definition>
18 </Item>
19 <Item name="timeStep" caption="Time Step">
20 <Definition valueType="real" default="0.1">
21 </Definition>
22 </Item>
23 </Tab>
24 </CalculationCondition>
25 <GridRelatedCondition>
26 </GridRelatedCondition>
27</SolverDefinition>
この時点では、ソルバー定義ファイルの構造は 図 5 に示すようになっています。
正しくソルバー定義ファイルが作成できているか確認します。
iRIC を起動します。図 3 に示すダイアログが表示されますので、「新しいプロジェクト」ボタンを押して、ソルバーの リストから "Sample Solver" をクリックし、 "OK" ボタンを押します。 図 6 に示すダイアログが表示されますが、 "OK" ボタンを押して進みます。
プリプロセッサが表示されますので、以下の操作を行います。
メニュー: --> 計算条件(C) --> 設定(S)
すると、 図 7 に示すダイアログが表示されます。 リスト 2 で追記した 内容に従って表示されているのが分かります。
グループを増やして、さらに計算条件を追加します。Basic Settings の Tab要素 のすぐ下に、 "Water Surface Elevation" というグループを追加して保存します。追記した ソルバー定義ファイルの抜粋を、 リスト 3 に示します。追記した部分を強調して示しました。
1(前略)
2 </Tab>
3 <Tab name="surfaceElevation" caption="Water Surface Elevation">
4 <Item name="surfaceType" caption="Type">
5 <Definition valueType="integer" default="0">
6 <Enumeration caption="Constant" value="0" />
7 <Enumeration caption="Time Dependent" value="1" />
8 </Definition>
9 </Item>
10 <Item name="constantSurface" caption="Constant Value">
11 <Definition valueType="real" default="1">
12 <Condition type="isEqual" target="surfaceType" value="0"/>
13 </Definition>
14 </Item>
15 <Item name="variableSurface" caption="Time Dependent Value">
16 <Definition valueType="functional">
17 <Parameter valueType="real" caption="Time(s)"/>
18 <Value valueType="real" caption="Elevation(m) "/>
19 <Condition type="isEqual" target="surfaceType" value="1"/>
20 </Definition>
21 </Item>
22 </Tab>
23 </CalculationCondition>
24 <GridRelatedCondition>
25 </GridRelatedCondition>
26</SolverDefinition>
この時点では、ソルバー定義ファイルの構造は 図 8 に示すようになっています。
正しくソルバー定義ファイルが作成できているか確認します。先ほどと同じ手順で ダイアログを表示します。
"Water Surface Elevation" というグループがリストに表示されているのが分かります。 また、 "Constant Value" は、 "Type" で "Constant" を選択している時のみ、 "Time Dependent Value" は、 "Type" で "Time Dependent" を選択している時のみ有効です。
ダイアログの表示例を 図 9 に示します。
計算条件の定義についてまとめると、以下の通りです。
計算条件のグループは Tab要素で、計算条件は Item要素で指定します。
Definition 要素以下の構造は、計算条件の種類 (例: 整数、実数、整数からの選択、関数型) によって異なります。計算条件の種類ごとの記述方法とダイアログ上での表示については 計算条件・境界条件・格子生成条件の項目の定義と読み込み処理の例 を参照して下さい。
計算条件には、 Condition 要素で依存関係を定義できます。Condition要素では、その計算条件 が有効になる条件を指定します。 Condition 要素の定義方法の例は、 計算条件・境界条件・格子生成条件の有効になる条件の定義例 を参照して下さい。
この例では、計算条件のダイアログを単純なリスト形式で作成しましたが、 グループボックスを使うなどしてダイアログのレイアウトをカスタマイズすることができます。 ダイアログのレイアウトのカスタマイズ方法については 計算条件・境界条件・格子生成条件のダイアログのレイアウト定義例 を参照して下さい。