Development of the OpenMX Viewer••••

What is the OpenMX Viewer?
Codes of the OpenMX Viewer
New functionalitiesProspects
http://www.openmx-square.org/viewer/Taisuke Ozaki (Univ. of Tokyo)
Yung-Ting Lee (National Taipei Univ. of Tech.)
The 4th OpenMX developer's meeting on Nov. 9-10, 2023

What is the OpenMX Viewer?
The OpenMX Viewer (Open source package for Material eXplorer Viewer) isa web-based graphical user interface (GUI) program for visualization andanalysis of crystalline and molecular structures and 3D grid data in theGaussian cube format such as electron density and molecular orbitals. Thetool might be useful for educational purpose and getting started with thecalculations for beginners.

Functionalities:⚫ Visualization of .dat, .xyz, .cif, .md, .cube, .Band files⚫ Animated visualization of the .md file
⚫ Analysis of the structure and charge state⚫ Visualization of the 1st Brillouin zone
⚫ Generation of the OpenMX input fileWEB-based GUI• WEB browser is one of the most familiar interfaces that people
spend a long time.

• Any machine dependent problems such as OS and version can beabsorbed by WEB browsers in principle, which results in that asingle frame will work for many different platforms like Windows,
Mac, and Linux.
• No downloading and no plugging-in and no updating are requiredfor users.

• Developers only have to change and modify codes on the server,by which all the users can get benefit.
• Many tools have been developed so that WEB-based GUI is fastand easy to use.

Continuous development of the OpenMX Viewer
OpenMX Viewer:Ver. 1.00: Aug. 19, 2016 Ver. 1.29: Feb. 16, 2020
Ver. 1.01: Aug. 20, 2016 Ver. 1.30: Apr. 12, 2021Ver. 1.02: Aug. 30, 2016 Ver. 1.31: Jun. 18, 2022
Ver. 1.05: Sep. 17, 2016 Ver. 1.36: Jul. 06, 2022
Ver. 1.06: Oct. 21, 2016 Ver. 1.37: Jul. 10, 2022
Ver. 1.07: Dec. 13, 2016 Ver. 1.38: Jul. 12, 2022
Ver. 1.08: Dec. 27, 2016 Ver. 1.39: Jul. 16, 2022
Ver. 1.09: Mar. 08, 2017 Ver. 1.40: Aug. 03, 2022
Ver. 1.10: Apr. 08, 2017 Ver. 1.41: Aug. 07, 2022
Ver. 1.11: Apr. 29, 2017 Ver. 1.42: Aug. 08, 2022
Ver. 1.12: May 05, 2017 Ver. 1.43: Aug. 08, 2022
Ver. 1.13: Dec. 08, 2017 Ver. 1.44: Aug. 09, 2022
Ver. 1.14: Dec. 25, 2017 Ver. 1.45: Aug. 09, 2022
Ver. 1.15: Dec. 25, 2017 Ver. 1.46: Aug. 09, 2022
Ver. 1.16: Jan. 31, 2018 Ver. 1.47: Aug. 12, 2022
Ver. 1.17: Feb. 06, 2018 Ver. 1.48: Sep. 20, 2022
Ver. 1.18: Feb. 23, 2018 Ver. 1.49: Nov. 11, 2022
Ver. 1.19: Feb. 24, 2018 Ver. 1.52: Feb. 01, 2023
Ver. 1.20: Feb. 25, 2018 Ver. 1.53: Feb. 01, 2023
Ver. 1.21: Feb. 25, 2018 Ver. 1.54: Feb. 10, 2023
Ver. 1.22: Mar. 01, 2018 Ver. 1.55: Feb. 15, 2023
Ver. 1.23: Mar. 05, 2018 Ver. 1.56: Jul. 15, 2023
Ver. 1.24: Mar. 23, 2018 Ver. 1.57: Jul. 17, 2023
Ver. 1.25: Sep. 09, 2019Ver. 1.26: Nov. 14, 2019Ver. 1.27: Nov. 14, 2019Ver. 1.28: Jan. 03, 2020

Manual:1st edition: Jul. 17, 2022
2nd edition: Feb. 02, 2023
3rd edition: Jul. 27, 2023

Without downloading andinstalling update versions,users can always access thelatest version by just visiting
the website.

Actual use per month of the OpenMX Viewer
Every day, the OpenMX Viewer is utilized for the actual use about 100 times.

Codes of the OpenMX Viewer
The codes have been developed using HTML5, CSS3, javascript,Canvas2D, WebGL, CGI, and several javascript libraries as listed
below:
Main code:index.html (7555 lines)
css file:style-viewst.css
WebGL libraries: three.min.js, THREEx.FullScreen.js,THREEx.screenshot.js, BufferGeometryUtils.js
cif analysis:cif.jsControl panel:dat.gui.min.js, cnp.jp
Brillouin zone: brillouin.js
Input file analysis: analysis_inputfiles.js
cube file analysis: is_cube.js, is_nccube.js, marchingcubes.js,marchingtetrahedra.js, surfacenets.js
Generation of input files: save_files.js
The total number of lines of codes is 33266 as of Nov., 2023.

Getting started with the OpenMX Viewer
Visit the website: http://www.openmx-square.org/viewer/
and drag & drop a dat, xyz, cube, md, or cif file on the site.
Then, you will see the structure of your model.

Here is the main control panel as we will explain in the next slides.

Examples◼ Examples for the xyz, cif, dat, md, and cubefiles are selected by “Examples” as shownbelow.

Atomic Attributes
Attributes of atoms can be changed by checking “AtomicAttributes”. You will see the following a periodic table. Byclicking one of elements, a small control panel pops up as
shown below.

Visualization of cube files◼ By dragging and dropping a cube file onto the web, one canvisualize isosurfaces as shown below.
◼ On a control panel appearing the right
top, one can select an algorithm such as
marching cubes to calculate theisosurface, and control parameters suchas isovalue, opacity, and color.

Visualization of the 1st Brillouin zone
The 1st Brillouin zone is shown by checking “Brillouin zone”,

and a suggested k-path is also depicted by the red lines for the band structure
calculation. By clicking “Suggested k-path”, you can download the k-path toa file. Also, the k-path will be included when you save an OpenMX input file.
The generation of k-path is based on a paper: W. Setyawan and S. Curtarolo, Comp.
Mat. Sci. 49, 299 (2010).
A common value isused to determine theBravais lattice astolerance of the length(Ang.) and angle(Deg.) of lattice
vectors, which iscontrolled by“Tolerance”.

Band Structure Viewer◼ By dragging and dropping a *.Band file onto the OpenMX Viewer
webpage, one can visualize a band structure in a new tab.
◼ By pressing mouse left button andmoving cursor up/down, the“Energy” range can be shifted.
Diamond◼ By scrolling middle wheel button,
the “Energy” range can be scaledup/down.
◼ The Fermi-level line can be adjusted
by controlling the “Fermi_Level”
slider.

Prospects⚫ A simple structure builder has been being developed by Dr. YungTing Lee, which enables us to manipulate the structure easily.
⚫ The viewer functionality would be available as an API that could becalled from the other web.
⚫ The input file generator will be available on CUI via Node.js.
⚫ Other visualizations of the volumetric 3D data such as isosurface
plus scalar and vector information will be supported, e.g., local
chemical potential analysis and Fermi surface.
⚫ It would be possible to develop an integrated system that users canmake structures, submit the corresponding job to machines a user
resisters, and analyze the results.