Hexagonal (HEX)#

Pearson symbol: hP

Constructor: HEX()

It is defined by two parameter: \(a\) and \(c\) with primitive and conventional lattice:

\[\begin{split}\begin{matrix} \boldsymbol{a}_1 &=& (a/2, &-a\sqrt{3}, &0)\\ \boldsymbol{a}_2 &=& (a/2, &a\sqrt{3}, &0)\\ \boldsymbol{a}_3 &=& (0, &0, &c) \end{matrix}\end{split}\]

Cell standardization#

Angle between first two lattice vectors (\(\gamma\)) has to be equal to \(120^{\circ}\).

If this condition is not satisfied, then the lattice is transformed to the standard form:

  • If \(\beta = 120^{\circ}\)
    \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_3, \boldsymbol{a}_1, \boldsymbol{a}_2)\]
  • If \(\alpha = 120^{\circ}\)
    \[(\boldsymbol{a}_1, \boldsymbol{a}_2, \boldsymbol{a}_3) \rightarrow (\boldsymbol{a}_2, \boldsymbol{a}_3, \boldsymbol{a}_1)\]

K-path#

\(\mathrm{\Gamma-M-K-\Gamma-A-L-H-A\vert L-M\vert K-H}\)

Point

\(\times\boldsymbol{b}_1\)

\(\times\boldsymbol{b}_2\)

\(\times\boldsymbol{b}_3\)

\(\mathrm{\Gamma}\)

\(0\)

\(0\)

\(0\)

\(\mathrm{A}\)

\(0\)

\(0\)

\(1/2\)

\(\mathrm{H}\)

\(1/3\)

\(1/3\)

\(1/2\)

\(\mathrm{K}\)

\(1/3\)

\(1/3\)

\(0\)

\(\mathrm{L}\)

\(1/2\)

\(0\)

\(1/2\)

\(\mathrm{M}\)

\(1/2\)

\(0\)

\(0\)

Variations#

There are no variations for hexagonal lattice. One example is predefined: hex with \(a = \pi\) and \(c = 2\pi\).

Examples#

Brillouin zone and default kpath#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import radtools as rad

l = rad.lattice_example("HEX")
backend = rad.PlotlyBackend()
backend.plot(l, kind="brillouin-kpath")
# Save an image:
backend.save("hex_brillouin.png")
# Interactive plot:
backend.show()

Primitive and conventional cell#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import radtools as rad

l = rad.lattice_example("HEX")
backend = rad.PlotlyBackend()
backend.plot(l, kind="primitive")
# Save an image:
backend.save("hex_real.png")
# Interactive plot:
backend.show()

Wigner-Seitz cell#

# RAD-tools - Sandbox (mainly condense matter plotting).
# Copyright (C) 2022-2024  Andrey Rybakov
#
# e-mail: anry@uv.es, web: rad-tools.org
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

import radtools as rad

l = rad.lattice_example("HEX")
backend = rad.PlotlyBackend()
backend.plot(l, kind="wigner-seitz")
# Save an image:
backend.save("hex_wigner-seitz.png")
# Interactive plot:
backend.show()