物体形状と電磁場のマッピング
シミュレーションを実行した物体の形状をマッピングし、画像として確認する。
h5ファイルをPNGファイルに変換
MEEPシュミレーションを実行すると、h5ファイルが作られる。このファイルに物体の形状が保存されている。 これをPNG画像ファイルに変換する。
- PNG画像ファイルに変換する。
h5topng test01-eps-000000.00.h5
- これでPNGファイルができれば良いが、エラー「h5topng error: invalid colormap file」が出ることがある。
- [home] > [anaconda3] > [pkgs] > [h5utils-1.13.1-nompi_h8a2d148_1105] > [share] > [h5utils] の中にあるcolormapsフォルダを作業ディレクトリへコピーする。
- カラーマップを明示的に指定してPNG画像ファイルに変換する。
h5topng test01-eps-000000.00.h5 -c ./colormaps/gray
物体形状のPNG画像ファイルができた。
電磁場をPNG画像にする
シミュレーション結果の電磁場もh5ファイルに保存されている。これも同じようにPNG画像ファイルに変換できる。
- カラーマップを明示的に指定してPNG画像ファイルに変換する。
h5topng test01-ey-000000.00.h5 -c ./colormaps/dkbluered
電磁場形状のPNG画像ファイルができた。
Pythonでオーバーレイ画像を作る
例えばJupyter notebookでも開いて、Pythonでh5ファイルを直接読み込んで、オーバーレイ画像を作ることもできる。
import h5py
import numpy as np
import matplotlib.pyplot as plt
eps = np.array(h5py.File('test01-eps-000150.00.h5','r')['eps'])
ey = np.array(h5py.File('test01-ey-000150.00.h5','r')['ey'])
plt.figure(dpi=100)
plt.imshow(eps_data.transpose(), interpolation='spline36', cmap='Greys')
plt.imshow(ey_data.transpose(), interpolation='spline36', cmap='RdYlBu', alpha=0.8)
plt.xlim(30,70)
plt.ylim(30,60)
plt.axis('off')
plt.show()