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

#include <cell.h>

Public Types

using Point = Geometry::Point
 
using Line = Geometry::Line
 
using Triangle = Geometry::Triangle
 

Public Member Functions

 Cell (Triangle cell, Sensor &sensor, double spec=1.)
 
const MaterialgetMaterial () const noexcept
 
std::size_t getMaterialID () const noexcept
 
std::size_t getSensorID () const noexcept
 
double getHeatCapacityAtFreq (std::size_t freq_index) const noexcept
 
double getArea () const noexcept
 
double getInitTemp () const noexcept
 
double getSteadyTemp (std::size_t step=0) const noexcept
 
const auto & getBoundaries () const noexcept
 
std::array< Line, 3 > getBoundaryLines () const noexcept
 
Point getRandPoint (double r1, double r2) const noexcept
 
void validate (const Cell &other) const
 
bool setEmitSurface (const Line &line, double temp, double duration, double start_time)
 
double getInitEnergy (double t_eq) const noexcept
 
double getEmitEnergy (double t_eq) const noexcept
 
void initialUpdate (Phonon &p, const Material::Table &table) const noexcept
 
void initialUpdate (Phonon &p) const noexcept
 
void scatterUpdate (Phonon &p) const noexcept
 
void updateEmitTables () noexcept
 
void updateHeatParams (const Phonon &p, std::size_t step) noexcept
 
void findTransitionSurface (Cell &other)
 
void handleSurfaceCollision (Phonon &p, const Point &poi, double step_time) const noexcept
 
bool operator== (const Cell &rhs) const
 
bool operator!= (const Cell &rhs) const
 

Friends

std::ostream & operator<< (std::ostream &os, const Cell &cell)
 

Member Typedef Documentation

◆ Line

◆ Point

◆ Triangle

Constructor & Destructor Documentation

◆ Cell()

Cell::Cell ( Cell::Triangle  cell,
Sensor sensor,
double  spec = 1. 
)
Here is the call graph for this function:

Member Function Documentation

◆ findTransitionSurface()

void Cell::findTransitionSurface ( Cell other)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getArea()

double Cell::getArea ( ) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBoundaries()

const auto& Cell::getBoundaries ( ) const
inlinenoexcept

◆ getBoundaryLines()

std::array< Line, 3 > Cell::getBoundaryLines ( ) const
noexcept
Here is the caller graph for this function:

◆ getEmitEnergy()

double Cell::getEmitEnergy ( double  t_eq) const
noexcept

◆ getHeatCapacityAtFreq()

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

◆ getInitEnergy()

double Cell::getInitEnergy ( double  t_eq) const
noexcept

◆ getInitTemp()

double Cell::getInitTemp ( ) const
inlinenoexcept
Here is the call graph for this function:

◆ getMaterial()

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

◆ getMaterialID()

std::size_t Cell::getMaterialID ( ) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRandPoint()

Point Cell::getRandPoint ( double  r1,
double  r2 
) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSensorID()

std::size_t Cell::getSensorID ( ) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSteadyTemp()

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

◆ handleSurfaceCollision()

void Cell::handleSurfaceCollision ( Phonon p,
const Point poi,
double  step_time 
) const
noexcept
Here is the caller graph for this function:

◆ initialUpdate() [1/2]

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

◆ initialUpdate() [2/2]

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

◆ operator!=()

bool Cell::operator!= ( const Cell rhs) const

◆ operator==()

bool Cell::operator== ( const Cell rhs) const

◆ scatterUpdate()

void Cell::scatterUpdate ( Phonon p) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setEmitSurface()

bool Cell::setEmitSurface ( const Line line,
double  temp,
double  duration,
double  start_time 
)
Here is the call graph for this function:

◆ updateEmitTables()

void Cell::updateEmitTables ( )
noexcept

◆ updateHeatParams()

void Cell::updateHeatParams ( const Phonon p,
std::size_t  step 
)
noexcept
Here is the caller graph for this function:

◆ validate()

void Cell::validate ( const Cell other) const
Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Cell cell 
)
friend

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