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

#include <sensor.h>

Public Types

enum class  SimulationType { SteadyState , Periodic , Transient }
 

Public Member Functions

 Sensor (std::size_t ID, const Material &material, SimulationType type, std::size_t num_measurements, double t_init)
 
void initialUpdate (Phonon &p, const Material::Table &table) const noexcept
 
void initialUpdate (Phonon &p) const noexcept
 
void scatterUpdate (Phonon &p) const noexcept
 
void addToArea (double area) noexcept
 
bool resetRequired (double t_final, std::vector< double > &&final_temps={}) noexcept
 
std::size_t getID () const noexcept
 
const MaterialgetMaterial () const noexcept
 
double getHeatCapacity (std::size_t step=0) const noexcept
 
double getHeatCapacityAtFreq (std::size_t freq_index) const noexcept
 
double getInitTemp () const noexcept
 
double getSteadyTemp (std::size_t step=0) const noexcept
 
double getArea () const noexcept
 
const std::vector< std::array< double, 2 > > & getFluxes () const noexcept
 
const std::vector< int > & getEnergies () const noexcept
 
void updateHeatParams (const Phonon &p, std::size_t step) noexcept
 
void reset () noexcept
 
void updateTables ()
 

Member Enumeration Documentation

◆ SimulationType

Enumerator
SteadyState 
Periodic 
Transient 

Constructor & Destructor Documentation

◆ Sensor()

Sensor::Sensor ( std::size_t  ID,
const Material material,
SimulationType  type,
std::size_t  num_measurements,
double  t_init 
)

Member Function Documentation

◆ addToArea()

void Sensor::addToArea ( double  area)
inlinenoexcept
Here is the caller graph for this function:

◆ getArea()

double Sensor::getArea ( ) const
inlinenoexcept

◆ getEnergies()

const std::vector<int>& Sensor::getEnergies ( ) const
inlinenoexcept

◆ getFluxes()

const std::vector<std::array<double, 2> >& Sensor::getFluxes ( ) const
inlinenoexcept

◆ getHeatCapacity()

double Sensor::getHeatCapacity ( std::size_t  step = 0) const
inlinenoexcept

◆ getHeatCapacityAtFreq()

double Sensor::getHeatCapacityAtFreq ( std::size_t  freq_index) const
inlinenoexcept
Here is the caller graph for this function:

◆ getID()

std::size_t Sensor::getID ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getInitTemp()

double Sensor::getInitTemp ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getMaterial()

const Material& Sensor::getMaterial ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getSteadyTemp()

double Sensor::getSteadyTemp ( std::size_t  step = 0) const
inlinenoexcept
Here is the caller graph for this function:

◆ initialUpdate() [1/2]

void Sensor::initialUpdate ( Phonon p) const
noexcept

◆ initialUpdate() [2/2]

void Sensor::initialUpdate ( Phonon p,
const Material::Table table 
) const
noexcept
Here is the caller graph for this function:

◆ reset()

void Sensor::reset ( )
noexcept

◆ resetRequired()

bool Sensor::resetRequired ( double  t_final,
std::vector< double > &&  final_temps = {} 
)
noexcept

◆ scatterUpdate()

void Sensor::scatterUpdate ( Phonon p) const
noexcept
Here is the caller graph for this function:

◆ updateHeatParams()

void Sensor::updateHeatParams ( const Phonon p,
std::size_t  step 
)
noexcept

Updates the heat parameters (inc_energy_ & inc_flux_) at the given measurement step

Parameters
Phonon- The phonon that is transferring heat/flux to the system
step- The measurement step to update

◆ updateTables()

void Sensor::updateTables ( )
inline

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