Git Product home page Git Product logo

nakib / elphbolt Goto Github PK

View Code? Open in Web Editor NEW
36.0 6.0 23.0 12.44 MB

A solver for the coupled and decoupled electron and phonon Boltzmann transport equations.

License: GNU General Public License v3.0

Fortran 97.67% Dockerfile 0.26% CMake 0.35% Shell 0.29% Julia 1.15% Scheme 0.27%
boltzmann-transport drag-effect electron-phonon-coupling phonon-phonon-coupling coarray-fortran ab-initio-simulations thermal-conductivity charge-conductivity thermoelectricity gpu-acceleration

elphbolt's People

Contributors

mrm24 avatar nakib avatar nils-wittemeier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

elphbolt's Issues

Generate EPW data

We need Wannier space data from EPW for the various materials we are going to calculate.

Electron velocity

Do we need to generalize the electron velocity beyond what we are doing now?

Intel support

Need to test on intel compiler, especially using coarrays.

Reuse symmetry/ibz<->fbz mapping results

Calculation of the ibz is time consuming for dense phonon wave vector meshes. The computed results for a given mesh/Fermi window thickness should be reused for subsequent temperature and concentration sweeps.

Update/replace spglib

Currently the code runs on spglib 1.6.0. Need to test using the newer versions of this library. Alternatively, we can replace it with something else.

Calculate Y(q)

Calculate the phonon-electron transition probabilities for all IBZ q.

New iteration scheme

For the coupled BTEs, is there a better iteration scheme than advancing each BTE one iteration at a time, sequentially?

Standalone carrier concentration calculator

Need a standalone tool that generates the chemical potentials for n- and p-doped large band gap materials for a give range of temperatures and carrier concentrations. This will then be used for temperature and carrier concentration sweeps.

Introduce readW

This flag is useful when we want to sweep over chemical potentials for a given temperature. (W depends on temperature, but not on chemical potential.)

Plot along high-sym path

Add functionality to plot along high symmetry directions phonons, electrons, and the e-ph matrix elements.

Calculate X(k)s

Calculate the e-ph transition probabilities, X+ and X-, for all IBZ k.

Cumulative transport coefficients

Should implement transport coefficient accumulation with respect to mean free path. These are often useful for understanding the physics.

  • phonon thermal conductivity
  • charge conductivity
  • electron thermal conductivity
  • electron and phonon thermopowers

Interpolation of Ws

Need interpolation routine to do W(q-mesh) -> W(k-mesh), where, in general, the k mesh is finer than/equal to the q mesh. This is needed in the drag enabled eBTE iterator only and should be used on-the-fly.

gpu acceleration

Certain Fourier transforms can, in principle, be accelerated on gpus. However, large amounts of data might have to be moved to the gpus, which might be very slow. Regardless, worth trying this out.

Calculate g(k,q)

Calculate g(k,q) for all IBZ k. Here, q belongs to the k-mesh.

Implement 2d

Generalize code to be able to handle 2d systems.

Prettify output

Make output pretty and greppable. While at it, print a nice banner also, because why the hell not.

Quadrupole corrections

Quadrupole corrections might be very important for certain polar and non-polar insulators and semi-conductors. To include this we need to modify both EPW and elphbolt.

Implement timer

It would be useful to time the various expensive parts of the program.

Lower memory requirement of electronic stuff

The fact that the number of the transport active bands is smaller than the potentially large number of Wannier bands can be used to lower the memory (RAM and disk) requirement of the electronic quantities.

Print out results

Print out quantities such as response functions, transport coefficient tensors, spectral quantities, etc. at the RTA, partial decoupling, and fully converged levels.

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.