Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FermiSurface component #258

Closed
3 tasks done
mkhorton opened this issue Jul 20, 2022 · 0 comments · Fixed by #284
Closed
3 tasks done

FermiSurface component #258

mkhorton opened this issue Jul 20, 2022 · 0 comments · Fixed by #284

Comments

@mkhorton
Copy link
Member

mkhorton commented Jul 20, 2022

This issue primarily refers to new code within crystal_toolkit.components.fermi or similar, and crystal_toolkit.renderables.fermi_surface or similar.

  • A new MPComponent to represent Fermi surfaces via IFermi. This might use features added via this PR or build upon existing Brillouin zone visualization code already in Crystal Toolkit.
  • This may include adding new get_scene() or get_plot() methods for various IFermi classes such as FermiSurface, WignerSeitzCell or similar
  • A minimal example app should be added to crystal_toolkit.apps.examples, so that this can be added to the test suite and documentation.

Possible issues and decisions:

  • Decide between plotly Graph rendering vs. Crystal Toolkit Scene rendering.
    • The former has the advantage that mesh color coding is already available and is simpler, while the latter would be more consistent with Crystal Toolkit and its design goals as a whole but likely require more effort.
    • The latter has the specific advantage that user interaction options increase, e.g. interaction between a band structure component and a Fermi surface component to click on a high symmetry line in one and see it highlighted in the other, and visual representations between components are also more consistent, e.g. a Brillouin zone can be shown on its own, and then a FermiSurface super-imposed if available.
    • The latter has the disadvantage that it may require new features added on the JavaScript side, e.g. see here. Guidance can be given on this if required.
    • A proposal would be to get an initial version working via existing functionality in IFermi with plotly Graph, and leave Scene for future work, unless ambitious!
  • Issues with the size of data structure may be encountered, see Improve handling of MPComponent representing large objects #256

The user benefit of this feature would be to readily enable the visualization of Fermi surfaces on the Materials Project website and in web apps for suers of Crystal Toolkit.

If you have any questions related to the above, please either ask them in this issue or contact privately.


Notice: Issues with the "new contributor" label are issues assigned to a specific individual who may either be a new contributor to this repository or who have only have had minimal prior experience. These issues refer to a specific pre-arranged set of action items, and are intended to welcome and onboard new developers. Please get in touch with [email protected] if you would like to get involved and want a similar "new contributor" issue assigned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants