panels Package

core Module

“Base classes and mixins for AbiPy panels.

abipy.panels.core.gen_id(n=1, pre='uuid-')[source]

Generate n universally unique identifiers prepended with pre string. Return string if n == 1 or list of strings if n > 1

abipy.panels.core.sizing_mode_select(name='sizing_mode', value='scale_both')[source]

Widget to select the value of sizing_mode. See https://panel.holoviz.org/user_guide/Customization.html

class abipy.panels.core.AbipyParameterized(**params)[source]

Bases: param.parameterized.Parameterized

params(mpi_procs=Integer, verbose=Integer, name=String) Parameters of ‘AbipyParameterized’ ==================================  Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

verbose = 0
mpi_procs = 1
fig_kwargs[source]

Default arguments passed to AbiPy plot methods.

name = 'AbipyParameterized'
param = <param.parameterized.Parameters object>
class abipy.panels.core.PanelWithElectronBands(**params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(mpi_procs=Integer, verbose=Integer, name=String) Parameters of ‘PanelWithElectronBands’ ======================================  Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

with_gaps = Checkbox(name='Show gaps')
set_fermie_to_vbm = Checkbox(name='Set Fermie to VBM')
plot_ebands_btn = Button(button_type='primary', name='Plot e-bands')
edos_method = Select(name='e-DOS method', options=['gaussian', 'tetra'], value='gaussian')
edos_step = Spinner(name='e-DOS step (eV)', start=1e-06, step=0.05, value=0.1)
edos_width = Spinner(name='e-DOS Gaussian b..., start=1e-06, step=0.05, value=0.2)
plot_edos_btn = Button(button_type='primary', name='Plot e-DOS')
fs_viewer = Select(name='FS viewer', options=['matplotlib', ...], value='matplotlib')
plot_fermi_surface_btn = Button(button_type='primary', name='Plot Fermi surface')
get_plot_ebands_widgets()[source]

Widgets to plot ebands.

on_plot_ebands_btn()[source]

Button triggering ebands plot.

get_plot_edos_widgets()[source]

Widgets to compute e-DOS.

on_plot_edos_btn()[source]

Button triggering edos plot.

get_plot_fermi_surface_widgets()[source]

Widgets to compute e-DOS.

on_plot_fermi_surface_btn()[source]
name = 'PanelWithElectronBands'
param = <param.parameterized.Parameters object>
class abipy.panels.core.BaseRobotPanel(**params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(mpi_procs=Integer, verbose=Integer, name=String) pass Parameters of ‘BaseRobotPanel’ ==============================  Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

name = 'BaseRobotPanel'
param = <param.parameterized.Parameters object>
class abipy.panels.core.PanelWithEbandsRobot(**params)[source]

Bases: abipy.panels.core.BaseRobotPanel

params(mpi_procs=Integer, verbose=Integer, name=String)

Mixin class for panels with a robot that owns a list of of abipy.electrons.ebands.ElectronBands

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

ebands_plotter_mode = Select(name='Plot Mode', options=['gridplot', 'combiplot', ...], value='gridplot')
ebands_plotter_btn = Button(button_type='primary', name='Plot')
ebands_df_checkbox = Checkbox(name='With Ebands DataFrame')
edos_plotter_mode = Select(name='Plot Mode', options=['gridplot', 'combiplot'], value='gridplot')
edos_plotter_btn = Button(button_type='primary', name='Plot')
get_ebands_plotter_widgets()[source]
on_ebands_plotter_btn()[source]
get_edos_plotter_widgets()[source]
on_edos_plotter_btn()[source]
name = 'PanelWithEbandsRobot'
param = <param.parameterized.Parameters object>

ddb Module

“Panels for DDB files.

class abipy.panels.ddb.DdbFilePanel(ddb, **params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(asr=ObjectSelector, chneut=ObjectSelector, dipdip=ObjectSelector, dos_method=ObjectSelector, gamma_ev=Number, lo_to_splitting=ObjectSelector, ndivsm=Integer, nqsmall=Integer, units=ObjectSelector, mpi_procs=Integer, verbose=Integer, name=String)

A panel to analyze a abipy.dfpt.ddb.DdbFile. Provides widgets to invoke anaddb and visualize the results.

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

asr 2 ObjectSelector V RW chneut 1 ObjectSelector V RW dipdip 1 ObjectSelector V RW dos_method ‘tetra’ ObjectSelector V RW gamma_ev 0.0001 Number (1e-20, None) V RW lo_to_splitting ‘automatic’ ObjectSelector V RW mpi_procs 1 Integer (1, None) V RW ndivsm 2 Integer (1, None) V RW nqsmall 10 Integer (1, None) V RW units ‘eV’ ObjectSelector V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

asr: Abinit variable chneut: Abinit variable dipdip: Abinit variable dos_method: Integration method for DOS gamma_ev: Phonon linewidth in eV lo_to_splitting: < No docstring available > mpi_procs: Number of MPI processes used in anaddb ndivsm: Number of divisions for smallest segment in q-path nqsmall: Number of divisions for smallest vector to generate Q-mesh units: Energy units verbose: Verbosity Level

verbose = 0
mpi_procs = 1
nqsmall = 10
ndivsm = 2
lo_to_splitting = 'automatic'
chneut = 1
dipdip = 1
asr = 2
units = 'eV'
dos_method = 'tetra'
temp_range = RangeSlider(end=1000, name='T-range', step=20, value=(0.0, 300.0))
gamma_ev = 0.0001
w_range = RangeSlider(name='Frequency range (eV)', step=0.001, value=(0.0, 0.1))
get_epsinf_btn = Button(button_type='primary', name='Compute')
plot_phbands_btn = Button(button_type='primary', name='Plot Bands and DOS')
plot_eps0w_btn = Button(button_type='primary', name='Plot eps0(omega)')
plot_vsound_btn = Button(button_type='primary', name='Calculate speed o...)
get_epsinf()[source]

Compute eps_infinity and Born effective charges from DDB.

plot_eps0w()[source]

Compute eps0(omega) from DDB and plot the results.

plot_phbands_and_phdos(event=None)[source]

Compute phonon bands and ph-DOSes from DDB and plot the results.

plot_vsound()[source]

Compute the speed of sound by fitting phonon frequencies along selected directions by linear least-squares fit.

get_panel()[source]

Return tabs with widgets to interact with the DDB file.

name = 'DdbFilePanel'
param = <param.parameterized.Parameters object>

flows Module

“Panels for AbiPy flows.

class abipy.panels.flows.FlowPanel(flow, **params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(mpi_procs=Integer, verbose=Integer, name=String)

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

verbose = IntSlider(end=10)
engine = Select(options=['dot', 'neato', ...], value='fdp')
dirtree = Checkbox(name='Dirtree')
graphviz_btn = Button(button_type='primary', name='Show graph')
status_btn = Button(button_type='primary', name='Show status')
history_btn = Button(button_type='primary', name='Show history')
debug_btn = Button(button_type='primary', name='Debug')
events_btn = Button(button_type='primary', name='Events')
corrections_btn = Button(button_type='primary', name='Corrections')
handlers_btn = Button(button_type='primary', name='Handlers')
vars_text = TextInput(name='Abivars', placeholder='Enter list of v...)
vars_btn = Button(button_type='primary', name='Show Variables')
dims_btn = Button(button_type='primary', name='Show Dimensions')
structures_btn = Button(button_type='primary', name='Show Structures')
structures_io_checkbox = CheckBoxGroup(inline=True, name='Input/Output Structure', options=['input', 'output'], value=['output'])
ebands_btn = Button(button_type='primary', name='Show Ebands')
ebands_plotter_mode = Select(name='Plot Mode', options=['gridplot', 'combiplot', ...], value='gridplot')
ebands_plotter_btn = Button(button_type='primary', name='Plot')
ebands_df_checkbox = Checkbox(name='With Ebands DataFrame')
ebands_ksamp_checkbox = CheckBoxGroup(inline=True, name='Input/Output Structure', options=['with_path', 'with_ibz'], value=['with_path', 'with_ibz'])
on_status_btn()[source]
on_history_btn()[source]
on_graphviz_btn()[source]
on_debug_btn()[source]
on_events_btn()[source]
on_corrections_btn()[source]
on_handlers_btn()[source]
on_vars_btn()[source]
on_dims_btn()[source]
on_structures_btn()[source]
on_ebands_btn()[source]
get_panel()[source]

Return tabs with widgets to interact with the flow.

name = 'FlowPanel'
param = <param.parameterized.Parameters object>

gsr Module

Panels for interacting with GSR files.

class abipy.panels.gsr.GsrFilePanel(gsr, **params)[source]

Bases: abipy.panels.core.PanelWithElectronBands

params(mpi_procs=Integer, verbose=Integer, name=String)

Panel with widgets to interact with a abipy.electrons.gsr.GsrFile.

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

property ebands

abipy.electrons.ebands.ElectronBands.

get_panel()[source]

Return tabs with widgets to interact with the DDB file.

name = 'GsrFilePanel'
param = <param.parameterized.Parameters object>
class abipy.panels.gsr.GsrRobotPanel(robot, **params)[source]

Bases: abipy.panels.core.PanelWithEbandsRobot

params(mpi_procs=Integer, verbose=Integer, name=String)

A Panel to interoperate with multiple GSR files.

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

gsr_dataframe_btn = Button(button_type='primary', name='Compute')
on_gsr_dataframe_btn()[source]
get_panel()[source]

Return tabs with widgets to interact with the abipy.electrons.gsr.GsrRobot.

name = 'GsrRobotPanel'
param = <param.parameterized.Parameters object>

phonons Module

“Panels for phonon-related objects.

class abipy.panels.phonons.PhononBandsPlotterPanel(plotter, **params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(mpi_procs=Integer, verbose=Integer, name=String) Parameters of ‘PhononBandsPlotterPanel’ =======================================  Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

phbands_plotter_mode = Select(name='Plot Mode', options=['gridplot', 'combiplot', ...], value='gridplot')
phbands_plotter_units = Select(name='Units', options=['eV', 'meV', ...], value='eV')
phbands_plotter_btn = Button(button_type='primary', name='Plot')
on_phbands_plot_btn()[source]
get_panel()[source]

Return tabs with widgets to interact with the abipy.dfpt.phonons.PhononBandsPlotter.

name = 'PhononBandsPlotterPanel'
param = <param.parameterized.Parameters object>

structure Module

“GUIs for structure.

abipy.panels.structure.html_with_copy_to_clipboard(html, btn_cls='btn-primary btn-sm')[source]
class abipy.panels.structure.StructurePanel(structure, **params)[source]

Bases: abipy.panels.core.AbipyParameterized

params(mpi_procs=Integer, verbose=Integer, name=String)

Panel with widgets to interact with an AbiPy Structure

 Parameters changed from their default values are marked in red. Soft bound values are marked in cyan. C/V= Constant/Variable, RO/RW = ReadOnly/ReadWrite, AN=Allow None

Name Value Type Bounds Mode 

mpi_procs 1 Integer (1, None) V RW verbose 0 Integer (0, None) V RW

Parameter docstrings: =====================

mpi_procs: Number of MPI processes used when runnin Fortran code verbose: Verbosity Level

verbose = 0
output_format = Select(name='format', options=['abinit', 'cif', ...], value='abinit')
spglib_symprec = Spinner(name='symprec', start=0.0, step=0.01, value=0.01)
spglib_angtol = Spinner(name='angtol', start=0.0, value=5)
kpath_format = Select(name='format', options=['abinit', 'siesta', ...], value='abinit')
line_density = Spinner(name='line density', start=0, step=5, value=10)
viewer_btn = Button(button_type='primary', name='View structure')
viewer = Select(name='Viewer', options=['vesta', 'xcrysden', ...], value='vesta')
mp_match_btn = Button(button_type='primary', name='Connect to Materials P...)
gs_input_btn = Button(button_type='primary', name='Generate input')
gs_type = Select(name='GS type', options=['scf', 'relax'], value='scf')
kppra = Spinner(name='kppra', start=0, step=1000, value=1000)
label2mode = {'anti-ferromagnetic': 'afm', 'non-collinear with magnetism': 'spinor', 'non-collinear, no magnetism': 'spinor_nomag', 'polarized': 'polarized', 'unpolarized': 'unpolarized'}
spin_mode = Select(name='SpinMode', options=['unpolarized', ...], value='unpolarized')
convert()[source]
spglib_summary()[source]
get_kpath()[source]
view()[source]
on_gs_input_btn()[source]
on_mp_match_btn()[source]
get_panel()[source]

Build panel with widgets to interact with the structure either in a notebook or in a bokeh app

name = 'StructurePanel'
param = <param.parameterized.Parameters object>