129

PS-26

遮蔽計算データ可視化ソフトウェアの web アプリケーション化
海洋リスク評価系＊大西世紀

1．はじめに実行可能なサーバーの提供 6)を実施している例も見られる．

モンテカルロ 3 次元放射輸送計算コード(3 次元 MC コード)ssh でのログインはホスト側に危険を伴うため，この米国オは，近年計算機の進歩により広く利用されるようになっていークリッジ国立研究所のサービスでは，「ASCII テキスト以る．一般に 3 次元 MC コードでは，メッシュでの空間離散化

外のファイルを送ると不正/危険行為とみなしてアカウントのかわりに，空間を「セル」と呼ばれる任意形状の要素単位を停止する」等の非常に厳しい制限が課されている．Gxsview

1)2)で分割する．MCNP コード や PHITS コード 等の主要な 3 次のインターネットサービス化においてはセキュリティリス

元 MC コードでは，空間領域構成法（Constructive Solid

ク及び将来的な海技研クラウド上での運用可能性を考慮し，Geometry, CSG）が採用され，セルは二次曲面のブール演算

http 通信のみで実施可能な web アプリケーションとして実装

によって定義される．MCNP にはこのセルの断面形状を表示すすることとした．

る機能が組み込まれているが，3 次元で表示する機能は無く，
PHITS には 2 次元断面表示に加えてレイトレーシングによる

2．1 システム構成

特定方向からの 3 次元投影画像を出力する機能があるが，画http 通信による web アプリではユーザーは web ブラウザを像をリアルタイムで描画することはできない．従ってこれら使ってサーバーへアクセスする．従って web ブラウザに GUIの MC コードでは視点の操作などをマウス等でインタラクテ

部品を提供するフロントエンドサーバーと，主要な処理を実ィブに実施することはできない．このようなインタラクティ

施するバックエンドーサーバーの 2 種類が必要となる．フロ3)が，ントエンドではデスクトップアプリに近い使用感を達成で1986 年の MCNP バージョン 3 で現行の入力書式が定まって以きる React ライブラリ 7)を採用し，バックエンドでは C++でブな 3 次元表示機能のニーズは広く認識されている

来，この要求を満たせるツールは存在していない．そこで海プログラミングした Gxsview のコードを使用するため，web

上技術安全研究所では 3 次元可視化ツールとして Gxsview4)

サーバーと C++の組み合わせを容易に実行できる Node.js8)を開発した．
Gxsview はマウスによるインタラクティブな GUIを採用した．システム構成の概要とデータの流れを図 1 に示

操作，拡大縮小可能なスケーラブルフォントによる表示，ス

す．

タイルシートによるテーマの変更，多言語表示などの現代的ソフトウェア機能を有している．
しかしながら Gxsview に関しては，現在プログラム形態が普及の妨げの一因となっている．Gxsview は通常のデスクト
ップアプリケーションとして開発されたため，実行ファイルとライブラリ(例えば Windows 環境では.exe ファイル及①ブラウザアクセスサーバー
ユーザーPC② GUI データ送信③入力ファイル送信
バックエンドび.dll ファイル)で構成される．しかしながら近年の計算機を取り巻く脅威の多様化を受け，セキュリティ要求の高まり

フロントエンド④可視化データ受信

サーバー

から個別のパーソナルコンピューター(PC)で実行可能なフ
ァイルを厳しく取り締まる組織が増加しており，実際にユー

図－1 web アプリシステムの構成とデータフロー

ザーから「exe ファイルが社内で実行不可とされたため使用を 断 念 し た 」と い う 報 告 を受 け る こ と もあ っ た ． ま た

2．2 ポリゴン生成手法の変更

COVID-19 の流行によりリモートワークが増加しているが，デMC コード入力データの幾何形状を可視化するにあたって

スクトップアプリは使用する個別の PC にインストールする

は，セルを構成する多角形(ポリゴン)を生成する必要があ

必要があるため，このような労働形態には不向きである．

る．セルは陰関数のブール演算で定義されており，デスクト

これらの問題を解決するために Gxsview の web アプリケー

ップ版 Gxsview では，空間格子上各点でセルの陰関数を計算

ション化を実施した．当稿ではこの web アプリ化に際して必し，その結果から表面を構築するマーチングキューブ法 9)を要となった事象，システム構成，実行結果等について述べる． 採用している．この手法では比較的複雑な形状のセルに対しても，一定の時間でポリゴンを生成することができるという2．構成

利点があるが，単純な形状のセルに対しては過剰な量のポリ原子力工学の分野においてはインターネット上でのアプ

ゴンを生成してしまうという欠点があり，web でデータを通

リケーションの実行は伝統的に核データ関連の検索や表示 5） 信する場合には適していない．従って web アプリではポリゴが主なものであったが，現在では ssh でログインし MCNP を

ン数を削減するために，「陰関数のブール演算結果をポリゴ

(129)

130
ン化する」のではなく「陰関数の表すポリゴン同士をブール演算」することでセルのポリゴンを構築している．これらの方式の概要を図 2 に，生成したセルの比較を図 3 に示す．

図－5 Godiva IV 臨界集合体 STL ファイル書き出し結果

4．まとめ
従来型のデスクトップアプリとして開発された Gxsview の
web アプリ化を実施した．3 次元可視化や多言語対応，3D フ
ァイルでの書き出し等の機能を実装した．これにより，ユーザーは追加ライブラリなしのブラウザのみで web アプリ版
図－2 ポリゴン生成概要(上：従来法，下：web アプリ用手法)

Gxsview を利用することが可能となった．今後は海技研クラウドサービス上での稼働を実施する予定である．
参考文献
1) X-5 Monte Carlo Team. MCNP - a general Monte Carlo
N-particle transport code, version 5 volume I overview
and theory. LA-UR-03-1987, Los Alamos National
Laboratory, 2003.

マーチングキューブ法

ポリゴン間ブール演算

ポリゴン数：132064

ポリゴン数：255

図－3 ポリゴン生成結果(左：従来法，右：web アプリ用手法)

2) Sato T, Iwamoto Y, Hashimoto S, Ogawa T, Furuta T, Abe
S-i, Kai T, Tsai P-E, Matsuda N, Iwase H, Shigyo N,
and Sihver L, Niita K. Features of particle and heavy
ion transport code system (PHITS) version 3.02. J

これらの図を見るとポリゴン間ブール演算では 1/100 程度のポリゴン数で同等の表現力を有していることがわかる．

Nucl. Sci. Technol., Vol. 55(6), pp.684–90, 2018.
3) Spancer J. B., Kulesza J. A., and Sood A., White paper
3D geometry visualization capability for MCNP.

3．Web アプリケーションの実行結果

LA-UR-17-24668, Los Alamos National Laboratory, 2017.

経済協力開発機構原子力機関(OECD/NEA)出版の，評価済み

4) Ohnishi S., Gxsview: Geometry and cross section viewer

臨界安全ベンチマーク実験ハンドブック 10)に収録されていfor calculating radiation transport, SoftwareX, Vol.

る Godiva IV 臨界集合体の MCNP 入力ファイルを表示した結14, 100681, 2021.

果が図 4 であり，さら STL(Stereolithography)ファイルにエクスポートした結果が図 5 である．これらの図より入力ファ
イルが正しく認識できていることがわかる．

5) IAEA,

ENDF:

Evaluated

Nuclear

Data

File,

https://www-nds.iaea.org/exfor/endf.htm.
6) T. E. Valentine, International Secure Platform for
Export-controlled

ComputingTools,

https://www.ornl.gov/sites/default/files/ESARDA201
5-RSICC-60-tev.pdf
7) Facebook, A JavaScript library for building userinterfaces, https://reactjs.org/.
8) OpenJS Foundation, Node.js, https://nodejs.org/.
9) Lorensen W. E. and Cline H. E., Marching cubes: A highresolution 3D surface construction algorithm. ACM
SIGGRAPH Compute Graph Vol. 21(4), pp.163–172, 1987.
10) Nuclear Energy Agency Nuclear Science Committee,
International Handbook of Evaluated Criticality
9)

図－4 Godiva IV 臨界集合体 可視化結果

Safety Benchmark Experiments, NEA/NSC/DOC(95)03,
IAEA, 1995.

(130)