Speaker
Description
PHIG-3D, developed as a 3D visualization tool for PHITS[1] input data, is oriented toward an intuitive interface. However, its internal structure and functions, which are difficult to describe in the document, have not been described clearly.
The most significant limitation in PHIG-3D is the large amount of memory used when using the lattice structure. After reading the input file, PHIG-3D eliminates cell dependencies and flattens the hierarchy structure in the preprocessor before creating cell objects. In this process, the lattice structure cells are replaced by cells of each lattice element, e.g., if there is a 100 × 100 ×100 Lattice, 106 cells are generated. In 3D visualization, the data size is proportional to the number of polygonal vertices, therefore, visualization of the lattice structure geometry requires a large amount of memory.
One of the most important features of PHIG-3D is cross-platform capability. However, the biggest problem in implementing it is character encoding. Among the libraries used by PHIG-3D, Qt[2] uses UTF-8, but the character encoding of the C++ runtime library is compiler-dependent. Although VTK[3] can switch character encoding, it is necessary to load a multibyte-capable font to display multibyte characters. For these reasons, there is some overhead, especially in the Windows environment, as conversion from UTF-8 to the system character code (e.g., SJIS) and the removal of CR for line feed code are required.
In this presentation, I will describe and demonstrate these details.
References
[1] T. Sato, Y. Iwamoto, S. Hashimoto et al., “Features of Particle and Heavy Ion Transport code System (PHITS) version 3.02”, J. Nucl. Sci. Technol. 55(5-6), (2018), pp. 684-690.
[2] Qt company and Qt project. Qt. 2019, https://www.qt.io/
[3] Kitware, Inc., VTK. https://vtk.org/