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:
GetTGPrimitiveCell
(5.3-5): the associated TGCell
object (see 3.1) for the primitive cell
GetTGSuperCell
(5.3-6): the associated TGCell
object (see 3.1) for the supercell
CellCenter
(5.3-4): the cell center of the supercell model graph
CellEmbedding
(5.3-14): the embedding of the primitive cell in the supercell as a TGCellEmbedding
object (see 5.4)
ModelType
(5.3-8): identifier of the type of model, e.g., tessellation, kagome etc.
CellVertices
(5.3-9): the vertices of the supercell model graph, i.e., the sites of the tight-binding model
CellVertexPositions
(5.3-10): the positions of the vertices of the supercell model graph as elements of the proper triangle group
CellEdges
(5.3-11): the edges of the supercell model graph, i.e., the hoppings of the tight-binding model, including potential translations associated with them
CellFaces
(5.3-13): the faces of the supercell model graph, i.e., the plaquettes of the tight-binding model
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.
There are two functions for constructing supercell models based on a given model graph:
TGSuperCellModelGraph
(5.2-1): constructs a supercell model graph from a model graph and a supercell choosing representatives such that the resulting supercell is a symmetric connected cell.
RandomTGSuperCellModelGraph
(5.2-2): constructs a supercell model graph from a model graph and relators specifying the supercell. Note that the resulting supercell is neither symmetric nor connected in general. Usually, the representatives are automatically chosen and arbitrary, but they can be explicitly passed if desired.
In all of those functions, the option simplify
, which takes a non-negative integer as argument, can be used to specify the level of simplification of words in the translation group, both for the translation generators expressed in terms of generators of the proper triangle group and for the translations expressed as elements of the finitely presented group. The additional option simplifyMethod
, which takes a string, can be used to specify the method of simplification. By default simplifyMethod
is set to "BruteForce"
. If the package kbmag (see kbmag reference manual kbmag Reference Manual) is loaded it is possible to set simplifyMethod
to "KnuthBendix"
, such that the Knuth-Bendix completion algorithm is used in the simplification. This method uses the available space in cache, which can be flushed by calling FlushCaches
(see section Mutability and Copying in the GAP Reference Manual).
‣ 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 TGCell
object (see 3.1). The resulting supercell is both symmetric and connected.
‣ 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.
‣ GetProperTriangleGroup ( model ) | ( operation ) |
returns the proper triangle group \Delta^+ on which the model is based as a ProperTriangleGroup
object (see 2.1).
‣ PrimitiveCellRelators ( model ) | ( operation ) |
returns the relators in terms of elements of GetProperTriangleGroup(
model)
specifying the primitive cell on which the model is defined.
‣ SuperCellRelators ( model ) | ( operation ) |
returns the relators in terms of elements of GetProperTriangleGroup(
model)
specifying the supercell.
‣ 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.
‣ GetTGPrimitiveCell ( model ) | ( operation ) |
returns the TGCell
object (see 3.1) associated with the model's primitive cell.
‣ GetTGSuperCell ( model ) | ( operation ) |
returns the TGCell
object (see 3.1) associated with the model's supercell.
‣ GetTGCell ( model ) | ( operation ) |
This is an alias for GetTGSuperCell
(5.3-6).
‣ ModelType ( model ) | ( operation ) |
returns a the identifier of the model type. See ModelType
(4.3-5) for more details.
‣ 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.
‣ CellVertexPositions ( model ) | ( operation ) |
returns the positions of the vertices as elements of the proper triangle group \Delta^+.
‣ 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.
‣ 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.
‣ CellFaces ( model ) | ( operation ) |
returns the faces of the model graph as a list.
‣ CellEmbedding ( supercell-model ) | ( operation ) |
returns the embedding of the primitive cell in the supercell as a TGCellEmbedding
object (see 5.4).
‣ PrimitiveCellTranslationGroup ( cellembed ) | ( operation ) |
returns the primitive cell translation group as a TGCellTranslationGroup
object (see 3.4).
‣ SuperCellTranslationGroup ( cellembed ) | ( operation ) |
returns the supercell translation group as a TGCellTranslationGroup
object (see 3.4).
‣ 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.
‣ 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.
‣ 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).
‣ 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.
‣ 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).
generated by GAPDoc2HTML