Ejemplo n.º 1
0
# Import the neccesary tools to generate surfaces
from pymatgen.core.surface import SlabGenerator, generate_all_slabs, Structure, Lattice
# Import the neccesary tools for making a Wulff shape
from pymatgen.analysis.wulff import WulffShape

import os

lattice = Lattice.cubic(3.508)

Ni = Structure(lattice, ["Ni", "Ni", "Ni", "Ni"],
               [[0, 0, 0], [0, 0.5, 0], [0.5, 0, 0], [0, 0, 0.5]])
slabgen = SlabGenerator(Ni, (1, 1, 1), 10, 10)

lattice = Lattice.cubic(5.46873)
Si = Structure(lattice, ["Si", "Si", "Si", "Si", "Si", "Si", "Si", "Si"],
               [[0.00000, 0.00000, 0.50000], [0.75000, 0.75000, 0.75000],
                [0.00000, 0.50000, 0.00000], [0.75000, 0.25000, 0.25000],
                [0.50000, 0.00000, 0.00000], [0.25000, 0.75000, 0.25000],
                [0.50000, 0.50000, 0.50000], [0.25000, 0.25000, 0.75000]])

slabgen = SlabGenerator(Si, (1, 1, 1), 10, 10)
print("Notice now there are actually now %s terminations that can be \
generated in the (111) direction for diamond Si" % (len(slabgen.get_slabs())))
Ejemplo n.º 2
0
}
Adsorbant_1 = {
    'M': 24,
    'X': 48,
    'Y': 2,
    'Area': 77.14,
    'Energy': -609.24,
    'Label': '1 Species'
}
data = [Adsorbant_1]
Surface_111_1 = wulff.calculate_surface_energy(stoich, data, SE, adsorbant,
                                               thermochem, 298, 0)

#Declare the lattic paramter
lattice = Lattice.cubic(5.411)
ceo = Structure(lattice, ["Ce", "O"], [[0, 0, 0], [0.25, 0.25, 0.25]])
surface_energies_ceo = {
    (1, 1, 1): np.amin(Surface_111_1),
    (1, 1, 0): np.amin(Surface_110_1),
    (1, 0, 0): np.amin(Surface_100_1)
}

miller_list = surface_energies_ceo.keys()
e_surf_list = surface_energies_ceo.values()

# We can now construct a Wulff shape with an accuracy up to a max Miller index of 3
wulffshape = WulffShape(ceo.lattice, miller_list, e_surf_list)

# Let's get some useful information from our wulffshape object
print("shape factor: %.3f, anisotropy: \
%.3f, weighted surface energy: %.3f J/m^2" %