Phoebe developer's documentation  1.1.0
Phonon and Electron Boltzmann Equations
phonon_transport_app.h
1 #ifndef PHONON_TRANSPORT_APP_H
2 #define PHONON_TRANSPORT_APP_H
3 
4 #include "app.h"
5 #include "vector_bte.h"
6 #include "phonon_h0.h"
7 #include <string>
8 
11 class PhononTransportApp : public App {
12 public:
13  void run(Context &context) override;
14  void checkRequirements(Context &context) override;
15  private:
16  VectorBTE getPhononElectronLinewidth(Context& context, Crystal& crystalPh,
17  ActiveBandStructure& phBandStructure,
18  StatisticsSweep& statisticsSweep,
19  PhononH0& phononH0);
20 };
21 
22 #endif
Class container of the quasiparticle band structure, i.e.
Definition: active_bandstructure.h:22
Base class for launching apps.
Definition: app.h:22
Class containing the user input variables.
Definition: context.h:15
Object to store the information on the crystal unit cell, such as atomic positions,...
Definition: crystal.h:18
class that computes phonon energies, velocities and eigenvectors.
Definition: phonon_h0.h:21
Main driver for the transport calculation.
Definition: phonon_transport_app.h:11
void checkRequirements(Context &context) override
Checks that the user wrote a complete input file.
Definition: phonon_transport_app.cpp:373
void run(Context &context) override
Launches the subprogram.
Definition: phonon_transport_app.cpp:17
Object for controlling the loop over temperatures and chemical potentials.
Definition: statistics_sweep.h:26
Class used to store the "vector" of out-of-equilibrium populations.
Definition: vector_bte.h:16