ppcodes Package
ppcodes
Package
base_parser
Module
Base class for parsers
- exception abipy.ppcodes.base_parser.ParserError[source]
Bases:
Exception
Exceptions raised by Parser objects.
- class abipy.ppcodes.base_parser.BaseParser(filepath: str)[source]
Bases:
object
Abstract class defining the interface that must be provided by the parsers used to extract results from the output file of a pseudopotential generator a.k.a. ppgen
- errors
List of strings with errors reported by the pp generator
- warnings
List of strings with the warnings reported by the pp generator.
- Error
alias of
ParserError
- property errors: list[str]
List of strings with possible errors reported by the generator at run-time.
oncv_parser
Module
Classes and functions for parsing the ONCVPSP output file and plotting the results.
- class abipy.ppcodes.oncv_parser.GrepResults(data, start, stop)
Bases:
tuple
- data
Alias for field number 0
- start
Alias for field number 1
- stop
Alias for field number 2
- class abipy.ppcodes.oncv_parser.AePsNamedTuple(ae, ps)
Bases:
tuple
- ae
Alias for field number 0
- ps
Alias for field number 1
- class abipy.ppcodes.oncv_parser.ConvData(l, energies, values)
Bases:
tuple
- energies
Alias for field number 1
- l
Alias for field number 0
- values
Alias for field number 2
- class abipy.ppcodes.oncv_parser.AtanLogDer(l, energies, values)
Bases:
tuple
- energies
Alias for field number 1
- l
Alias for field number 0
- values
Alias for field number 2
- class abipy.ppcodes.oncv_parser.AtomicLevel(nlk: NlkState, eig: float, occ: float, is_valence: bool)[source]
Bases:
object
Stores the energy levels of the AE isolated atom.
- class abipy.ppcodes.oncv_parser.OncvParser(filepath: str)[source]
Bases:
BaseParser
Object to read and extract data from the output file of oncvpsp.
- atsym
- Z
- nc
- nv
- iexc
- psfile
Example
parser = OncvParser(filename).scan()
# To access data: parser.radial_wavefunctions
# To plot data with matplotlib. p = parser.get_plotter() p.plot_atanlogder_econv()
- scan(verbose: int = 0) OncvParser [source]
Scan the output file, set run_completed attribute.
Raises: self.Error if invalid file.
- potentials()[source]
Dict with radial functions with the non-local and local potentials indexed by l. l = -1 corresponds to the local part (if present).
- radial_wfs()[source]
Read and set the radial wavefunctions for the bound states.
Usage:
ae_wfs, ps_wfs = self.radial_wfs.ae, self.radial_wfs.ps
- for nlk, ae_wf in ae_wfs.items():
ps_wf, l, k = ps_wfs[nlk], nlk.l, nlk.k
- kene_vs_ecut()[source]
Dict with the convergence of the kinetic energy versus ecut for different l-values.
- find_string(s: str) int [source]
Returns the index of the first line containing string s. Raises self.Error if s cannot be found.
- get_psp8_str() str | None [source]
Return string with the pseudopotential data in psp8 format. Return None if field is not present.
- get_upf_str() str | None [source]
Return string with the pseudopotential data in upf format. Return None if field is not present.
- gnuplot() None [source]
Plot the results with gnuplot. Based on the replot.sh script provided by the oncvpsp code.
oncv_plotter
Module
Classes and functions for parsing the ONCVPSP output file and plotting the results.
- class abipy.ppcodes.oncv_plotter.OncvPlotter(parser: OncvParser)[source]
Bases:
NotebookWriter
Plots the results produced by a pseudopotential generator.
- linewidth = 2
- markersize = 2
- linestyle_aeps = {'ae': 'solid', 'ps': 'dashed'}
- markers_aeps = {'ae': '.', 'ps': 'o'}
- color_l = {-3: 'yellow', -2: 'cyan', -1: 'magenta', 0: 'black', 1: 'red', 2: 'blue', 3: 'orange'}
- classmethod from_file(filepath: str) OncvPlotter [source]
Build the plotter from an output file.
- static decorate_ax(ax, xlabel=None, ylabel=None, title=None, fontsize=8)[source]
Decorate a matplotlib Axis adding xlabel, ylabel, title, grid and legend
- plot_atan_logders(ax=None, with_xlabel=True, fontsize: int = 8, **kwargs) Any [source]
Plot arctan of logder on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_radial_wfs(ax=None, what='bound_states', fontsize: int = 8, **kwargs) Any [source]
Plot AE and PS radial wavefunctions on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.what – “bound_states” or “scattering_states”.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_projectors(ax=None, fontsize: int = 8, **kwargs) Any [source]
Plot projectors on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_densities(ax=None, timesr2=False, fontsize: int = 8, **kwargs) Any [source]
Plot AE, PS and model densities on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_der_densities(ax=None, order=1, acc=4, fontsize=8, **kwargs) Any [source]
Plot the radial derivatives of the densities on axis ax. Used to analyze possible discontinuities or strong oscillations in r-space.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_potentials(ax=None, fontsize: int = 8, **kwargs) Any [source]
Plot v_l and v_loc potentials on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_vtau(xscale='log', ax=None, fontsize: int = 8, **kwargs) Any [source]
Plot v_tau and v_tau(model+pseudo) potentials on axis ax.
- Parameters:
xscale – “log” to plot vtau in log scale or “linear”. For other options see matplotlib.
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
- plot_tau(ax=None, yscale='log', fontsize: int = 8, **kwargs) Any [source]
Plot kinetic energy densities tauPS and tau(M+PS) on axis ax.
- Parameters:
yscale – “log” to plot tau in log scale or “linear”. For other options see matplotlib.
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
- plot_der_potentials(ax=None, order=1, acc=4, fontsize: int = 8, **kwargs) Any [source]
Plot the derivatives of vl and vloc potentials on axis ax. Used to analyze the derivative discontinuity introduced by the RRKJ method at rc.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_kene_vs_ecut(ax=None, fontsize: int = 8, **kwargs) Any [source]
Plot the convergence of the kinetic energy wrt ecut on axis ax.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_atanlogder_econv(ax_list=None, fontsize: int = 6, **kwargs) Any [source]
Plot atan(logder) and the convergence of kinetic energy on the same figure.
Return: matplotlib Figure
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_den_formfact(ecut=120, ax=None, fontsize: int = 8, **kwargs) Any [source]
Plot the density form factor as a function of ecut in Ha.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Return: matplotlib Figure.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_atomic_levels(ax=None, fontsize: int = 0, **kwargs) Any [source]
Plot atomic levels in Ha.
- Parameters:
ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Return: matplotlib Figure.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- yield_figs(**kwargs)[source]
Generate a predefined list of matplotlib figures with minimal input from the user.
- write_notebook(nbpath=None)[source]
Write a jupyter notebook to nbpath. If nbpath is None, a temporay file is created. Return path to the notebook. A typical template:
# Preable. nbformat, nbv, nb = self.get_nbformat_nbv_nb(title=None) ##################### # Put your code here nb.cells.extend([ nbv.new_markdown_cell("# This is a markdown cell"), nbv.new_code_cell("a = 1"), ]) ##################### # Call _write_nb_nbpath return self._write_nb_nbpath(nb, nbpath)
- abipy.ppcodes.oncv_plotter.oncv_make_open_notebook(outpath: str, foreground: bool = False, classic_notebook: bool = False, no_browser: bool = False) int [source]
Generate an ipython notebook and open it in the browser.
- Parameters:
foreground – By default, jupyter is executed in background and stdout, stderr are redirected to devnull. Use foreground to run the process in foreground
classic_notebook – True to use the classic notebook instead of jupyter-lab (default)
no_browser – Start the jupyter server to serve the notebook but don’t open the notebook in the browser. Use this option to connect remotely from localhost to the machine running the kernel
Return: system exit code.
Raise: RuntimeError if jupyter executable is not in $PATH
- abipy.ppcodes.oncv_plotter.oncv_write_notebook(outpath: str, nbpath: str | None = None) str [source]
Write an ipython notebook to nbpath If nbpath is None, a temporay file is created. Return path to the notebook.
- class abipy.ppcodes.oncv_plotter.MultiOncvPlotter[source]
Bases:
NotebookWriter
Object for comparing and plotting multiple pseudos.
Usage example:
plotter = MultiOncvPlotter.from_files(filepaths) plotter.plot_atan_logders()
- classmethod from_files(files: list[str]) MultiOncvPlotter [source]
Create an instance from a list of oncvpsp output files.
- add_file(label: str, filepath: str) None [source]
Add a oncvps output file to the plotter with label
- property plotters: list[OncvPlotter]
“List of registered Plotters.
- plot_atan_logders(ax_list=None, with_xlabel=True, xlims=None, ylims=None, fontsize: int = 8, **kwargs) Any [source]
Plot arctan of logder on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_radial_wfs(ax_list=None, what='bound_states', fontsize: int = 8, **kwargs) Any [source]
Plot AE and PS radial wavefunctions of ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.what – “bound_states” or “scattering_states”.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_projectors(ax_list=None, fontsize: int = 8, **kwargs) Any [source]
Plot projectors on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_densities(ax_list=None, timesr2=False, fontsize: int = 8, **kwargs) Any [source]
Plot AE, PS and model densities on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.ax –
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_der_densities(ax_list=None, order=1, acc=4, fontsize=8, **kwargs) Any [source]
Plot the radial derivatives of the densities on ax_list for all pseudos. Used to analyze possible discontinuities or strong oscillations in r-space.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_potentials(ax_list=None, fontsize: int = 8, **kwargs) Any [source]
Plot v_l and v_loc potentials on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_der_potentials(ax_list=None, order=1, acc=4, fontsize: int = 8, **kwargs) Any [source]
Plot the derivatives of vl and vloc potentials on ax_list for all pseudos. Used to analyze the derivative discontinuity introduced by the RRKJ method at rc.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_kene_vs_ecut(ax_list=None, fontsize: int = 8, **kwargs) Any [source]
Plot the convergence of the kinetic energy wrt ecut on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_atanlogder_econv(ax_mat=None, fontsize: int = 6, **kwargs) Any [source]
Plot atan(logder) and converge of kinetic energy on the same figure for all pseudos. Return: matplotlib Figure
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_den_formfact(ecut=120, ax_list=None, fontsize: int = 8, **kwargs) Any [source]
Plot the density form factor as a function of ecut in Ha on ax_list for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Return: matplotlib Figure.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- plot_atomic_levels(ax_list=None, fontsize: int = 8, **kwargs) Any [source]
Plot atomic levels in Ha for all pseudos.
- Parameters:
ax_list – List of
matplotlib.axes.Axes
or None if a new figure should be created.
Return: matplotlib Figure.
Keyword arguments controlling the display of the figure:
kwargs
Meaning
title
Title of the plot (Default: None).
show
True to show the figure (default: True).
savefig
“abc.png” or “abc.eps” to save the figure to a file.
size_kwargs
Dictionary with options passed to fig.set_size_inches e.g. size_kwargs=dict(w=3, h=4)
tight_layout
True to call fig.tight_layout (default: False)
ax_grid
True (False) to add (remove) grid from all axes in fig. Default: None i.e. fig is left unchanged.
ax_annotate
Add labels to subplots e.g. (a), (b). Default: False
fig_close
Close figure. Default: False.
plotly
Try to convert mpl figure to plotly.
- yield_figs(**kwargs)[source]
Generate a predefined list of matplotlib figures with minimal input from the user.
- write_notebook(nbpath=None)[source]
Write a jupyter notebook to nbpath. If nbpath is None, a temporay file is created. Return path to the notebook. A typical template:
# Preable. nbformat, nbv, nb = self.get_nbformat_nbv_nb(title=None) ##################### # Put your code here nb.cells.extend([ nbv.new_markdown_cell("# This is a markdown cell"), nbv.new_code_cell("a = 1"), ]) ##################### # Call _write_nb_nbpath return self._write_nb_nbpath(nb, nbpath)
- abipy.ppcodes.oncv_plotter.psp8_get_densities(path, fc_file=None, ae_file=None, plot=False)[source]
Extract AE-core, AE-valence and PS-valence from a psp8 file. Optionally write .fc and .AE file in format suitable for AIM and cut3d Hirshfeld code.
- Parameters:
path – path of the psp8 file
fc_file – File-like object to .fc. and .AE file Set to None if files are now wanted.
ae_file – File-like object to .fc. and .AE file Set to None if files are now wanted.
plot – If true, call matplotlib to plot densities.
- Returns:
- (rmesh, psval, aeval, aecore)
Densities are multiplied by 4 pi i.e. int aecore * r**2 dr ~= N_core
- Return type:
namedtuple with numpy arrays
Warning
The densities do not integrate exactly to the number of core/valence electrons. in particular the valence charge in elements with large Z as valence electrons are more delocalized and the finite radial mesh does not capture the contribution due to the tail. Client code is responsible for extrapolating the valence charge if needed. The error in the integral of the core charge is usually much smaller and should be ok for qualitative analysis.
ppgen
Module
Interface for pseudopotential generators.
- class abipy.ppcodes.ppgen.Status[source]
Bases:
int
An integer representing the status of the ‘PseudoGenerator`.
- class abipy.ppcodes.ppgen.OncvGenerator(input_str: str, calc_type: str, use_mgga: bool, workdir: str | None = None)[source]
Bases:
_PseudoGenerator
This object receives an input file for oncvpsp, a string that defines the type of calculation (scalar-relativistic, …) runs the code in a temporary directory and provides methods to validate/analyze/plot the final results.
- retcode
Retcode of oncvpsp