psim  1.0
Generalized 2D phonon transport using a Monte Carlo method
Material Class Reference

#include <material.h>

Public Types

using Array = std::array< double, NUM_FREQ_BINS >
 
using Table = std::array< std::pair< double, double >, NUM_FREQ_BINS >
 
using Polar = Phonon::Polarization
 

Public Member Functions

 Material (std::size_t mat_id, const DispersionData &disp_data, const RelaxationData &relax_data)
 
void setFullSimulation () noexcept
 
std::size_t id () const noexcept
 
double max_freq_la () const noexcept
 
double max_freq_ta () const noexcept
 
Phonon::RelaxRates relaxRates (double temp, double freq, Polar polarization) const noexcept
 
Phonon::RelaxRates relaxRates (std::size_t freq_index, Polar polarization, double temp) const
 
const Array & getFrequencies () const noexcept
 
double getFreq (std::size_t index) const noexcept
 
double getVel (std::size_t index, Polar polar) const noexcept
 
const Table * baseTable (double temp) const
 
double baseEnergy (double temp) const
 
const Table * emitTable (double temp) const
 
double emitEnergy (double temp) const
 
const Table * scatterTable (double temp) const
 
double scatterEnergy (double temp) const
 
double theoreticalEnergy (double temp, bool pseudo=false) const noexcept
 
void initializeTables (double low_temp, double high_temp, float temp_interval)
 

Static Public Member Functions

static std::pair< std::size_t, Polar > freqIndex (const Table &dist) noexcept
 

Static Public Attributes

static constexpr std::size_t NUM_FREQ_BINS = 1000
 

Member Typedef Documentation

◆ Array

using Material::Array = std::array<double, NUM_FREQ_BINS>

◆ Polar

◆ Table

using Material::Table = std::array<std::pair<double, double>, NUM_FREQ_BINS>

Constructor & Destructor Documentation

◆ Material()

Material::Material ( std::size_t  mat_id,
const DispersionData &  disp_data,
const RelaxationData &  relax_data 
)

Member Function Documentation

◆ baseEnergy()

double Material::baseEnergy ( double  temp) const
inline
Here is the caller graph for this function:

◆ baseTable()

const Table* Material::baseTable ( double  temp) const
inline
Here is the caller graph for this function:

◆ emitEnergy()

double Material::emitEnergy ( double  temp) const
inline

◆ emitTable()

const Table* Material::emitTable ( double  temp) const
inline
Here is the caller graph for this function:

◆ freqIndex()

std::pair< std::size_t, Polar > Material::freqIndex ( const Table &  dist)
staticnoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getFreq()

double Material::getFreq ( std::size_t  index) const
noexcept
Here is the call graph for this function:

◆ getFrequencies()

const Array& Material::getFrequencies ( ) const
inlinenoexcept

◆ getVel()

double Material::getVel ( std::size_t  index,
Polar  polar 
) const
noexcept

◆ id()

std::size_t Material::id ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ initializeTables()

void Material::initializeTables ( double  low_temp,
double  high_temp,
float  temp_interval 
)

◆ max_freq_la()

double Material::max_freq_la ( ) const
inlinenoexcept

◆ max_freq_ta()

double Material::max_freq_ta ( ) const
inlinenoexcept

◆ relaxRates() [1/2]

Phonon::RelaxRates Material::relaxRates ( double  temp,
double  freq,
Polar  polarization 
) const
noexcept
Here is the caller graph for this function:

◆ relaxRates() [2/2]

Phonon::RelaxRates Material::relaxRates ( std::size_t  freq_index,
Polar  polarization,
double  temp 
) const

◆ scatterEnergy()

double Material::scatterEnergy ( double  temp) const
inline

◆ scatterTable()

const Table* Material::scatterTable ( double  temp) const
inline
Here is the caller graph for this function:

◆ setFullSimulation()

void Material::setFullSimulation ( )
inlinenoexcept

◆ theoreticalEnergy()

double Material::theoreticalEnergy ( double  temp,
bool  pseudo = false 
) const
noexcept

Member Data Documentation

◆ NUM_FREQ_BINS

constexpr std::size_t Material::NUM_FREQ_BINS = 1000
staticconstexpr

The documentation for this class was generated from the following files: