Class HoneycombUnitCell
object --+
|
HoneycombUnitCell
Create a unit cell of a honeycomb lattice. The unit cell will be a
regular hexagon according to the following coordinate system:
----------------------------------------- | Y
| | -------------------- | | / 6 5
\ | | / \ | | /
\ | | / \ | | /
\ | | / \ | | | 1 O
4 | X | | \ / | | \
/ | | \ / | | \
/ | | \ / | | \ 2
3 / | | -------------------- |
-----------------------------------------
The hexagon will be centered on the origin O where vec(X, O) and
vec(Y, O) are the X- and Y-axes and the Z-coordinate is zero. All edge
lengths are equivalent and internal small triangles, i.e. triangle(1, O,
2) are equilateral. The following angles will be important: angle(1, 2,
3) = 120 degrees, angle(1, 2, O) = 60 degrees, and angle(1, 2, 6) = 30
degrees. In general the asymmetric unit will contain two atoms. The
symmetry operation is C3 and thus symmetry equivalent positions fall into
two sets, i.e. [1, 3, 5] and [2, 4, 6]. This unit cell will have single
bonds assigned to pairs of adjacent atoms. Unless disabled by the user
bonds [1, 2], [3, 4], and [5, 6] will be double bonds.
|
__init__(self,
element1,
element2,
bondlength,
no_double_bonds)
Create an instance. |
|
|
numpy.array, numpy.array
|
|
schrodinger.structure.Structure
|
getStructure(self,
symgroup1,
symgroup2,
no_double_bonds)
Create Structure for the unit cell. |
|
|
|
setAtomProps(self)
Create structure.atom properties for later use. |
|
|
|
buildUnitCell(self)
Build the unit cell. |
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__str__ ,
__subclasshook__
|
|
ANGLELARGE = 2.09439510239
|
|
ANGLEMEDIUM = 1.0471975512
|
|
ANGLESMALL = 0.523598775598
|
|
NUMATOMS = 6
|
|
NUM_EQUIV_SETS = 2
|
|
NUM_SYM_ATOMS = 3
hash(x)
|
|
SYMATOMS = [ [ 1, 3, 5] , [ 2, 4, 6] ]
|
|
UNITCELLINDEX = ' i_matsci_Unit_Cell_Index '
|
__init__(self,
element1,
element2,
bondlength,
no_double_bonds)
(Constructor)
|
|
Create an instance.
- Parameters:
element1 (str) - elemental symbol of the first atom
element2 (str) - elemental symbol of the second atom
bondlength (float) - bond length between the first and second atoms in Angstrom
no_double_bonds (bool) - disable the formation of double bonds
- Overrides:
object.__init__
|
Return two vectors to the atoms in the asymmetric unit.
- Returns: numpy.array, numpy.array
- asupos1, asupos2, positions of the two atoms in the asymmetric
unit
|
getStructure(self,
symgroup1,
symgroup2,
no_double_bonds)
|
|
Create Structure for the unit cell.
- Parameters:
symgroup1 (SymmetryEquiv) - first equivalent group
symgroup2 (SymmetryEquiv) - second equivalent group
no_double_bonds (bool) - disables the formation of double bonds
- Returns: schrodinger.structure.Structure
- unitcell, structure for the unit cell
|