MultiPie

Contents

MultiPie#

MultiPie Dialog#

Multipie data.

This module provides a data manager for MultiPie.

class MultiPieData(parent)[source]#

Bases: object

MultiPie data manager.

add_bond(bond, width=None, color=None, color2=None, opacity=None)[source]#
add_bond_definition(bond, length=None, width=None, color=None, opacity=None)[source]#
add_bond_samb(tag, width=None, p_color=None, n_color=None, z_color=None, z_width=None, a_size=None)[source]#
add_orbital(orbital, tp='Q', average=False, size=None, color=None, opacity=None)[source]#
add_orbital_samb(lc, size=None, color=None, opacity=None)[source]#
add_orbital_samb_modulation(modulation_range, size=None, color=None, opacity=None)[source]#
add_site(site, size=None, color=None, opacity=None)[source]#
add_site_samb(tag, size=None, p_color=None, n_color=None, z_color=None, z_size=None)[source]#
add_vector(vector, tp='Q', cartesian=True, average=False, length=None, width=None, color=None, opacity=None)[source]#
add_vector_samb(lc, length=None, width=None, color=None, opacity=None)[source]#
add_vector_samb_modulation(modulation_range, length=None, width=None, color=None, opacity=None)[source]#
bond_samb_list(bond)[source]#
clear_data()[source]#
orbital_samb_list(orbital, tp='Q', rank=0)[source]#
set_axis()[source]#
set_crystal_type(crystal)[source]#
set_group(group)[source]#
set_group_find_wyckoff(find_wyckoff)[source]#
set_group_type(group_type)[source]#
set_status(status=None, group=None)[source]#
site_samb_list(site)[source]#
vector_samb_list(vector, tp='Q')[source]#
property group#
property mp_group#
property p_group#
property ps_group#

Multipie dialog.

This module provides a dialog for drawing objects with the help of MultiPie.

class MultiPieDialog(parent)[source]#

Bases: QDialog

MultiPie dialog.

Parameters:

parent (MultiPiePlugin) -- parent.

clear_data()[source]#
closeEvent(event)[source]#
set_data()[source]#
set_title()[source]#
group_changed#
staticMetaObject = PySide6.QtCore.QMetaObject("MultiPieDialog" inherits "QDialog": Methods:   #41 type=Signal, signature=group_changed() )#

Multipie side panel.

This module provides side panel in MultiPie dialog.

class SubGroup(parent)[source]#

Bases: QWidget

clear_data()[source]#
closeEvent(event)[source]#
set_crystal_type(crystal)[source]#
set_data()[source]#
set_group(group)[source]#
set_group_name()[source]#
set_group_type(group_type)[source]#
show_character_table()[source]#
show_product_table()[source]#
show_symmetry_operation()[source]#
show_wyckoff_bond()[source]#
show_wyckoff_site()[source]#
staticMetaObject = PySide6.QtCore.QMetaObject("SubGroup" inherits "QWidget": )#

Multipie group tab.

This module provides group tab in MultiPie dialog.

class TabGroup(parent)[source]#

Bases: QWidget

clear_data()[source]#
closeEvent(event)[source]#
find_wyckoff_set()[source]#
set_atomic_bra_ket()[source]#
set_data()[source]#
set_harm_list()[source]#
set_irrep_decomp(value=None)[source]#
set_irrep_list()[source]#
set_wyckoff_list()[source]#
show_atomic()[source]#
show_harmonics()[source]#
show_harmonics_decomp()[source]#
show_harmonics_info()[source]#
show_response()[source]#
show_wyckoff_bond()[source]#
show_wyckoff_site()[source]#
staticMetaObject = PySide6.QtCore.QMetaObject("TabGroup" inherits "QWidget": )#

Multipie object tab.

This module provides object tab in MultiPie dialog.

class TabObject(parent)[source]#

Bases: QWidget

clear_data()[source]#
closeEvent(event)[source]#
set_data()[source]#
show_bond()[source]#
show_orbital()[source]#
show_site()[source]#
show_vector()[source]#
staticMetaObject = PySide6.QtCore.QMetaObject("TabObject" inherits "QWidget": )#

Multipie basis tab.

This module provides basis tab in MultiPie dialog.

class TabBasis(parent)[source]#

Bases: QWidget

clear_data()[source]#
closeEvent(event)[source]#
create_orbital_modulation()[source]#
create_vector_modulation()[source]#
set_bond()[source]#
set_data()[source]#
set_orbital()[source]#
set_orbital_list()[source]#
set_site()[source]#
set_vector()[source]#
set_vector_list()[source]#
show_bond()[source]#
show_bond_definition()[source]#
show_bond_info()[source]#
show_orbital()[source]#
show_orbital_info()[source]#
show_orbital_lc()[source]#
show_orbital_samb_modulation(modulation_range)[source]#
show_site()[source]#
show_site_info()[source]#
show_vector()[source]#
show_vector_info()[source]#
show_vector_lc()[source]#
show_vector_samb_modulation(modulation_range)[source]#
staticMetaObject = PySide6.QtCore.QMetaObject("TabBasis" inherits "QWidget": )#

Info Dialog#

MultiPie information dialog.

This module provides a dialog for group info. in MultiPie dialog.

class InfoPanel(parent, data, header, title, vertical)[source]#

Bases: QDialog

Info panel.

Parameters:
  • parent (QWidget) -- parent.

  • data (list) -- list of latex string without "$", [[str]].

  • header (list) -- header. None is for no header.

  • title (str) -- title of window.

  • vertical (bool) -- show vertical (sequential number) header ?

staticMetaObject = PySide6.QtCore.QMetaObject("InfoPanel" inherits "QDialog": )#
show_atomic_multipole(group, bra, ket, head, basis_type, tesseral, parent)[source]#

Show atomic multipole panel.

Parameters:
  • group (Group) -- PG.

  • bra (str) -- bra basis list.

  • ket (str) -- ket basis list.

  • head (str) -- head.

  • basis_type (str) -- basis type.

  • tesseral (bool) -- is tesseral basis ?

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- symmetry operation panel.

show_bond_samb_panel(group, lst, wp, samb_list, samb, parent)[source]#

Show bond SAMB panel.

Parameters:
  • group (Group) -- point/space group.

  • lst (list) -- combo list.

  • wp (str) -- wyckoff.

  • samb_list (list) -- SAMB (index, comp) list.

  • samb (dict) -- SAMB dict.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- bond SAMB panel.

show_character_table(group, parent)[source]#

Show character table panel.

Parameters:
  • group (Group) -- point group.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- character table panel.

show_group_info(group, name, header, data, vertical, parent=None)[source]#

Show group info.

Parameters:
  • group (Group) -- group.

  • name (str) -- title of dialog.

  • header (list) -- header string. None is for no header.

  • data (list) -- list of latex string without "$", [[str]].

  • vertical (bool) -- show vertical (sequential number) header ?

  • parent (QWidget, optional) -- parent.

Returns:

  • (InfoPanel) -- panel.

show_harmonics_decomp(group, basis, rank, head, parent)[source]#

Show harmonics decomposition panel.

Parameters:
  • group (Group) -- PG expressed by basis PG.

  • basis (str) -- basis PG.

  • rank (int) -- rank.

  • head (str) -- type, Q/G.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- harmonics decomposition panel.

show_harmonics_info(group, head, rank, parent)[source]#

Show harmonics decomposition panel.

Parameters:
  • group (Group) -- PG expressed by basis PG.

  • basis (str) -- basis PG.

  • rank (int) -- rank.

  • head (str) -- type, Q/G.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- harmonics decomposition panel.

show_orbital_samb_panel(group, lst, wp, tp, samb_list, samb, parent)[source]#

Show orbital SAMB panel.

Parameters:
  • group (Group) -- point/space group.

  • lst (list) -- combo list.

  • wp (str) -- wyckoff.

  • tp (str) -- atomic type.

  • samb_list (list) -- SAMB (index, comp) list.

  • samb (dict) -- SAMB dict.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- orbital SAMB panel.

show_product_table(group, parent)[source]#

Show product table panel.

Parameters:
  • group (Group) -- point group.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- product table panel.

show_response(group, rank, r_type, parent)[source]#

Show response tensor panel.

Parameters:
  • group (Group) -- MPG.

  • rank (int) -- response tensor rank.

  • r_type (str) -- response tensor type.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- response tensor panel.

show_site_samb_panel(group, lst, wp, samb_list, samb, parent)[source]#

Show site SAMB panel.

Parameters:
  • group (Group) -- point/space group.

  • lst (list) -- combo list.

  • wp (str) -- wyckoff.

  • samb_list (list) -- SAMB (index, comp) list.

  • samb (dict) -- SAMB dict.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- site SAMB panel.

show_symmetry_operation(group, parent)[source]#

Show symmetry operation panel.

Parameters:
  • group (Group) -- all group.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- symmetry operation panel.

show_vector_samb_panel(group, lst, wp, tp, samb_list, samb, parent)[source]#

Show vector SAMB panel.

Parameters:
  • group (Group) -- point/space group.

  • lst (list) -- combo list.

  • wp (str) -- wyckoff.

  • tp (str) -- atomic type.

  • samb_list (list) -- SAMB (index, comp) list.

  • samb (dict) -- SAMB dict.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- vector SAMB panel.

show_wyckoff_bond(group, parent)[source]#

Show Wyckoff position panel.

Parameters:
  • group (Group) -- point/space group.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- Wyckoff bond panel.

show_wyckoff_site(group, parent)[source]#

Show Wyckoff position panel.

Parameters:
  • group (Group) -- group.

  • parent (QWidget) -- parent.

Returns:

  • (InfoPanel) -- Wyckoff site panel.

Modulation Dialog#

MultiPie modulation dialog.

This module provides a dialog for modulation editor.

class ModulationDialog(parent, modulation_range, var, vec)[source]#

Bases: QDialog

accept_data()[source]#
add_data()[source]#
create_modulation()[source]#
create_panel()[source]#
modulation_range()[source]#
reject_data()[source]#
remove_data()[source]#
reset()[source]#
set_view(magnetic)[source]#
staticMetaObject = PySide6.QtCore.QMetaObject("ModulationDialog" inherits "QDialog": )#

Utility#

MultiPie utility.

This module provides utilities for MultiPie dialog.

check_linear_combination(ex, basis_var)[source]#
convert_vector_object(obj)[source]#
create_samb_modulation(group, modulation, phase_dict, igrid, pset, samb, samb_list, wp, site)[source]#
phase_factor(modulation, repeat, pset)[source]#

Create phase factor.

Parameters:
  • modulation (list) -- modulation info. [(basis, coeff, k, n)].

  • repeat (list) -- repeat.

  • pset (ndarray) -- plus_set.

Returns:

[phase at each grid(float)]}. - (list) -- cell grid.

Return type:

  • (dict) -- {(k(str),n(int),plus_set no(int))

MultiPie plot.

This module provides plot functions for MultiPie dialog.

plot_bond_cluster(mp_data, bond, samb, wp, label=None, sym=True, color=None, color_neg=None, color_pos=None, width=None, arrow_ratio=None, width_ratio=None)[source]#
plot_bond_definition(mp_data, bonds, wp, label=None, rep=True, name=None, length=None, width=None, opacity=None, color=None, arrow_color=None, arrow_color_rep=None)[source]#
plot_cell_bond(mp_data, bonds, wp=None, label=None, width=None, color=None, color2=None, opacity=None, name=None)[source]#

Plot cell bond.

Parameters:
  • mp_data (MultiPieData) -- multipie data.

  • bonds (ndarray) -- bonds (fractional, conventional).

  • wp (str, optional) -- Wyckoff bond.

  • label (list, optional) -- label.

  • width (float, optional) -- width [default: 0.01].

  • color (str, optional) -- color [default: silver].

  • color2 (str, optional) -- color for directional bond [default: iron].

  • opacity (float, optional) -- opacity [default: 1.0].

  • name (str, optional) -- plot name.

plot_cell_multipole(mp_data, multipoles, sites, X='Q', wp=None, label=None, size=None, color=None, opacity=None, average=True, name=None)[source]#

Plot cell multipole.

Parameters:

mp_data (MultiPieData) -- multipie data. multipoles (ndarray): multipoles (cartesian). sites (ndarray): site/bond (fractional, conventional). X (str, optional): type, "Q/G/T/M". wp (str, optional): Wyckoff site/bond. label (list, optional): label. size (float, optional): size [default: 0.2]. color (_type_, optional): color [default: Wistia/PiYG/coolwarm/GnBu for Q/G/T/M]. opacity (float, optional): opacity [default: 1.0]. average (bool, optional): average at each site ? name (str, optional): plot name.

plot_cell_site(mp_data, sites, wp=None, label=None, size=None, color=None, opacity=None, name=None)[source]#

Plot cell site.

Parameters:
  • mp_data (MultiPieData) -- multipie data.

  • sites (ndarray) -- sites (fractional, conventional).

  • wp (str, optional) -- Wyckoff site.

  • label (list, optional) -- label.

  • size (float, optional) -- size [default: 0.05].

  • color (str, optional) -- color [default: silver].

  • opacity (float, optional) -- opacity [default: 1.0].

  • name (str, optional) -- plot name.

plot_cell_vector(mp_data, vectors, sites, X='Q', wp=None, label=None, length=None, width=None, color=None, opacity=None, average=True, cartesian=False, name=None)[source]#

Plot cell vector.

Parameters:

mp_data (MultiPieData) -- multipie data. vectors (ndarray): vectors (fractional/cartesian). sites (ndarray): site/bond (fractional, conventional). X (str, optional): type, "Q/G/T/M". wp (str, optional): Wyckoff site/bond. label (list, optional): label. length (float, optional): length [default: 0.3]. width (float, optional): width [default: 0.02]. color (_type_, optional): color [default: orange/yellowgreen/hotpink/lightskyblue for Q/G/T/M]. opacity (float, optional): opacity [default: 1.0]. average (bool, optional): average at each site ? cartesian (bool, optional): vector in cartesian coordinate ? name (str, optional): plot name.

plot_orbital_cluster(mp_data, site, samb, X='Q', wp=None, label=None, size=None, color=None, opacity=None, name=None)[source]#
plot_site_cluster(mp_data, site, samb, wp, label=None, color=None, color_neg=None, color_pos=None, zero_size=None, size_ratio=None)[source]#
plot_vector_cluster(mp_data, site, samb, X='Q', wp=None, label=None, cartesian=True, length=None, width=None, color=None, opacity=None, name=None)[source]#