Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

5 Supercells
 5.1 Supercell Model Graphs
 5.2 Constructing Supercell Models
 5.3 Supercell Model Properties
 5.4 Embedding of the Primitive Cell in the Supercell
 5.5 Export and Import

5 Supercells

5.1 Supercell Model Graphs

Supercell model graphs are used to describe the extension of a cell model graph defined on a primitive cell to a supercell. The vertices and edges of the supercell model graph retain information about the vertices and edges of the primitive cell model graph and the elements of the quotient group \(\Gamma_\mathrm{pc}/\Gamma_\mathrm{sc}\) distinguishing the different copies of the primitive cell in the supercell.

Supercell model graphs are implemented as objects of category TGSuperCellModelGraph with the following components:

and is printed in the form

TGSuperCellModelGraph(
  primitive cell = TGCell( ... ),
  supercell = TGCell( ... ),
  center = w,
  type = <type>,
  vertices = [ [ w1, gi1 ], [ w2, gi2 ], ... ],
  edges = [ [ v1, v2, tag, gam ], ... ],
  faces = [ [ [ e1, o1 ], [ e2, o2 ], ... ], ... ]
)

See the corresponding references above for details.

5.2 Constructing Supercell Models

There are two functions for constructing supercell models based on a given model graph:

5.2-1 TGSuperCellModelGraph
‣ TGSuperCellModelGraph( model, sc )( function )

Returns: model graph as TGSuperCellModelGraph object (see 5.1).

Constructs the supercell model graph obtained from extending the model model given as a TGCellModelGraph object (see 4.1) to the supercell sc given as a TGCellobject (see 3.1). The resulting supercell is both symmetric and connected.

5.2-2 RandomTGSuperCellModelGraph
‣ RandomTGSuperCellModelGraph( model, scquotient[, GAMgens[, TDGAM[, TGAMs]]] )( function )

Returns: cell graph as Section_TGSuperCellModelGraph object (see 5.1).

Constructs the supercell model graph obtained from extending the model model given as a TGCellModelGraph object (see 4.1) to the supercell specified by the TGQuotient scquotient (see 2.3). Generally, the resulting supercell is neither symmetric nor connected.

If desired, explicit, e.g., symmetric, choices for the generators of supercell translation group \(\Gamma_\mathrm{sc}\), \(T_{\Delta^+}(\Gamma_\mathrm{sc})\), and \(T_{\Gamma_\mathrm{pc}}(\Gamma_\mathrm{sc})\) can be given as optional arguments GAMgens, TDGAM, and TGAMs, respectively.

5.3 Supercell Model Properties

5.3-1 GetProperTriangleGroup
‣ GetProperTriangleGroup( model )( operation )

returns the proper triangle group \(\Delta^+\) on which the model is based as a ProperTriangleGroup object (see 2.1).

5.3-2 PrimitiveCellRelators
‣ PrimitiveCellRelators( model )( operation )

returns the relators in terms of elements of GetProperTriangleGroup(model) specifying the primitive cell on which the model is defined.

5.3-3 SuperCellRelators
‣ SuperCellRelators( model )( operation )

returns the relators in terms of elements of GetProperTriangleGroup(model) specifying the supercell.

5.3-4 CellCenter
‣ CellCenter( model )( operation )

returns the an integer between \(1\) and \(3\) indicating the type of vertex of the triangle tessellation at the center of the cell graph with \(1\), \(2\), \(3\) corresponding to the vertices \(x\), \(y\), \(z\), of the fundamental Schwarz triangle.

5.3-5 GetTGPrimitiveCell
‣ GetTGPrimitiveCell( model )( operation )

returns the TGCell object (see 3.1) associated with the model's primitive cell.

5.3-6 GetTGSuperCell
‣ GetTGSuperCell( model )( operation )

returns the TGCell object (see 3.1) associated with the model's supercell.

5.3-7 GetTGCell
‣ GetTGCell( model )( operation )

This is an alias for GetTGSuperCell (5.3-6).

5.3-8 ModelType
‣ ModelType( model )( operation )

returns a the identifier of the model type. See ModelType (4.3-5) for more details.

5.3-9 CellVertices
‣ CellVertices( model )( operation )

returns the vertices of the model graph as a list.

Each vertex is of the form [ w, gi, etaj ] with w an integer between 1 and 3 indicating the vertex of the fundamental Schwarz triangle, gi the position of the element in the transversal \(T_{G^+}(G_w^+)\) labeling the vertex, and etaj the position of the element in the transversal \(T_{\Gamma_\mathrm{pc}}(\Gamma_\mathrm{sc})\) labeling the copy of the primitive cell containing the vertex inside the supercell.

5.3-10 CellVertexPositions
‣ CellVertexPositions( model )( operation )

returns the positions of the vertices as elements of the proper triangle group \(\Delta^+\).

5.3-11 CellEdges
‣ CellEdges( model )( operation )

returns the edges of the model graph as a list.

Each edge is of the form [ v1, v2, tag, gam ] with v1, v2 the positions of the vertices in CellVertices(model) connected by the edge, tag uniquely identifying the edge, and gam the translation relating the unit cell containing v1 to the unit cell containing v2, as element of the finitely presented group FpGroup(TGCellTranslationGroup(GetTGCell(model))). If v1 corresponds to the vertex \((w, [g_{u_w}]_w)\) and v2 to the vertex \((w', [g_{\tilde{u}_{w'}}]_{w'})\), then gam corresponds to the translation \(\gamma\) such that

\[g_{\tilde{u}_{w'}} = g_{u_w}\gamma.\]

The tag tag is of the form [ v1pc, v2pc, tagpc ] with v1pc, v2pc the positions of the vertices in the primitive cell, and tagpc the tag of the edge in the primitive cell (see 4.2). Thus, tag specifies (up to the translation) the edge in the primitive cell.

5.3-12 CellEdgeTranslations
‣ CellEdgeTranslations( model )( operation )

returns the translations associated with the edges of the model graph. The translations are given as elements of the finitely presented group FpGroup(TGCellTranslationGroup(GetTGCell(model))) and describe the translation of the unit cell containing the first vertex of the oriented edge to the unit cell containing the second.

5.3-13 CellFaces
‣ CellFaces( model )( operation )

returns the faces of the model graph as a list.

5.3-14 CellEmbedding
‣ CellEmbedding( supercell-model )( operation )

returns the embedding of the primitive cell in the supercell as a TGCellEmbedding object (see 5.4).

5.4 Embedding of the Primitive Cell in the Supercell

5.4-1 PrimitiveCellTranslationGroup
‣ PrimitiveCellTranslationGroup( cellembed )( operation )

returns the primitive cell translation group as a TGCellTranslationGroup object (see 3.4).

5.4-2 SuperCellTranslationGroup
‣ SuperCellTranslationGroup( cellembed )( operation )

returns the supercell translation group as a TGCellTranslationGroup object (see 3.4).

5.4-3 AsQuotient
‣ AsQuotient( cellembed )( operation )

returns the quotient group \(\Gamma_\mathrm{pc}/\Gamma_\mathrm{sc}\) of the primitive cell by the supercell translation group as a RightTransversal object.

5.4-4 GetRightTransversal
‣ GetRightTransversal( cellembed )( operation )

returns the right transversal of the quotient group \(\Gamma_\mathrm{pc}/\Gamma_\mathrm{sc}\) of the primitive cell by the supercell translation group as a list of representatives in \(\Gamma\).

5.4-5 TranslationGroupEmbedding
‣ TranslationGroupEmbedding( supercell-model )( operation )

Returns: group homomorphism from the translation group associated with GetTGSuperCell(supercell-model) to the translation group associated with GetTGPrimitiveCell(supercell-model), each obtained from the cell using FpGroup(TGCellTranslationGroup(cell)).

Constructs an embedding homomorphism from the supercell translation group (as an abstract finitely-presented group) to the primitive-cell translation group (also as an abstract finitely-presented group).

5.5 Export and Import

5.5-1 Exporting TGSuperCellModelGraph Objects
‣ Export( model, output-stream )( operation )
‣ Export( model, path )( operation )
‣ ExportString( model )( operation )

Export the supercell model graph model to the OutputTextStream output-stream or to the file at the path given by the string path. Alternatively, the supercell model graph can be exported to a string with ExportString, which returns said string.

5.5-2 Importing TGSuperCellModelGraph Objects
‣ ImportTGSuperCellModelGraph( input-stream[, tg] )( function )
‣ ImportTGSuperCellModelGraphFromFile( path[, tg] )( function )
‣ ImportTGSuperCellModelGraphFromString( string[, tg] )( function )

Returns: model graph as TGSuperCellModelGraph (see 5.1).

Import a supercell model graph from the InputTextStream input-stream or from the file at the path given by the string path. Alterantively, the supercell model graph can be imported from the string string. Optionally, the triangle group can be given as a ProperTriangleGroup object tg (see 2.1).

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML