dielectric_function

py4vasp.calculation.dielectric_function

(

  • data_context,
  • **kwargs

)

The dielectric function describes the material response to an electric field.

The dielectric function is a fundamental concept that describes how a material responds to an external electric field. It is a frequency-dependent complex-valued 3x3 matrix that relates the polarization of a material to the applied electric field. The dielectric function is essential in understanding optical properties, such as refractive index and absorption.

There are many different ways to compute dielectric functions with VASP. This class provides a common interface to all of them. You can pass a selection argument to any of the methods of this class to select which dielectric function you are interested in. Please make sure the INCAR file you use is compatible with the setup.

The 3x3 matrix is symmetric so for the plotting routines, py4vasp uses only the six distinct components (xx, yy, zz, xy, xz, yz). The default is the isotropic dielectric function but you can also select specific components by providing one of the six components as selection.

path

Returns the path from which the output is obtained.

plot

(*args, **kwargs)

Almost same as the to_graph() function.

All arguments will be passed to to_graph. If the to_graph() would produce multiple graphs this method will merge them into a single one.

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 a dictionary of possible selections for component, direction, and complex value.

to_csv

(

  • *args,
  • filename: str | Path = None,
  • **kwargs

)

Writes the 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() method. Please check the documentation of that method to learn which arguments are allowed.

Parameters

filename: str | Path = None
Name of the csv file which the data is exported to.

to_dict

() → dict

Read the data into a dictionary.

Returns

dict
Contains the energies at which the dielectric function was evaluated and the dielectric tensor (3x3 matrix) at these energies.

to_frame

(*args, **kwargs) → Dataframe

Convert data to pandas dataframe.

This will first convert use the to_graph() method to convert to a Graph. All arguments are passed to that method. The resulting graph is then converted to a dataframe.

Returns

Dataframe
Pandas dataframe corresponding to data in the graph

to_graph

(selection: str = None) → Graph

Read the data and generate a figure with the selected directions.

Parameters

selection: str = None
Specify along which directions and which components of the dielectric function you want to plot. Defaults to isotropic and both the real and the complex part. You can use the selections routine if you are not sure which options are available.

Returns

Graph
figure containing the dielectric function for the selected directions and components.

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() method. Please check the documentation of that method to learn which arguments are allowed.

to_plotly

(*args, **kwargs)

Produces a graph and convertes it to a plotly figure.

The arguments to this function are passed on to the to_graph() method. Takes the resulting graph and converts it to a plotly figure.