In [1]:
%matplotlib nbagg
In [2]:
import hyperspy.api as hs
import EELS.EELS as eels
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import convolve
In [3]:
lattice = [[ 3.2871687359128612, 0.0000000000000000, 0.0000000000000000],
[-1.6435843679564306, 2.8467716318265182, 0.0000000000000000],
[ 0.0000000000000000, 0.0000000000000000, 5.3045771064003047]]
positions = [[0.3333333333333357, 0.6666666666666643, 0.9996814330926364],
[0.6666666666666643, 0.3333333333333357, 0.4996814330926362],
[0.3333333333333357, 0.6666666666666643, 0.3787615522102606],
[0.6666666666666643, 0.3333333333333357, 0.8787615522102604]]
numbers = [30, 30, 8, 8]
atoms = []
for i, position in enumerate(positions):
atoms.append(eels.Atom(numbers[i],position))
atoms
Out[3]:
In [4]:
cell = eels.Cell(lattice = lattice,
atoms=atoms)
cell
Out[4]:
In [5]:
model = eels.ModelSystem(cell=cell)
model.meshgrid(pointDensity=np.array([21, 21, 21]))
model.addParabolicBand(energy_offset=0.0, effective_mass=np.array([-2, -2, -2]), k_center=np.array([0, 0, 0]))
model.addParabolicBand(energy_offset=3.3, effective_mass=np.array([ 0.38, 0.38, 0.38]), k_center=np.array([0, 0, 0]))
energyBins = np.linspace(2.8,6,60)
print(model.diffractionGrid()[1])
print(model.cell.brillouinZone)
model.spaceGroup()
Out[5]:
In [6]:
k = model.reciprocalGrid()[0]
k
Out[6]:
In [7]:
s = model.calculateScatteringCrossSection(energyBins, fermiEnergy=1.65, temperature=0)
s.metadata['General']['authors'] = "Sindre R. Bilden"
s.metadata['General']['name'] = "Reference"
s.metadata['General']['notes'] = "ZnO model"
s.metadata['General']['title'] = "Reference"
In [10]:
s.as_signal2D((0,1)).plot()
In [ ]:
In [ ]: