Package schrodinger :: Package application :: Package matsci :: Module shapes :: Class Parallelepiped
[hide private]
[frames] | no frames]

Class Parallelepiped

      object --+    
               |    
ConvexPolyhedron --+
                   |
                  Parallelepiped
Known Subclasses:

Class to manage a parallelepiped.

Instance Methods [hide private]
 
__init__(self, a_param, b_param, c_param, alpha_param, beta_param, gamma_param, center=[0.0, 0.0, 0.0], ref_face_idx=1, ref_face_normal_along=array([ 0., 0., 1.]), ref_edge_idx=1, ref_edge_along=array([ 1., 0., 0.]))
Create an instance.
numpy.array, numpy.array, numpy.array, numpy.array
getLatticeVectors(self)
Get the origin and lattice vectors of the specified parallelepiped.
list of numpy.array
getParallelepipedVertices(self, origin, a_vec, b_vec, c_vec)
Get the vertices of the specified parallelepiped.
float
getVolume(self, a_vec, b_vec, c_vec)
Return the volume.

Inherited from ConvexPolyhedron: addAlignmentAxesToTemplate, addNormalsToTemplate, addPointsToTemplate, addSegmentPlaneIntersectionsToTemplate, alignPolyhedron, allFacesIntersected, getFaces, getReferenceFaces, getSegmentPlaneIntersections, getSurfaceArea, getVertices, makeTemplate, pointInside, translateVertices, updateShape

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

Class Variables [hide private]
  NAME = 'parallelepiped'
  DEFAULT = [5.0, 10.0, 12.0, 60.0, 45.0, 80.0]
  DESCRIPTION = ['edge a length', 'edge b length', 'edge c lengt...
  TYPE = 'prism'
  INDICES = [[1, 4, 3, 2], [5, 1, 2, 6], [4, 8, 7, 3], [8, 5, 6,...
  NUM_UNIQUE_EDGES = 2
  NUM_UNIQUE_FACES = 3
hash(x)
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, a_param, b_param, c_param, alpha_param, beta_param, gamma_param, center=[0.0, 0.0, 0.0], ref_face_idx=1, ref_face_normal_along=array([ 0., 0., 1.]), ref_edge_idx=1, ref_edge_along=array([ 1., 0., 0.]))
(Constructor)

 

Create an instance.

Parameters:
  • a_param (float) - the length of the parallelepiped along edge a
  • b_param (float) - the length of the parallelepiped along edge b
  • c_param (float) - the length of the parallelepiped along edge c
  • alpha_param (float) - the angle between edges b and c
  • beta_param (float) - the angle between edges a and c
  • gamma_param (float) - the angle between edges a and b
  • center (numpy.array) - the center of the polyhedron
  • ref_face_idx (int) - specifies which of this polyhedron's available reference faces (symmetry unique faces sorted by decreasing area) to use in the alignment
  • ref_face_normal_along (numpy.array triple) - specifies the vector along which the reference face normal will be aligned
  • ref_edge_idx (int) - specifies which of the reference faces available reference edges (symmetry unique edges sorted by decreasing length) to use in the alignment
  • ref_edge_along (numpy.array triple) - specifies the vector along which the reference edge will be aligned
Overrides: object.__init__

getLatticeVectors(self)

 

Get the origin and lattice vectors of the specified parallelepiped.

Returns: numpy.array, numpy.array, numpy.array, numpy.array
the origin and lattice vectors of the parallelepiped

getParallelepipedVertices(self, origin, a_vec, b_vec, c_vec)

 

Get the vertices of the specified parallelepiped.

Parameters:
  • origin (numpy.array) - the point of origin of the lattic vectors
  • a_vec (numpy.array) - the a lattice vector
  • b_vec (numpy.array) - the b lattice vector
  • c_vec (numpy.array) - the c lattice vector
Returns: list of numpy.array
the vertices of the parallelepiped

getVolume(self, a_vec, b_vec, c_vec)

 

Return the volume.

Parameters:
  • a_vec (numpy.array) - the a lattice vector
  • b_vec (numpy.array) - the b lattice vector
  • c_vec (numpy.array) - the c lattice vector
Returns: float
volume in cubic Angstrom

Class Variable Details [hide private]

DESCRIPTION

Value:
['edge a length',
 'edge b length',
 'edge c length',
 'edge-edge b-c angle',
 'edge-edge a-c angle',
 'edge-edge a-b angle']

INDICES

Value:
[[1, 4, 3, 2],
 [5, 1, 2, 6],
 [4, 8, 7, 3],
 [8, 5, 6, 7],
 [8, 4, 1, 5],
 [6, 2, 3, 7]]