Package schrodinger :: Package application :: Package matsci :: Package nano :: Module sheet :: Class HoneycombLattice
[hide private]
[frames] | no frames]

Class HoneycombLattice

object --+
         |
        HoneycombLattice

Create the honeycomb lattice according to the following coordinate system:

---------------------------------------------------------------------- | Y | | -------------------- | | / \ | | / \ | | / \ | | / \ | | / \ | | / \ | | -------------------- P2 | | | / 6 5 \ / | | / \ / | | / \ / | | / \ / | | / \ / | | / \ / | | | 1 O 4 -------------------- X | | \ / \ | | \ / \ | | \ / \ | | \ / \ | | \ / \ | | \ 2 3 / \ | | -------------------- P1 | | | \ / | | \ / | | \ / | | \ / | | \ / | | \ / | | -------------------- | ----------------------------------------------------------------------

where in addition to the parameters specified in the HoneycombUnitCell class the two lattice vectors are given by vec(P1, O) and vec(P2, O) with angle(P1, O, P2) = 60 degrees.

Instance Methods [hide private]
 
__init__(self, element1, element2, bondlength, ncell1, edgetype1, ncell2, edgetype2, no_double_bonds, termfrag, min_term_frags)
Create an instance.
numpy.array, numpy.array
getLatticeVectors(self)
Return the two honeycomb lattice vectors.
 
updateLatticeBonding(self, cell, bonds_to_neighbors)
Update the bonding between the lattice and the newly added fragment.
 
terminateLattice(self, logger=None)
Terminate the lattice with the given fragments.
 
minTerminatingFragments(self, logger=None)
Minimize the geometry of all atoms in the terminating fragments with the exception of the lattice bound atoms.
 
setLatticeProperties(self, chorus_properties)
Set some structure properties of the lattice.
list
getChorusPBC(self, growvec1, growvec2)
Return the chorus box PBC.
 
buildLattice(self, logger=None)
Build a honeycomb lattice.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  CAPPINGELEMENT = 'H'
  CAPPING_BOND_LENGTH = 1.103
  DIRECTION = 'forward'
  TITLEKEY = 's_m_title'
  ENTRYKEY = 's_m_entry_name'
  TITLENAME = 'nanosheet'
  NCELL1 = 'i_matsci_N_Cell_1'
  NCELL2 = 'i_matsci_N_Cell_2'
  C_VACUUM = 3.35
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, element1, element2, bondlength, ncell1, edgetype1, ncell2, edgetype2, no_double_bonds, termfrag, min_term_frags)
(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
  • ncell1 (int) - number of cells along lattice side 1
  • edgetype1 (str) - type of edge for lattice side 1
  • ncell2 (int) - number of cells along lattice side 2
  • edgetype2 (str) - type of edge for lattice side 2
  • no_double_bonds (bool) - disable the formation of double bonds
  • termfrag (str) - terminate the lattice with a given fragment
  • min_term_frags (bool) - minimize the geometry of terminating fragments
Overrides: object.__init__

getLatticeVectors(self)

 

Return the two honeycomb lattice vectors.

Returns: numpy.array, numpy.array
lattvec1, lattvec2, the two lattice vectors

updateLatticeBonding(self, cell, bonds_to_neighbors)

 

Update the bonding between the lattice and the newly added fragment.

Parameters:
  • cell (HoneycombCell) - recently added cell
  • bonds_to_neighbors (dict) - keys are tuples to neighboring cells and values are lists of bonding atom pairs using the unit cell numbering

terminateLattice(self, logger=None)

 

Terminate the lattice with the given fragments.

Parameters:
  • logger (logging.getLogger) - output logger

minTerminatingFragments(self, logger=None)

 

Minimize the geometry of all atoms in the terminating fragments with the exception of the lattice bound atoms.

Parameters:
  • logger (logging.getLogger) - output logger

setLatticeProperties(self, chorus_properties)

 

Set some structure properties of the lattice.

Parameters:
  • chorus_properties (list) - contains the nine chorus properties, i.e. ax, ay, az, bx, ..., cz

getChorusPBC(self, growvec1, growvec2)

 

Return the chorus box PBC.

Parameters:
  • growvec1 (numpy.array) - the first lattice grow vector
  • growvec2 (numpy.array) - the second lattice grow vector
Returns: list
contains the nine chorus properties, i.e. ax, ay, az, bx, ..., cz

buildLattice(self, logger=None)

 

Build a honeycomb lattice.

Parameters:
  • logger (logging.getLogger) - output logger