Skip to main content

Handling, simulating, and plotting HREELS and Auger spectroscopy data

Project description

HREELS data handling and simulation

Set of data analysis routines for surface vibrational spectroscopy based on a Delta05 spectrometer with software from VSI or SPECS.

Simple data reading and plotting routines are provided, but also advanced routines for in depth analysis. A fast data browser as graphical user interface is included as ViewHREELS.py. It can also take command line arguments.

Additional a python interface to a Fortran-based calculation of full HREEL spectra is provided in class lambin (in calcHREELS20.py). Note that this part requires a local compilation (via "f2py3 -c -m myEels20 myEels20.f90") from the Fortran90 files. Only for the Linux-based python version 3.8, there are complied files provided. For details see below.

Most of the routines are within the class HREELS (HREELS.py). A simple command line program is "showHREELS.py", which reads one data file and plots the spectrum with a second amplified trace.

Usage:  >python showHREELS.py filename [factor wavenumber]

    E.g.: python showHREELS.py H9H03 100 53 

More general usage:

Read dataset by calling the HREELS class: data1 = HREELS('filename', datapath='datapath') # Here you can omit the extension '.gph' # The second argument is optional

This will assign/calculate the following properties:

data1.filename
data1.datapath
data1.startTime
data1.stopTime
data1.totalTime
data1.timePerChannel
data1.numberOfSegments
data1.energy    # Electron kinetic energy
data1.filament  # Filament current in Ampere
data1.segments  # list of segment info
data1.data      # [(-100.1021616, 259.5), (-98.5374352, 264.5), ...]
data1.xdata
data1.ydata
data1.maxIntensity  # Count rate of elastic peak
data1.resolution    # width of elastic peak

The following methods are defined within the class:

info()      :   Print information about the spectrum
plot()      :   Draws the spectrum. Optional arguments are:
                (xmin=None, xmax=None, factor=1, label='x', normalized=False, color="b-",marker=True)

plotInfoAmp()   Draws spectrum together with amplified trace.
pickPeak()  :   Select peak by mouse cursor. The call of figure() is required before.
selectData():   Returns the data between wavenumbers x1 and x2
findIndex(lossenergy): Returns the data array index for a given energy loss
setMarker(x, y, ymin=0, size=None): Sets vertical marker with text label 
plotWaterFall(...):

calcHREELS20

These routines are based on the publication "Computation of the surface electron-energy-loss spectrum in specular geometry for an arbitrary plane-stratified medium" by P. Lambin, J.-P. Vigneron, and A. A. Lucas, in the Journal "Computer Physics Communications 60, 351-64(1990)".

It allows to handle a heterostructure of different materials in a easy way. The code is modified to comply with Fortran90 and wraped to python functions. See the example in Examples/calcHREELS1.py for NiO(001).

Complex calculations for perovskite oxides are provided in the examples calcHREELS2.py and calcHREELS3.py.

dielectrics20

These routines allow to model the dielectric properties of materials described by different oscillators and Drude responses. Quantities as real and imaginary part of the dielectric function, optical conductivity, IR reflectivity, and surface loss are calculated. The sum rules of optical conductivity can be analyzed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libhreels-2.2.0.tar.gz (622.0 kB view hashes)

Uploaded Source

Built Distribution

libhreels-2.2.0-py3-none-any.whl (634.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page