GTPhSymmetryBands

GTPhSymmetryBands[bandsfile,modefile,kpoints,minb,maxb,objects,mesh size,point group,reciprocal basis]
performs the symmetry analysis of electromagnetic fields for the band structure given in bandsfile. The datasets of the eigenmodes are defined by modefile. All bands between minb and maxb will be investigated. objects defines the objects from the hdf5 files, which are necessary for the analysis. Mesh size defines the number of points used for interpolation. The system under consideration is characterized by point group and reciprocal basis.

DetailsDetails

  • It is assumed, that a photonic band structure is calculated along a path in k-space by means of MPB. The bands are stored after postprocessing with the script GSMPBBands2D. The symmetry analysis will performed only at selected k-points along the path. Those k-points have been specified during the calculation with MPB and are provide in the kpoints list. Modefile provides a characteristic filename of the eigenmodes corresponding to the scheme used by MPB. All necessary filenames are constructed internally from modefile.
  • In the list kpoints the k-point number in the BZ-path and the corresponding name as used in the MPB calculation are provided.
  • The symmetry analysis can be restricted to a certain range [minb,maxb] of all calculated bands. For the symmetry analysis the objects containing real and imaginary part of the field after transformation with mpb-data (cf. GTPhMPBFields) are necessary.
  • The fields are interpolated on a mesh defined by mesh size.
  • The point group of the photonic crystal has to be provided. The corresponding groups of the wave vector and the corresponding character table are constructed internally. Projection operators to the irreducible representations are used for the symmetry analysis.
  • In principal GTPhSymmetryBands is a wrapper which uses internally GTPhSymmetryPoint, which is based on GTPhSymmetryField.
  • The results of the symmetry analysis are given in the form of a table. The band structure plot is labeled by the irreducible representations found by the symmetry analysis.
  • The following options can be given:
  • FrameLabel{" ", "ω a/( 2 πc)"}Option of ListPlot
    GOIrepNotation"Mulliken"Defines the notation of the irreducible representations
    GOLabelShift{0.05, 0.02}Shifts the labels of the irreducible representation notation in the plot
    GOPlotTrueDecides, if table and eigenmodes are displayed
    GOVerboseFalseControls the output of additional information
    JoinedTrueOption of ListPlot
    PlotLabel"Photonic bandstructure"Option of ListPlot
    PlotRangeAllOption of ListPlot
    PlotStyle{{Thickness[Tiny], GrayLevel[0]}}Option of ListPlot
  • See: W. Hergert, M. Geilhufe, Group Theory in Solid State Physics and Photonics. Problem Solving with Mathematica, chapter 11.2
  • J. D. Joannopoulos, S. G. Johnson, J. N. Winn, R. D. Meade, Photonic Crystals. Molding the flow of light, Princton 2008, p .70
  • for MPB: http://ab-initio.mit.edu

ExamplesExamplesopen allclose all

Basic Examples  (1)Basic Examples  (1)

First load the package:

In[1]:=
Click for copyable input

As an example an eigenmode calculated by means of MPB will be analysed. The data are stored in the subdirectory datasets.

In[2]:=
Click for copyable input

A circular rod in a quadratic unit cell is considered. The radius of the rod is ra = 0.2 a. The real structure of the system is shown first.

In[3]:=
Click for copyable input
In[4]:=
Click for copyable input
Out[4]=

The point group of the problem is .

In[5]:=
Click for copyable input
Out[5]=

It is checked, which objects are contained in the dataset.

In[6]:=
Click for copyable input

It is also checked to which k-points the files belong.

In[7]:=
Click for copyable input
Out[7]=
Out[7]=
Out[7]=
Out[7]=

The k-points are Γ, X, M, Γ.

The objects real and imaginary part (z.r-new, z.i-new) of the mode after formation with the tool mpb-data are necessary to prepare the mode for the symmetry analysis. It is possible to analyse only a certain range of

In[8]:=
Click for copyable input
In[9]:=
Click for copyable input
Out[9]=