示例#1
0
def test_ternary():
  from pylada.crystal import bravais
  from pylada.enum import generate_bitstrings
  from ternarysets import ternarysets

  lattice = bravais.fcc()
  lattice[0].type = ['Si', 'Ge', 'C']
  for n in xrange(1, 9):
    result = []
    for x, hft, hermite in generate_bitstrings(lattice, [n]):
      result.append( ''.join(str(i) for i in hermite.flatten()[[0, 3, 4, 6, 7, 8]]) 
                     + ' ' + ''.join(str(i-1) for i in x) )
    assert len(result) == len(ternarysets[n])
    assert set(result) == ternarysets[n]
示例#2
0
def test_zincblende():
  from pylada.crystal import binary
  from pylada.enum import generate_bitstrings
  from zincblendesets import zincblendesets

  lattice = binary.zinc_blende()
  lattice[0].type = ['Si', 'Ge']
  lattice[1].type = ['Ga']
  for n in xrange(2, 8):
    result = []
    for x, hft, hermite in generate_bitstrings(lattice, [n]):
      result.append( ''.join(str(i) for i in hermite.flatten()[[0, 3, 4, 6, 7, 8]]) 
                     + ' ' + ''.join(str(i-1) for i in x) )
    assert len(result) == len(zincblendesets[n])
    assert set(result) == zincblendesets[n]