workfunction

py4vasp.calculation.workfunction
class py4vasp.calculation._workfunction.Workfunction(data_context, **kwargs)

The workfunction describes the energy required to remove an electron to the vacuum.

The workfunction of a material is the minimum energy required to remove an electron from its most loosely bound state and move it to an energy level just outside the material’s surface. In other words, it represents the energy barrier that electrons must overcome to escape the material. The workfunction helps understanding electronic emission phenomena in surface science and materials engineering. In VASP, you can compute the workfunction by setting the IDIPOL flag in the INCAR file. This class provides then the functionality to analyze the resulting potential.

plot(*args, **kwargs)

Wrapper around the to_graph() function.

This will merge multiple graphs if you specify different sources with the selection arguments. All arguments are passed to the wrapped function.

print()

Print a string representation of this instance.

read(*args, **kwargs)

Convenient wrapper around to_dict. Check that function for examples and optional arguments.

selections()

Returns possible alternatives for this particular quantity VASP can produce.

The returned dictionary contains a single item with the name of the quantity mapping to all possible selections. Each of these selection may be passed to other functions of this quantity to select which output of VASP is used.

Returns:

The key indicates this quantity and the values possible choices for arguments to other functions of this quantity.

Return type:

dict

to_csv(*args, filename=None, **kwargs)

Converts data to a csv file.

Writes out a csv file for data stored in a dataframe generated with the to_frame() method. Useful for creating external plots for further analysis.

If no filename is provided a default filename is deduced from the name of the class.

Note that the filename must be a keyword argument, i.e., you explicitly need to write filename=”name_of_file” because the arguments are passed on to the to_graph() function. Please check the documentation of that function to learn which arguments are allowed.

Parameters:

filename (str | Path) – Name of the csv file which the data is exported to.

to_dict()

Reports useful information about the workfunction as a dictionary.

In addition to the vacuum potential, the dictionary contains typical reference energies such as the valence band maximum, the conduction band minimum, and the Fermi energy. Furthermore you obtain the average potential, so you can use a different algorithm to determine the vacuum potential if desired.

Returns:

Contains vacuum potential, average potential and relevant reference energies within the surface.

Return type:

dict

to_frame(*args, **kwargs)

Wrapper around the to_frame() function.

Generates dataframes from the graph object. For information about parameters that can be passed to this method, look at to_graph().

Returns:

Pandas dataframe corresponding to data in the graph

Return type:

Dataframe

to_graph()

Plot the average potential along the lattice vector selected by IDIPOL.

Returns:

A plot where the distance in the unit cell along the selected lattice vector is on the x axis and the averaged potential across the plane of the other two lattice vectors is on the y axis.

Return type:

Graph

to_image(*args, filename=None, **kwargs)

Read the data and generate an image writing to the given filename.

The filetype is automatically deduced from the filename; possible are common raster (png, jpg) and vector (svg, pdf) formats. If no filename is provided a default filename is deduced from the name of the class and the picture has png format.

Note that the filename must be a keyword argument, i.e., you explicitly need to write filename=”name_of_file” because the arguments are passed on to the to_graph() function. Please check the documentation of that function to learn which arguments are allowed.

to_plotly(*args, **kwargs)

Convert the graph of this quantity to a plotly figure.

The arguments to this function are automatically passed on to the to_graph() function. Please check the documentation of that function to learn which arguments are allowed.