romerogroup / pyprocar

A Python library for electronic structure pre/post-processing
GNU General Public License v3.0
165 stars 72 forks source link

can't plot in plain mode of plot_fermi_cross_section #150

Open good-mood-everyday opened 2 weeks ago

good-mood-everyday commented 2 weeks ago

The example uses the following: fermiHandler.plot_fermi_cross_section( slice_normal=slice_normal, slice_origin=slice_origin, cross_section_slice_linewidth=line_width, mode="spin_texture", spin_texture=True, arrow_size=0.5, save_2d_slice=save_2d_slice, show=True,)

But if I change mode to plain, and delete the spin_texture and arrow_size, or other arguments, an error always shows up: AttributeError: 'NoneType' object has no attribute 'ndim'

So I can't plot fermi surface cross section without spin texture?

lllangWV commented 2 weeks ago

Hey good-mood-everyday!

I've managed to replicate the error you're encountering. It originates from the custom slicer I developed using pyvista, which was specifically tailored to support spin textures and parametric modes. I've verified that these modes are functioning correctly.

Unfortunately, I won't be able to address this issue tonight, but I will look into it either tomorrow afternoon or on Thursday. I'll keep you updated!

Here's the relevant code snippet for your reference.

fermiHandler.plot_fermi_cross_section(
                              slice_normal=slice_normal,
                              slice_origin=slice_origin,
                              cross_section_slice_linewidth=line_width,
                              mode="plain",
                              spin_texture=False,
                              arrow_size=0.5,
                              show=True,)
AttributeError: 'NoneType' object has no attribute 'ndim'

Best Regards,

Logan Lang