draw_2D_BZs プログラム仕様

概要: 2次元のブリルアンゾーンと関連する格子点をプロットするスクリプト。 詳細説明: このスクリプトは、指定された数のブリルアンゾーン(BZ)を計算し、 それらを色分けしてプロットします。また、BZの境界線、逆格子点、および カスタムカラーバー(凡例)も描画します。 物理的な単位系は、2π/a を単位とする逆格子空間で表現されます。

関連リンク: draw_2D_BZs.py 技術ドキュメント

crystal.draw_2D_BZs.draw_custom_colorbar(fig, ax, colors, max_zone)[ソース]

概要: メインのAxesの右側に、自作のカラーバー(凡例)を描画する。 詳細説明: この関数は、ブリルアンゾーンの番号に対応する色と番号を表示する カスタムカラーバーを作成し、メインプロットの右側に配置します。 各色領域の中央に、対応するブリルアンゾーンの番号が白字と黒い縁取りで表示されます。

パラメータ:
  • fig -- matplotlib.figure.Figure: メインのFigureオブジェクト。

  • ax -- matplotlib.axes.Axes: メインのAxesオブジェクト。このAxesの右側にカラーバーが追加されます。

  • colors -- list[tuple]: BZ番号に対応する色のリスト。リストのインデックスはBZ番号に相当します。

  • max_zone -- int: 描画する最大のブリルアンゾーン番号。

戻り値:

None: この関数は何も返しません。

crystal.draw_2D_BZs.plot_brillouin_zones(max_zone, limit=None)[ソース]

概要: 2次元正方格子のブリルアンゾーンを計算し、可視化する。 詳細説明: 指定された数のブリルアンゾーン(BZ)を計算し、各ゾーンを異なる色で描画します。 プロットには、ブリルアンゾーンの境界線(垂直二等分線)と逆格子点も含まれます。 また、ゾーン番号を示すカスタムカラーバーが右側に表示されます。 計算は、各点 (X, Y) がどの逆格子点 G=(i, j) に最も近いか(ただし G=(0,0) を除く) を判断することで行われます。最も近い逆格子点が k 空間原点 (0,0) であれば第1BZ、 最も近い逆格子点が G1 であれば、その点と原点、および G1 と原点の中間地点を結ぶ線で区切られます。 一般的な第 n BZ は、原点に最も近い n 個の逆格子点よりも、原点に近い領域です。

パラメータ:
  • max_zone -- int: 描画する最大のブリルアンゾーン番号。

  • limit -- float or None: プロットの表示範囲(-limitからlimitまで)。単位は 2π/a。 Noneの場合、np.sqrt(max_zone) + 1.0 を基に自動的に計算されます。

戻り値:

None: この関数は何も返しません。