本文整理匯總了Python中simphony.cuds.primitive_cell.PrimitiveCell.for_hexagonal_lattice方法的典型用法代碼示例。如果您正苦於以下問題:Python PrimitiveCell.for_hexagonal_lattice方法的具體用法?Python PrimitiveCell.for_hexagonal_lattice怎麽用?Python PrimitiveCell.for_hexagonal_lattice使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類simphony.cuds.primitive_cell.PrimitiveCell
的用法示例。
在下文中一共展示了PrimitiveCell.for_hexagonal_lattice方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_primitive_cell_for_hexagonal_lattice
# 需要導入模塊: from simphony.cuds.primitive_cell import PrimitiveCell [as 別名]
# 或者: from simphony.cuds.primitive_cell.PrimitiveCell import for_hexagonal_lattice [as 別名]
def test_primitive_cell_for_hexagonal_lattice(self):
with self.assertRaises(ValueError):
PrimitiveCell.for_hexagonal_lattice(-1, -2)
pc = PrimitiveCell.for_hexagonal_lattice(self.a, self.c)
self.assertIsInstance(pc, PrimitiveCell)
self.assertEqual(pc.bravais_lattice,
BravaisLattice.HEXAGONAL)
assert_array_equal(pc.p1, (self.a, 0, 0))
assert_array_equal(pc.p2, (self.a/2, self.a*np.sqrt(3)/2, 0))
assert_array_equal(pc.p3, (0, 0, self.c))
示例2: make_hexagonal_lattice
# 需要導入模塊: from simphony.cuds.primitive_cell import PrimitiveCell [as 別名]
# 或者: from simphony.cuds.primitive_cell.PrimitiveCell import for_hexagonal_lattice [as 別名]
def make_hexagonal_lattice(name, hxy, hz, size, origin=(0, 0, 0)):
"""Create and return a 3D hexagonal lattice.
Parameters
----------
name : str
hxy : float
lattice spacing in the xy-plane
hz : float
lattice spacing in the z-direction
size : int[3]
Number of lattice nodes in each axis direction.
origin : float[3], default value = (0, 0, 0)
lattice origin
Returns
-------
lattice : Lattice
A reference to a Lattice object.
"""
pc = PrimitiveCell.for_hexagonal_lattice(hxy, hz)
return Lattice(name, pc, size, origin)
示例3: rotate_primitive_cell
# 需要導入模塊: from simphony.cuds.primitive_cell import PrimitiveCell [as 別名]
# 或者: from simphony.cuds.primitive_cell.PrimitiveCell import for_hexagonal_lattice [as 別名]
# rhombohedral lattice in a rotated coor. sys.
pcs = rotate_primitive_cell(PrimitiveCell.for_rhombohedral_lattice(1., 1.))
datasets.append(create_polydata_from_pc(*pcs))
# tetragonal lattice in a rotated coor. sys.
pcs = rotate_primitive_cell(PrimitiveCell.for_tetragonal_lattice(0.5, 1.))
datasets.append(create_polydata_from_pc(*pcs))
# body_centered_tetragonal lattice in a rotated coor. sys.
factory = PrimitiveCell.for_body_centered_tetragonal_lattice
pcs = rotate_primitive_cell(factory(1., 0.5))
datasets.append(create_polydata_from_pc(*pcs))
# hexagonal lattice in a rotated coor. sys.
pcs = rotate_primitive_cell(PrimitiveCell.for_hexagonal_lattice(1., 0.5))
datasets.append(create_polydata_from_pc(*pcs))
# orthorhombic lattice in a rotated coor. sys.
factory = PrimitiveCell.for_orthorhombic_lattice
pcs = rotate_primitive_cell(factory(0.5, 0.8, 1.,))
datasets.append(create_polydata_from_pc(*pcs))
# orthorhombic lattice in a rotated coor. sys.
# although the primitive cell has BravaisLattice.ORTHORHOMBIC attribute,
# two of the edges are the same lengths,
# so it would be recognised as at tetragonal lattice
factory = PrimitiveCell.for_orthorhombic_lattice
pcs = rotate_primitive_cell(factory(0.5, 1., 1.,))
datasets.append(create_polydata_from_pc(*pcs))