treams.CylindricalWaveBasis.diffr_orders

classmethod CylindricalWaveBasis.diffr_orders(kz, mmax, lattice, bmax, nmax=1, positions=None)

Create a basis set for a system periodic in the z-direction.

Example

>>> CylindricalWaveBasis.diffr_orders(0.1, 1, 2 * np.pi, 1)
CylindricalWaveBasis(
    pidx=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0],
    kz=[-0.9 -0.9 -0.9 -0.9 -0.9 -0.9  0.1  0.1  0.1  0.1  0.1  0.1  1.1  1.1
  1.1  1.1  1.1  1.1],
    m=[-1 -1  0  0  1  1 -1 -1  0  0  1  1 -1 -1  0  0  1  1],
    pol=[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0],
    positions=[[0. 0. 0.]],
)
Parameters:
  • kz (float) – Wave vector z-component. Ideally it is in the first Brillouin zone (use misc.firstbrillouin1d()).

  • mmax (int) – Maximal value for the z-component of the angular momentum.

  • lattice (treams.Lattice or float) – Lattice definition or pitch.

  • bmax (float) – Maximal change of the z-component of the wave vector. So, this defines a maximal momentum transfer from the given value kz.

  • nmax (int, optional) – Number of positions.

  • positions (array-like, optional) – Positions of the origins.