GithubHelp home page GithubHelp logo

henriquemiranda / excitonwebsite Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 5.0 32.78 MB

Visualize excitonic wavefunctions

Home Page: http://henriquemiranda.github.io/excitonwebsite/

License: BSD 3-Clause "New" or "Revised" License

CSS 0.27% HTML 1.10% JavaScript 97.73% Python 0.91%

excitonwebsite's Introduction

Exciton website

Visualize excitonic wavefunctions.

This project aims to create an interactive website where the user can visualize different excitonic wavefunctions. The exciton is a bound state of and electron and an hole interacting via a Coulomb force. We use yambo to calculate these excitonic states using the Bethe-Salpeter equation and ypp (part of yambo) to generate a representation of electron density when the hole is fixed. This is done for the excitons with the highest intensity. The user can click in the absorption spectra and visualize the electron density that corresponds to that particular state.

How to use?

This website allows you to visualize your own calculations. For that you need to have a .json file with the information to display. Currently this files can be generated using yambopy:

https://github.com/henriquemiranda/yambopy

running your BSE calculation diagonalizing the excitonic hamiltonian. Then you can generate this files using a script similar to the one present in the analyse part of the bse_bn.py script provided in the tutorial. We reproduce the code here:

    #get the absorption spectra in the folder 'bse'
    a = YamboBSEAbsorptionSpectra('yambo',path='bse')
    
    # first we get the energies of teh ecitonic states:
    # min_intensity=0.0005  # minimum intensity of the excitons to represent
    # max_energy=7          # maximum energy of the excitons to represent
    # Degen_Step=0.01       # merge excitonic states whose energy
                            # difference in energy is smaller than

    excitons = a.get_excitons(min_intensity=0.0005,max_energy=7,
                              Degen_Step=0.01)

    print( "nexcitons: %d"%len(excitons) )
    print( "excitons:" )
    print( excitons )

    # read the wavefunctions
    # Cells=[13,13,1]   #number of cell repetitions
    # Hole=[0,0,6+.5]   #position of the hole in cartesian coordinates
    # FFTGvecs=10       #number of FFT vecs to use, larger makes the
    #                   #image smoother, but takes more time to plot
    a.get_wavefunctions(Degen_Step=0.01,repx=range(-1,2),
                        repy=range(-1,2),repz=range(1),
                        Cells=[13,13,1],Hole=[0,0,6+.5],
                        FFTGvecs=10,wf=True)
    
    #write the file
    a.write_json() 

Contribute

The project is still under development, suggestions and bugfixes are welcome!

If you would like to see some data added here please contact me.

You can leave your suggestions and feature requests here: https://github.com/henriquemiranda/excitonwebsite/issues

Author

Henrique Miranda

My personal webpage: http://henriquemiranda.github.io

My github page: https://github.com/henriquemiranda

Contact me: miranda.henrique at gmail.com

Aknowledgments & Funding

Ludger Wirtz for the original idea and important scientific advices.

Fonds National de la Recherche Luxembourg (2013-present): http://www.fnr.lu/

University of Luxembourg (2013-present): http://wwwen.uni.lu/

Software used for this project

excitonwebsite's People

Contributors

henriquemiranda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

excitonwebsite's Issues

Add visualisation of the excitons in the reciprocal space

Add a feature where the user can visualise the excitonic wavefunction in reciprocal space.
This can be plotted easily for 2D materials.
For 3D Materials is more complicated.

Perhaps the best way is to plot the weight of the exciton in the bandstructure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.