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

#include <surface.h>

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

Public Member Functions

 EmitSurface (Line surface_line, Cell &cell, double specularity, int norm_sign, const Material &mat, double temp, double duration, double start_time)
 
void handlePhonon (Phonon &p, double step_time) const noexcept
 
double getEmitDuration () const noexcept
 
double getTemp () const noexcept
 
const Material::TablegetTable () const noexcept
 
double getPhononTime () const noexcept
 
void updateTable ()
 
- Public Member Functions inherited from Surface
 Surface (Line surface_line, Cell &cell, double specularity, int norm_sign)
 
virtual ~Surface ()=default
 
 Surface (const Surface &)=default
 
 Surface (Surface &&) noexcept=default
 
Surfaceoperator= (const Surface &)=delete
 
Surfaceoperator= (Surface &&)=delete
 
void boundaryHandlePhonon (Phonon &p) const noexcept
 
void redirectPhonon (Phonon &p) const noexcept
 
const LinegetSurfaceLine () const noexcept
 
bool contains (const Point &point) const noexcept
 
Point getRandPoint (double r1) const noexcept
 
double getLength () const noexcept
 
double getSpecularity () const noexcept
 
Vector2D getNormal () const noexcept
 
void setNormal (Vector2D normal) noexcept
 
bool operator== (const Surface &rhs) const
 
bool operator> (const Surface &rhs) const
 

Protected Attributes

const Materialmaterial_
 
double temp_
 
const Material::Tableemit_table_ { nullptr }
 
double duration_
 
double start_time_
 
- Protected Attributes inherited from Surface
Cellcell_
 
Vector2D normal_
 
const double specularity_
 

Additional Inherited Members

- Public Types inherited from Surface
using Vector2D = Geometry::Vector2D
 
using Point = Geometry::Point
 
using Line = Geometry::Line
 

Constructor & Destructor Documentation

◆ EmitSurface()

EmitSurface::EmitSurface ( Line  surface_line,
Cell cell,
double  specularity,
int  norm_sign,
const Material mat,
double  temp,
double  duration,
double  start_time 
)

Member Function Documentation

◆ getEmitDuration()

double EmitSurface::getEmitDuration ( ) const
inlinenoexcept

◆ getPhononTime()

double EmitSurface::getPhononTime ( ) const
noexcept
Here is the call graph for this function:

◆ getTable()

const Material::Table& EmitSurface::getTable ( ) const
inlinenoexcept

◆ getTemp()

double EmitSurface::getTemp ( ) const
inlinenoexcept

◆ handlePhonon()

void EmitSurface::handlePhonon ( Phonon p,
double  step_time 
) const
noexcept
Here is the call graph for this function:

◆ updateTable()

void EmitSurface::updateTable ( )
inline
Here is the call graph for this function:

Member Data Documentation

◆ duration_

double EmitSurface::duration_
protected

◆ emit_table_

const Material::Table* EmitSurface::emit_table_ { nullptr }
protected

◆ material_

const Material& EmitSurface::material_
protected

◆ start_time_

double EmitSurface::start_time_
protected

◆ temp_

double EmitSurface::temp_
protected

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