ボクセル及び連続四面体形状のオプション -------------------------------------------------------------------------------- .. rst-class:: no-caption-number .. list-table:: **icells** :header-rows: 0 * - 値 - 説明 * - | (D=3) - | [cell]セクション全体のバイナリ形式による出力・読込。複雑な体系の場合、一度バイナリ化して再読込することにより計算時間が短縮されます。ただし、一つ一つのcellの定義が単純でcell数が多い場合は、むしろ計算時間が長くなってしまう場合もありますのでご注意ください。また、icells=1でバイナリ形式のファイルを読み込む際、[surface]と[cell]セクションの記述を消したりしないようにしてください。他に、同一の物質番号を用いて密度が異なる領域を定義した場合は本機能を使用しないようにしてください。 * - | =0 - | バイナリの入出力なし。[cell]のエコーを出力しない。 * - | =1 - | file(19)からバイナリ形式のジオメトリを読み込む。[cell]のエコーを出力しない。ivoxelは自動的に1になる。 * - | =2 - | file(19)にバイナリ形式のジオメトリを出力する。ivoxelは自動的に2になる。 * - | =3 - | 通常モード。バイナリの入出力なし。[cell]のエコーは出力する。 .. rst-class:: no-caption-number .. list-table:: **ivoxel** :header-rows: 0 * - 値 - 説明 * - | (D=0) - | ボクセルデータのバイナリ形式による出力・読み込み。 * - | =0 - | 出力なし。 * - | =1 - | ファイル名file(18)からバイナリ形式のボクセルデータを読み込む。 * - | =2 - | ファイル名file(18)にバイナリ形式のボクセルデータを出力する。 * - | =3 - | =0と同じ動作。ただし、ボクセルデータを入力ファイルエコーに出力(これ以外のオプションでは非表示)。 ivoxel=2を指定すると、ボクセルデータをバイナリ形式でファイル名file(18)に出力して計算を終了します(バージョン2.30以前では、終了せずに引き続き計算を行います)。その後、このデータファイルがある状態でivoxel=1として再度PHITSを実行させると、通常一時的に行うバイナリデータの作成を省略して、以後の計算を行います。PHITSでは、読み取ったインプットデータを一時的にバイナリ形式で書き出し、それを読み込んでから粒子輸送計算を行います。したがって、読み込むデータ量が大きくなると、それに比例して書き出しの際の計算時間がかかることになります。ivoxelを利用すると、バイナリデータの書き出しを省略するため、何度もPHITSを実行する場合に計算時間が短縮されます。ただし、このパラメータが使えるのは、fill以降が単純なuniverse番号の並びになっている場合のみで、座標変換などが含まれる場合(例えば3(1 0 1)など)はエラーとなってしまいますのでご注意下さい。 .. rst-class:: no-caption-number .. list-table:: **itetvol** :header-rows: 0 * - 値 - 説明 * - | (D=0) - | 連続四面体形状利用時(LAT=3)における体積の自動計算。 * - | =0 - | 自動で計算しない。 * - | =1 - | 自動で計算しタリーなどで体積の値として使用する。 .. rst-class:: no-caption-number .. list-table:: **itetra** :header-rows: 0 * - 値 - 説明 * - | (D=0) - | 連続四面体データのバイナリ形式による出力・読み込み。バイナリファイルはntetsurfやntetelemに依存しますので,それらのパラメータを変更した場合は,再度,itetra=2としてバイナリファイルを作り直してください。 * - | =0 - | 出力なし。 * - | =1 - | ファイル名file(30)(D=Tetra.bin)からバイナリ形式の連続四面体データを読み込む。 * - | =2 - | ファイル名file(30)(D=Tetra.bin)にバイナリ形式の連続四面体データを出力する。 .. rst-class:: no-caption-number .. list-table:: **ntetsurf** :header-rows: 0 * - 値 - 説明 * - | (D=100) - | 連続四面体計算のメッシュ分割の際に、一つの領域に許容する連続四面体の | 外部面の数。 .. rst-class:: no-caption-number .. list-table:: **ntetelem** :header-rows: 0 * - 値 - 説明 * - | (D=200) - | 連続四面体計算のメッシュ分割の際に、一つの領域に許容する四面体の数。 .. rst-class:: no-caption-number .. list-table:: **itetauto** :header-rows: 0 * - 値 - 説明 * - | (D=0) - | 連続四面体universeに対応する領域の自動作成。 * - | =0 - | 自動で作成しない。 * - | =1 - | 自動で作成する。TetGen形式では.txtファイル要。 .. rst-class:: no-caption-number .. list-table:: **itgchk** :header-rows: 0 * - 値 - 説明 * - | (D=0) - | 連続四面体形状として許されない体積ゼロの四面体や四面体同士の交差の有無をチェックするオプション。 * - | =0 - | チェックしない。 * - | =1 - | チェックを実行し、実行後に即終了する [#]_ 。輸送計算等を実行したい場合は0を選択。最初に検知された四面体体系の異常を"tet\_geoerr.inp"ファイルに出力する。PHIG3Dを使って状況の確認が可能。 itetvol=1を指定することで、連続四面体形状(LAT=3)を使用している場合に、連続四面体形状内に現れるUniverseの体積を自動で計算して使用します。ただし、単純に四面体の体積を足し上げるため、UniverseとFillの入れ子構造で、連続四面体形状の一部を切り出して使用している場合などは、正しい体積の値とならないので、注意が必要です。itetvol=1が指定されている場合は上記の計算値がVolumeセクション等での指定よりも優先されます。 itetra=2を指定すると、連続四面体形状を読み込んで輸送計算に必要な情報データを生成した後に、その情報をバイナリ形式でファイル名file(30)(D=Tetra.bin)に出力して計算を終了します。その後、このデータファイルがある状態でitetra=1として再度PHITSを実行させると、データ処理を省略して必要情報をファイルから読み込みます。四面体数の多い連続四面体データを使用する際には、データ処理に計算時間がかかるため、同じ連続四面体形状を使用して何度もPHITSを実行する場合には、計算時間の短縮が図れます。 連続四面体形状を使用する計算では、計算スピードを向上させるため、形状を収めた直方体を自動で細分化し、個々の領域に入る四面体の数を減らす二種類のアルゴリズムが組み込まれています。一つは、連続四面体の外側から連続四面体内へと粒子が入射される場合にどの四面体の面を通過するかの判定に使用するアルゴリズムで、領域を細分化して一つの領域に含まれる外部面の数をntetsurf以下に限ることで、輸送計算を高速化します。もう一つは、連続四面体内に線源が存在する場合に、放射線が発生する位置がどの四面体に属するかの判断に使用するアルゴリズムで、領域を細分化して、一つの領域に含まれる四面体の数をntetelem以下に限ることで、輸送計算を高速化します。 itetauto=1を指定すると、連続四面体形状の各四面体の要素universeに対応する領域を自動で作成します。連続四面体形状の構成物質が増えた場合に領域を手作業で作成する手間が省けます。主にNASTRANバルクデータ形式で連続四面体形状を読み込む場合に便利です。詳しくは :numref:`sec-tetra` をご参照ください。 .. [#] 1以外にも10以下の数値nを指定することで、 :math:`n` 番目に検知された四面体の異常な体系を"tet\_geoerr.inp"ファイルに出力します。ただし、検知は10個で終了するため、11以上を指定するとファイルが出力されません。