Package schrodinger :: Package application :: Package matsci :: Package nano :: Module interface_mod :: Class Interface
[hide private]
[frames] | no frames]

Class Interface

object --+
         |
        Interface

Manage the building of an interface model.

Instance Methods [hide private]
 
__init__(self, ref_layer, ads_layer, bot_layer='reference', strain_a=0.5, strain_b=0.5, strain_gamma=5.0, separation=0.0, max_extents=10, translate_a=0.0, translate_b=0.0, base_name=None, logger=None)
Create an instance.
 
setBaseName(self)
Set a base name.
 
setLatticeProperties(self)
Set lattice parameter attributes for both the reference and adsorption layers.
 
setHKL(self)
Set hkl for both the reference and adsorption layers.
tuple, float
getExtentsAndStrainedLength(self, index, strain)
For the lattice vector specified with the given index return (1) the reference and adsorption layer extents necessary to bring the extended lengths to within the specified amount of strain and (2) the strained adsorption layer length.
float
getStrainedAngle(self)
Return the strained adsorption layer angle.
 
setStrainedAdsorptionLatticeProperties(self, strained_a, strained_b, strained_gamma)
Set the strained lattice parameter attributes for the adsorption layer.
 
setInterfaceLatticeProperties(self)
Set the lattice parameter attributes for the interface model.
 
logParams(self)
Log the parameters.
numpy.array
getOrigin(self, lattice_params)
Return the origin in units of Angstrom for the given lattice parameters.
 
translateTopLayer(self, ref_layer, ads_layer)
Translate the top layer.
schrodinger.structure.Structure
getInterface(self, ref_layer, ads_layer)
Build the interface model from the two finalized layers and return it.
 
setInterfaceProperties(self)
Set some interface properties.
list
getUpdatedCParams(self, in_params)
Return the set of lattice parameters with an updated c parameter.
schrodinger.structure.Structure
buildLayer(self, cell, in_params, extents)
Build a layer by extending the input slab cell, also eliminate any PBC bonds along the c lattice vector.
schrodinger.structure.Structure, schrodinger.structure.Structure
buildLayers(self, ref_extents, ads_extents)
Build the reference and adsorption layers by extending the input slab cells, also eliminate any PBC bonds along the c lattice vector.
schrodinger.structure.Structure
getStrainedAdsorptionLayer(self, ads_layer)
Return the strained adsorption layer.
 
runIt(self)
Create the interface model.

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

Class Variables [hide private]
  MSGWIDTH = 100
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, ref_layer, ads_layer, bot_layer='reference', strain_a=0.5, strain_b=0.5, strain_gamma=5.0, separation=0.0, max_extents=10, translate_a=0.0, translate_b=0.0, base_name=None, logger=None)
(Constructor)

 

Create an instance.

Parameters:
  • ref_layer (schrodinger.structure.Structure) - the reference layer used to define the interface model
  • ads_layer (schrodinger.structure.Structure) - the adsorption layer used to define the interface model
  • bot_layer (str) - specifies which layer, reference or adsorption, is the bottom layer of the interface model
  • strain_a (float) - the amount of strain allowed along the a lattice vector of the adsorption layer in units of Angstrom
  • strain_b (float) - the amount of strain allowed along the b lattice vector of the adsorption layer in units of Angstrom
  • strain_gamma (float) - the amount of strain allowed along the gamma angle of the adsorption layer in units of degrees
  • separation (float) - the separation between the reference and adsorption layers in units of Angstrom
  • max_extents (int) - the maximum allowable extent
  • translate_a (float) - the amount by which to translate the top layer, relative to the bottom layer, along the a lattice vector
  • translate_b (float) - the amount by which to translate the top layer, relative to the bottom layer, along the b lattice vector
  • base_name (str) - a base name used to name output
  • logger (logging.Logger) - output logger
Overrides: object.__init__

getExtentsAndStrainedLength(self, index, strain)

 

For the lattice vector specified with the given index return (1) the reference and adsorption layer extents necessary to bring the extended lengths to within the specified amount of strain and (2) the strained adsorption layer length.

Parameters:
  • index (int) - an index used to specify along which direction to get the extents, i.e. 0 is a, 1 is b, 2 is c
  • strain (float) - the amount of strain allowed along the given lattice vector of the adsorption layer in units of Angstrom
Returns: tuple, float
the tuple contains the reference and adsorption layer integer extents, the float is the strained adsorption layer length in units of Angstrom
Raises:
  • ValueError - if either extent is larger than the allowable maximum

getStrainedAngle(self)

 

Return the strained adsorption layer angle.

Returns: float
strained adsorption layer angle in units of degree
Raises:
  • ValueError - if the reference and adsorption layer gamma angles are not within the specified amount of strain

setStrainedAdsorptionLatticeProperties(self, strained_a, strained_b, strained_gamma)

 

Set the strained lattice parameter attributes for the adsorption layer.

Parameters:
  • strained_a (float) - the strained lattice a parameter in units of Angstrom
  • strained_b (float) - the strained lattice b parameter in units of Angstrom
  • strained_gamma (float) - the strained lattice gamma parameter in units of degree

getOrigin(self, lattice_params)

 

Return the origin in units of Angstrom for the given lattice parameters.

Parameters:
  • lattice_params (list) - the six lattice parameters
Returns: numpy.array
the origin in units of Angstrom

translateTopLayer(self, ref_layer, ads_layer)

 

Translate the top layer.

Parameters:

getInterface(self, ref_layer, ads_layer)

 

Build the interface model from the two finalized layers and return it.

Parameters:
Returns: schrodinger.structure.Structure
the interface model

getUpdatedCParams(self, in_params)

 

Return the set of lattice parameters with an updated c parameter.

Parameters:
  • in_params (list) - the six lattice parameters
Returns: list
the six lattice parameters with c updated

buildLayer(self, cell, in_params, extents)

 

Build a layer by extending the input slab cell, also eliminate any PBC bonds along the c lattice vector.

Parameters:
Returns: schrodinger.structure.Structure
extended layer

buildLayers(self, ref_extents, ads_extents)

 

Build the reference and adsorption layers by extending the input slab cells, also eliminate any PBC bonds along the c lattice vector.

Parameters:
  • ref_extents (list) - extents for reference layer
  • ads_extents (list) - extents for adsorption layer
Returns: schrodinger.structure.Structure, schrodinger.structure.Structure
extended reference and adsorption layers

getStrainedAdsorptionLayer(self, ads_layer)

 

Return the strained adsorption layer.

Parameters:
Returns: schrodinger.structure.Structure
the strained adsorption layer