Package schrodinger :: Package application :: Package matsci :: Package nano :: Module tube :: Class NanoSheet
[hide private]
[frames] | no frames]

Class NanoSheet

object --+
         |
        NanoSheet

Create a sheet.HoneycombLattice that is large enough so that the nanotube sheet can be cut out from it.

Instance Methods [hide private]
 
__init__(self, nanotube_sheet_obj)
Create an instance.
numpy.array, numpy.array
defineVectors(self)
Define HoneycombLattice and NanoTubeSheet lattice, etc.
float, numpy.array, float, numpy.array
getGrowParams(self, lattvec1, lattvec2)
Get HoneycombLattice grow parameters.
float, float
changeBasis(self, grow1unit, grow2unit)
Change the basis of the NanoTubeSheet to that of the NanoSheet.
 
defineDimensions(self, coef1, grow1len, coef2, grow2len)
Define the dimensions of the NanoSheet.
 
rotateNanoSheet(self)
Rotate the nanosheet so that lattice edge 1 is along the x-axis.
 
getNanoSheet(self, logger=None)
Get the sheet.HoneycombLattice from which the nanotube sheet will be cut.

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

Class Variables [hide private]
  ANGLEMEDIUM = 1.0471975512
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, nanotube_sheet_obj)
(Constructor)

 

Create an instance.

Parameters:
  • nanotube_sheet_obj (NanoTubeSheet) - contains parameters of the nanotube sheet
Overrides: object.__init__

defineVectors(self)

 

Define HoneycombLattice and NanoTubeSheet lattice, etc. vectors.

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

getGrowParams(self, lattvec1, lattvec2)

 

Get HoneycombLattice grow parameters.

Parameters:
  • lattvec1 (numpy.array) - lattice vector 1
  • lattvec2 (numpy.array) - lattice vector 2
Returns: float, numpy.array, float, numpy.array
grow1len, grow1unit, grow2len, grow2unit, the lengths and unit vectors of the grow vectors

changeBasis(self, grow1unit, grow2unit)

 

Change the basis of the NanoTubeSheet to that of the NanoSheet.

Parameters:
  • grow1unit (numpy.array) - unit vector of first grow vector
  • grow2unit (numpy.array) - unit vector of second grow vector
Returns: float, float
coef1, coef2, coefficients of the end vector in the grow basis

defineDimensions(self, coef1, grow1len, coef2, grow2len)

 

Define the dimensions of the NanoSheet.

Parameters:
  • coef1 (float) - coefficient of end vector on first grow vector
  • grow1len (float) - length of first grow vector
  • coef2 (float) - coefficient of end vector on second grow vector
  • grow2len (float) - length of second grow vector

getNanoSheet(self, logger=None)

 

Get the sheet.HoneycombLattice from which the nanotube sheet will be cut.

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