Package schrodinger :: Package application :: Package matsci :: Package nano :: Module slab :: Class Surface
[hide private]
[frames] | no frames]

Class Surface

object --+
         |
        Surface

Manage the building of a surface model.

Instance Methods [hide private]
 
__init__(self, cell, h_index=1, k_index=1, l_index=0, angstrom=False, fractional=False, bottom=None, slab_thickness=None, vacuum_thickness=None, logger=None)
Create an instance.
 
getLatticeProperties(self, cell)
Get the lattice properties.
 
setNormalAngle(self)
Set the normal angle in radians.
 
setParameters(self)
Set some parameters in units of Angstrom relative to the slab c-vector.
 
checkInput(self)
Check input.
 
getSlabUnitCell(self)
Get the slab unit cell.
 
buildSlab(self)
Build the slab.
 
pruneIt(self)
Prune the slab cell.
 
addVacuum(self)
Add vacuum.
 
setSurfaceProperties(self)
Set surface properties.
 
printParams(self)
Log the parameters.
 
runIt(self)
Create the surface model.

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

Class Variables [hide private]
  NUMDIGITS = 3
hash(x)
  MSGWIDTH = 100
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, cell, h_index=1, k_index=1, l_index=0, angstrom=False, fractional=False, bottom=None, slab_thickness=None, vacuum_thickness=None, logger=None)
(Constructor)

 

Create an instance.

Parameters:
  • cell (schrodinger.structure.Structure) - the crystalline cell used to define the surface model
  • h_index (int) - the Miller h-index of the crystal plane to expose
  • k_index (int) - the Miller k-index of the crystal plane to expose
  • l_index (int) - the Miller l-index of the crystal plane to expose
  • angstrom (bool) - specify that slab and vacuum thickness be in units of angstrom rather than inter-planar spacing
  • fractional (bool) - specify that slab and vacuum thickness be in units of fractional rather than inter-planar spacing
  • bottom (float or None) - the distance along the plane normal to serve as the bottom of the surface model or None if the default is to be used
  • slab_thickness (float or None) - thickness of the crystalline slab along the c lattice vector or None if the default is to be used
  • vacuum_thickness (float or None) - thickness of the vacuum layer along the c or None if the default is to be used
  • logger (logging.Logger) - output logger
Overrides: object.__init__

pruneIt(self)

 

Prune the slab cell. The desired slab thickness may be a non-integer number of cells along the c-vector direction. This method automatically removes the necessary atoms from the top of the cell. For example, consider an atomic cell in which vacuum is being added on top but in which specific intra-cell atom layers are to be exposed at the bottom and top of the cell. Allow this only for infinite systems as there is no need to support cutting of molecular fragments.