psim  1.0
Generalized 2D phonon transport using a Monte Carlo method
SensorController Class Referenceabstract

#include <sensorController.h>

Inheritance diagram for SensorController:
[legend]
Collaboration diagram for SensorController:
[legend]

Public Member Functions

 SensorController (const Material &material, double t_init, std::size_t num_measurements=0)
 
virtual ~SensorController ()=default
 
 SensorController (const SensorController &)=default
 
 SensorController (SensorController &&) noexcept=default
 
SensorControlleroperator= (const SensorController &)=delete
 
SensorControlleroperator= (SensorController &&) noexcept=delete
 
const MaterialgetMaterial () const noexcept
 
double getHeatCapacityAtFreq (std::size_t freq_index) const noexcept
 
virtual double getHeatCapacity (std::size_t step) const noexcept=0
 
virtual double getInitTemp () const noexcept=0
 
virtual double getSteadyTemp (std::size_t step) const noexcept=0
 
void initialUpdate (Phonon &p, const Material::Table &table) const noexcept
 
void initialUpdate (Phonon &p) const noexcept
 
virtual void updateTables ()
 
virtual void scatterUpdate (Phonon &p) const noexcept
 
virtual bool resetRequired (double t_final, std::vector< double > &&) noexcept
 
virtual void reset () noexcept=0
 

Protected Attributes

const Materialmaterial_
 
double t_init_
 
std::size_t num_measurements_
 
double t_steady_ { 0. }
 
double heat_capacity_ { 0. }
 
const Material::Tablebase_table_ { nullptr }
 
const Material::Tablescatter_table_ { nullptr }
 
std::vector< const Material::Table * > scatter_tables_
 
std::vector< double > heat_capacities_
 
std::vector< double > steady_temps_
 

Constructor & Destructor Documentation

◆ SensorController() [1/3]

SensorController::SensorController ( const Material material,
double  t_init,
std::size_t  num_measurements = 0 
)

◆ ~SensorController()

virtual SensorController::~SensorController ( )
virtualdefault

◆ SensorController() [2/3]

SensorController::SensorController ( const SensorController )
default

◆ SensorController() [3/3]

SensorController::SensorController ( SensorController &&  )
defaultnoexcept

Member Function Documentation

◆ getHeatCapacity()

virtual double SensorController::getHeatCapacity ( std::size_t  step) const
pure virtualnoexcept

Implemented in TransientController.

◆ getHeatCapacityAtFreq()

double SensorController::getHeatCapacityAtFreq ( std::size_t  freq_index) const
noexcept

◆ getInitTemp()

virtual double SensorController::getInitTemp ( ) const
pure virtualnoexcept

◆ getMaterial()

const Material& SensorController::getMaterial ( ) const
inlinenoexcept

◆ getSteadyTemp()

virtual double SensorController::getSteadyTemp ( std::size_t  step) const
pure virtualnoexcept

Implemented in TransientController.

◆ initialUpdate() [1/2]

void SensorController::initialUpdate ( Phonon p) const
noexcept
Here is the call graph for this function:

◆ initialUpdate() [2/2]

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

◆ operator=() [1/2]

SensorController& SensorController::operator= ( const SensorController )
delete

◆ operator=() [2/2]

SensorController& SensorController::operator= ( SensorController &&  )
deletenoexcept

◆ reset()

virtual void SensorController::reset ( )
pure virtualnoexcept

◆ resetRequired()

bool SensorController::resetRequired ( double  t_final,
std::vector< double > &&   
)
virtualnoexcept

Returns true if the input sensor's temperature has not significantly changed over the course of the simulation

Parameters
t_final- The temperature at the end of the run
final_temps- A vector of temperature from the previous measurement steps -> for transient simulations
Returns
- true if the temp of this sensor is unstable (final temp not within some percentage of initial temp)

◆ scatterUpdate()

void SensorController::scatterUpdate ( Phonon p) const
virtualnoexcept

Reimplemented in TransientController.

Here is the call graph for this function:

◆ updateTables()

void SensorController::updateTables ( )
virtual
Here is the call graph for this function:

Member Data Documentation

◆ base_table_

const Material::Table* SensorController::base_table_ { nullptr }
protected

◆ heat_capacities_

std::vector<double> SensorController::heat_capacities_
protected

◆ heat_capacity_

double SensorController::heat_capacity_ { 0. }
protected

◆ material_

const Material& SensorController::material_
protected

◆ num_measurements_

std::size_t SensorController::num_measurements_
protected

◆ scatter_table_

const Material::Table* SensorController::scatter_table_ { nullptr }
protected

◆ scatter_tables_

std::vector<const Material::Table*> SensorController::scatter_tables_
protected

◆ steady_temps_

std::vector<double> SensorController::steady_temps_
protected

◆ t_init_

double SensorController::t_init_
protected

◆ t_steady_

double SensorController::t_steady_ { 0. }
protected

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